# HG changeset patch # User Rob Landley # Date 1424646033 21600 # Node ID 10b64f52ad2031afb3099ae44368bd71b52c469b # Parent 50c3a15752882aa49177a4b4bafd4c86f38b202a Make tweak.sh actually work, and do less unnecessary rebuilding. diff -r 50c3a1575288 -r 10b64f52ad20 build.sh --- a/build.sh Sun Feb 22 16:56:10 2015 -0600 +++ b/build.sh Sun Feb 22 17:00:33 2015 -0600 @@ -61,6 +61,7 @@ not_already() { + [ "$AGAIN" == "$1" ] && return 0 [ "$REBUILD" == "$1" ] && zap "$1" if [ -f "$BUILD/$1-$ARCH.tar.gz" ] diff -r 50c3a1575288 -r 10b64f52ad20 more/tweak.sh --- a/more/tweak.sh Sun Feb 22 16:56:10 2015 -0600 +++ b/more/tweak.sh Sun Feb 22 17:00:33 2015 -0600 @@ -10,9 +10,12 @@ [ ! -e "$2".sh ] && echo "No stage $2" >&2 && exit 1 ARCH="$1" -export STAGE_NAME="$2" +STAGE="$2" +[ "$STAGE" == "native-compiler" ] && + STUFF='STAGE_DIR=$STAGE_DIR/usr HOST_ARCH=$ARCH' shift shift -NO_CLEANUP=1 more/test.sh "$ARCH" "$@" ";create_stage_tarball" -AFTER="$STAGE_NAME" ./build.sh "$ARCH" "$STAGE_NAME" +NO_CLEANUP=temp STAGE_NAME="$STAGE" more/test.sh "$ARCH" \ + $STUFF "$@" ";create_stage_tarball" +NO_CLEANUP=temp AFTER="$STAGE" ./build.sh "$ARCH" "$STAGE" diff -r 50c3a1575288 -r 10b64f52ad20 system-image.sh --- a/system-image.sh Sun Feb 22 16:56:10 2015 -0600 +++ b/system-image.sh Sun Feb 22 17:00:33 2015 -0600 @@ -72,17 +72,19 @@ # Build linux kernel for the target -setupfor linux -getconfig linux > mini.conf -[ "$SYSIMAGE_TYPE" == rootfs ] && - echo -e "CONFIG_INITRAMFS_SOURCE=\"$BUILD/root-filesystem-$ARCH/rootfs.cpio.gz\"\n" \ - >> mini.conf -make ARCH=${BOOT_KARCH:-$KARCH} $LINUX_FLAGS KCONFIG_ALLCONFIG=mini.conf \ - allnoconfig >/dev/null && -make -j $CPUS ARCH=${BOOT_KARCH:-$KARCH} $DO_CROSS $LINUX_FLAGS $VERBOSITY && -cp "$KERNEL_PATH" "$STAGE_DIR/linux" -cleanup - +if [ -z "$NO_CLEANUP" ] || [ ! -e "$STAGE_DIR/linux" ] +then + setupfor linux + getconfig linux > mini.conf + [ "$SYSIMAGE_TYPE" == rootfs ] && + echo -e "CONFIG_INITRAMFS_SOURCE=\"$BUILD/root-filesystem-$ARCH/rootfs.cpio.gz\"\n" \ + >> mini.conf + make ARCH=${BOOT_KARCH:-$KARCH} $LINUX_FLAGS KCONFIG_ALLCONFIG=mini.conf \ + allnoconfig >/dev/null && + make -j $CPUS ARCH=${BOOT_KARCH:-$KARCH} $DO_CROSS $LINUX_FLAGS $VERBOSITY && + cp "$KERNEL_PATH" "$STAGE_DIR/linux" + cleanup +fi # Tar it up. ARCH="$ARCH_NAME" create_stage_tarball