#!/bin/sh SRCBASE=/src/ CLEAN_FLAGS="-DNO_CLEAN -DNO_KERNELCLEAN -DNO_KERNELCONFIG -DNO_KERNELDEPEND -DNO_MODULES" export SRCROOT=$SRCBASE/FreeBSD/head export TARGET_ARCH=mips export XDEV=mips export XDEV_ARCH=mips # export KERNCONF=AR71XX # export KERNCONF=PFSENSE export KERNCONF=AURORA export MAKEOBJDIRPREFIX=$SRCBASE/FreeBSD/obj/head-mips DESTDIR=$SRCBASE/FreeBSD/tftproot/ args=`getopt twkiucx $*` BUILD_TOOLCHAIN=no BUILD_KERNEL=no BUILD_WORLD=no BUILD_XDEV=no INSTALL_WORLD=no CLEAN=no SMPFLAGS="-j3" MAKEFLAGS="WITHOUT_CDDL=yes" ENDIANFLAGS="-DTARGET_BIG_ENDIAN" if [ $? -ne 0 ] then echo 'Usage: build.sh -tukwi' exit 2 fi set -- $args for i do case "$i" in -t) BUILD_TOOLCHAIN=yes; shift;; -k) BUILD_KERNEL=yes; shift;; -w) BUILD_WORLD=yes; shift;; -x) BUILD_XDEV=yes; shift;; -i) INSTALL_WORLD=yes; shift;; -c) CLEAN=yes; shift;; -u) SMPFLAGS=""; echo UNI; shift;; --) shift; break;; esac done if [ "x$CLEAN" = "xyes" ]; then CLEAN_FLAGS=""; fi set -x cd $SRCROOT || exit 1 if [ "x$BUILD_TOOLCHAIN" = "xyes" ]; then make $MAKEFLAGS $SMPFLAGS $CLEAN_FLAGS $ENDIANFLAGS kernel-toolchain; fi if [ "x$BUILD_XDEV" = "xyes" ]; then make DESTDIR=$SRCBASE/FreeBSD/opt $MAKEFLAGS $SMPFLAGS $CLEAN_FLAGS $ENDIANFLAGS xdev-build sudo -E make DESTDIR=$SRCBASE/FreeBSD/opt $MAKEFLAGS $SMPFLAGS $CLEAN_FLAGS $ENDIANFLAGS xdev-install fi if [ "x$BUILD_KERNEL" = "xyes" ]; then make $MAKEFLAGS $SMPFLAGS $ENDIANFLAGS $CLEAN_FLAGS buildkernel; KERNOBJDIR=$MAKEOBJDIRPREFIX/$TARGET_ARCH/$SRCROOT/sys/$KERNCONF cp $KERNOBJDIR/kernel $SRCBASE/FreeBSD/tftpboot/ cp $KERNOBJDIR/kernel.debug $SRCBASE/FreeBSD/tftpboot/ cp $KERNOBJDIR/kernel.tramp.* $SRCBASE/FreeBSD/tftpboot/ fi if [ "x$BUILD_WORLD" = "xyes" ]; then make $MAKEFLAGS $SMPFLAGS NO_MODULES=yes $CLEAN_FLAGS NO_KERBEROS=yes \ WITHOUT_ACPI=yes \ NO_RESCUE=1 NO_PROFILE=1 \ NO_GAMES=1 \ NO_IPX=1 WITHOUT_ATM=1 $ENDIANFLAGS -d l buildworld; # SUBDIR_OVERRIDE=usr.bin/top \ fi if [ "x$INSTALL_WORLD" = "xyes" ]; then sudo -E make $MAKEFLAGS $SMPFLAGS NO_MODULES=yes $CLEAN_FLAGS NO_KERBEROS=yes \ WITHOUT_ACPI=yes NO_CLEAN=yes DESTDIR=$DESTDIR\ NO_KERBEROS=1 NO_RESCUE=1 NO_MAN=1 NO_PROFILE=1 \ NO_GAMES=1 \ NO_IPX=1 WITHOUT_ATM=1 $ENDIANFLAGS installworld sudo -E make $MAKEFLAGS $SMPFLAGS NO_MODULES=yes $CLEAN_FLAGS NO_KERBEROS=yes \ WITHOUT_ACPI=yes NO_CLEAN=yes DESTDIR=$DESTDIR\ NO_KERBEROS=1 NO_RESCUE=1 NO_MAN=1 NO_PROFILE=1 \ NO_GAMES=1\ NO_IPX=1 WITHOUT_ATM=1 $ENDIANFLAGS distribution # sudo -E cp fstab rc.conf wpa_supplicant.conf $DESTDIR/etc fi # cp $HOME/FreeBSD/mips.build/mips${SRCROOT}/sys/${KERNCONF}/kernel /tftpboot/ # cp $HOME/FreeBSD/mips.build/mips${SRCROOT}/sys/${KERNCONF}/kernel.debug /tftpboot/