Created
February 28, 2016 19:42
-
-
Save paulc/1c7e4734c690255b877d to your computer and use it in GitHub Desktop.
AMD64 Build Script
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| export CC="${CC:-}" | |
| export BUILDDIR="${BUILDDIR:-$(pwd)}" | |
| export SRCDIR="${SRCDIR:-${BUILDDIR}/src}" | |
| export MAKEOBJDIRPREFIX="${MAKEOBJDIRPREFIX:-${BUILDDIR}/obj-amd64}" | |
| export DESTDIR="${DESTDIR:-${BUILDDIR}/dest-amd64}" | |
| export KERNCONF="${KERNCONF:-GENERIC}" | |
| export TARGET_ARCH="${TARGET_ARCH:-amd64}" | |
| set -e | |
| buildworld() { | |
| ( | |
| cd "${SRCDIR}" | |
| make -j$(sysctl -n hw.ncpu) buildworld TARGET_ARCH="${TARGET_ARCH}" | |
| make -j$(sysctl -n hw.ncpu) buildkernel TARGET_ARCH="${TARGET_ARCH}" KERNCONF="${KERNCONF}" | |
| ) | |
| } | |
| buildkernel() { | |
| ( | |
| cd "${SRCDIR}" | |
| make -j$(sysctl -n hw.ncpu) buildkernel TARGET_ARCH="${TARGET_ARCH}" KERNCONF="${KERNCONF}" | |
| ) | |
| } | |
| install() { | |
| ( | |
| cd "${SRCDIR}" | |
| sudo -E make -j$(sysctl -n hw.ncpu) installworld TARGET_ARCH="${TARGET_ARCH}" DESTDIR="${DESTDIR}" | |
| sudo -E make -j$(sysctl -n hw.ncpu) distribution TARGET_ARCH="${TARGET_ARCH}" DESTDIR="${DESTDIR}" | |
| sudo -E make -j$(sysctl -n hw.ncpu) installkernel TARGET_ARCH="${TARGET_ARCH}" KERNCONF="${KERNCONF}" DESTDIR="${DESTDIR}" | |
| ) | |
| } | |
| targets() { | |
| echo -n "Usage: $0 " | |
| sed -ne '/targets/d' -e 's/\(^[a-zA-Z][^(]*\)().*/\1/p' $0 | tr '\n' '|' | sed -e 's/.$//' | |
| echo | |
| echo " CC=${CC}" | |
| echo " BUILDDIR=${BUILDDIR}" | |
| echo " SRCDIR=${SRCDIR}" | |
| echo " MAKEOBJDIRPREFIX=${MAKEOBJDIRPREFIX}" | |
| echo " DESTDIR=${DESTDIR}" | |
| echo " KERNCONF=${KERNCONF}" | |
| echo " TARGET_ARCH=${TARGET_ARCH}" | |
| echo | |
| } | |
| if [ -z "$1" ] | |
| then | |
| targets | |
| else | |
| $1 | |
| fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment