Fix make-array transforms.
[sbcl.git] / make-target-1.sh
index 8d44f4b..423f967 100644 (file)
@@ -1,4 +1,5 @@
 #!/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
+
+# Load our build configuration
+. output/build-config
 
 # 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.)
+#
+# Note that the latter requirement does not apply to sb-dynamic-core
+# builds, since the cross compiler does not depend on symbol tables in
+# that case.  Only because sbcl.nm is convenient for debugging purposes
+# is its generation left enabled even for those builds.
 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