Restructure top-level makefile to have different targets for C and
authorChris Hanson <org/chris-hanson/cph>
Tue, 8 May 2007 12:54:52 +0000 (12:54 +0000)
committerChris Hanson <org/chris-hanson/cph>
Tue, 8 May 2007 12:54:52 +0000 (12:54 +0000)
native compilation.

v7/src/Makefile.in
v7/src/configure.ac
v7/src/etc/c-boot-compiler.sh
v7/src/etc/c-prepare.sh

index a938567c7cbdb052c99be51f1b0e2f1028af16f5..98fb94b368c5ebe45e6596c508413c1c66a50988 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Makefile.in,v 1.35 2007/05/06 14:16:49 cph Exp $
+# $Id: Makefile.in,v 1.36 2007/05/08 12:54:52 cph Exp $
 #
 # Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
 #     1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
@@ -68,27 +68,34 @@ INSTALLED_SUBDIRS = microcode runtime cref edwin imail sos ssp star-parser \
 AUXDIR = @AUXDIR@
 EDETC = $(AUXDIR)/edwin/etc
 
-COMPILE_SCRIPT = @COMPILE_SCRIPT@
+all: all-microcode @ALL_TARGET@ all-bands
 
-all:
+all-microcode:
        ( cd microcode && $(MAKE) all )
-       $(srcdir)/etc/$(COMPILE_SCRIPT)
+
+all-native:
+       $(srcdir)/etc/compile.sh
+
+all-c:
+       $(srcdir)/etc/c-compile.sh
        ( cd microcode && $(MAKE) liarc-bundles )
+
+all-bands:
        $(srcdir)/etc/build-bands.sh
 
 c: c-boot-compiler.com
-       $(srcdir)/etc/c-prepare.sh
+       $(srcdir)/etc/c-prepare.sh mit-scheme --band $<
        -rm -f liarc.stamp
        echo "done" > liarc.stamp
 
 native: native-boot-compiler.com
-       $(srcdir)/etc/compile.sh mit-scheme-c --band native-boot-compiler.com
+       $(srcdir)/etc/compile.sh mit-scheme-c --band $<
 
 c-boot-compiler.com:
-       $(srcdir)/etc/c-boot-compiler.sh mit-scheme c-boot-compiler
+       $(srcdir)/etc/c-boot-compiler.sh mit-scheme $@
 
 native-boot-compiler.com:
-       $(srcdir)/etc/c-boot-compiler.sh mit-scheme-c native-boot-compiler
+       $(srcdir)/etc/c-boot-compiler.sh mit-scheme-c $@
 
 mostlyclean clean distclean maintainer-clean c-clean:
        $(srcdir)/Clean.sh $@ $(SUBDIRS)
@@ -109,5 +116,5 @@ install:
        $(mkinstalldirs) $(DESTDIR)$(EDETC)
        $(INSTALL_DATA) $(srcdir)/etc/TUTORIAL $(DESTDIR)$(EDETC)/.
 
-.PHONY: all mostlyclean clean distclean maintainer-clean tags TAGS install
-.PHONY: c c-clean
+.PHONY: all all-microcode all-native all-c all-bands c native install
+.PHONY: mostlyclean clean distclean maintainer-clean c-clean tags TAGS
index 9f1c55a38a182956a021fc3701c9dd1ceca3cf3a..f8ba024b86e95a446eff4122ceeaeb37c7892dfc 100644 (file)
@@ -1,7 +1,7 @@
 dnl Process this file with autoconf to produce a configure script.
 
 AC_INIT([MIT/GNU Scheme], [7.7.91], [bug-mit-scheme@gnu.org], [mit-scheme])
-AC_REVISION([$Id: configure.ac,v 1.10 2007/05/04 01:27:24 cph Exp $])
+AC_REVISION([$Id: configure.ac,v 1.11 2007/05/08 12:54:52 cph Exp $])
 AC_CONFIG_SRCDIR([microcode/boot.c])
 AC_PROG_MAKE_SET
 
@@ -39,18 +39,18 @@ fi
 
 case ${enable_native_code} in
 c)
-    COMPILE_SCRIPT=c-compile.sh
+    ALL_TARGET=all-c
     INSTALL_COM=:
     SYSTEM_BASE_NAME=mit-scheme-c
     ;;
 *)
-    COMPILE_SCRIPT=compile.sh
+    ALL_TARGET=all-native
     INSTALL_COM='$(INSTALL_DATA)'
     SYSTEM_BASE_NAME=mit-scheme
     ;;
 esac
 
-AC_SUBST([COMPILE_SCRIPT])
+AC_SUBST([ALL_TARGET])
 AC_SUBST([INSTALL_COM])
 
 AC_PROG_INSTALL
index 018a27da76005aa74e4a902150085ab826afb1f6..0825d6e6ed3c38204b51db77f9cc459e86c3d689 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $Id: c-boot-compiler.sh,v 1.5 2007/05/06 14:16:54 cph Exp $
+# $Id: c-boot-compiler.sh,v 1.6 2007/05/08 12:54:52 cph Exp $
 #
 # Copyright 2007 Massachusetts Institute of Technology
 #
@@ -61,5 +61,5 @@ ${CMD} <<EOF
 (begin
   (load "etc/compile.scm")
   (compile-bootstrap-3)
-  (disk-save "${OUT}.com"))
+  (disk-save "${OUT}"))
 EOF
index bf3e3c5fb872d8d0ee818588009f3eeede7c76eb..6c855f8b49ed564c6efcadf6b73bb4b32c69abcb 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $Id: c-prepare.sh,v 1.5 2007/05/06 14:17:14 cph Exp $
+# $Id: c-prepare.sh,v 1.6 2007/05/08 12:54:52 cph Exp $
 #
 # Copyright 2007 Massachusetts Institute of Technology
 #
 
 set -e
 
-if [ -z "${SCHEME_LARGE}" ]; then
-    SCHEME_LARGE="mit-scheme --heap 6000"
+if [ ${#} -eq 0 ]; then
+    SCHEME_COMPILER="mit-scheme-c --compiler"
+else
+    SCHEME_COMPILER=${1}
+    shift
+    while [ ${#} -gt 0 ]; do
+       SCHEME_COMPILER="${SCHEME_COMPILER} ${1}"
+       shift
+    done
 fi
 
-${SCHEME_LARGE} --band c-boot-compiler.com <<EOF
+SCHEME_COMPILER="${SCHEME_COMPILER} --heap 6000"
+
+echo "${SCHEME_COMPILER}"
+${SCHEME_COMPILER} <<EOF
 (begin
   (load "etc/compile.scm")
   (c-prepare))