Skip to content

Instantly share code, notes, and snippets.

@paulc
Created February 28, 2016 19:42
Show Gist options
  • Save paulc/1c7e4734c690255b877d to your computer and use it in GitHub Desktop.
Save paulc/1c7e4734c690255b877d to your computer and use it in GitHub Desktop.
AMD64 Build Script
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