#!/bin/sh
+set -e
# This is a script to be run as part of make.sh. The only time you'd
# want to run it by itself is if you're trying to cross-compile the
echo //entering make-target-1.sh
-# the GNU dialect of "make" -- easier to find or port it than to
-# try to figure out how to port to the local dialect...
-if [ "$GNUMAKE" != "" ] ; then
- # The user is evidently trying to tell us something.
- gnumake="$GNUMAKE"
-elif [ -x `which gmake` ] ; then
- # "gmake" is the preferred name in *BSD.
- gnumake=gmake
-else
- # All the world's a Linux, and all its users weary of cautious
- # BSDish worries that "make" might not be GNU make; and at this
- # point we've already spent quite a while in make-host-1.sh, so
- # they're naturally unamused when we bail out complaining we don't
- # know where GNU make is. So since it's not really any worse to guess
- # wrong here than to fail by not trying, just guess that "make" is
- # GNU make and hope for the best.
- gnumake=make
-fi
+LANG=C
+LC_ALL=C
+export LANG LC_ALL
# Build the runtime system and symbol table (.nm) file.
#
# (This C build has to come after the first genesis in order to get
# the sbcl.h the C build needs, and come before the second genesis in
-# order to produce the symbol table file that second genesis needs. It
+# order to produce the symbol table file that second genesis needs. It
# could come either before or after running the cross compiler; that
# doesn't matter.)
echo //building runtime system and symbol table file
-cd src/runtime
-$gnumake clean || exit 1
-$gnumake depend || exit 1
-$gnumake all || exit 1
-cd ../..
+
+# The clean is needed for Darwin's readonlyspace hack.
+$GNUMAKE -C src/runtime clean
+# $GNUMAKE -C src/runtime depend
+$GNUMAKE -C src/runtime all
# Use a little C program to grab stuff from the C header files and
# smash it into Lisp source code.
-cd tools-for-build
-$gnumake grovel_headers || exit 1
-cd ..
-tools-for-build/grovel_headers > output/stuff-groveled-from-headers.lisp
+$GNUMAKE -C tools-for-build -I../src/runtime grovel-headers
+tools-for-build/grovel-headers > output/stuff-groveled-from-headers.lisp
+
+$GNUMAKE -C src/runtime after-grovel-headers