Make changes to support maintenance of liarc with installed liarc.
authorChris Hanson <org/chris-hanson/cph>
Fri, 15 Jun 2007 18:09:15 +0000 (18:09 +0000)
committerChris Hanson <org/chris-hanson/cph>
Fri, 15 Jun 2007 18:09:15 +0000 (18:09 +0000)
Simplify top-level makefile.  Clean up boot-root and stamp files after
finishing cross compilation.

v7/src/Makefile.in
v7/src/etc/compile.sh
v7/src/etc/make-in-subdirs.sh [new file with mode: 0755]
v7/src/etc/make-liarc.sh
v7/src/etc/make-native.sh

index 571fdde2a80fce2e871486fd2914fe3c9970d1e4..9103a315817e9043b06ab5ead3fc2cd7caea4c65 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Makefile.in,v 1.44 2007/06/15 03:41:35 cph Exp $
+# $Id: Makefile.in,v 1.45 2007/06/15 18:09:11 cph Exp $
 #
 # Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
 #     1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
@@ -73,11 +73,12 @@ EDDIR = $(AUXDIR)/edwin
 all: @ALL_TARGET@
 
 all-native: compile-microcode
-       @$(top_srcdir)/etc/compile.sh
+       @$(top_srcdir)/etc/compile.sh mit-scheme --compiler
        $(MAKE) build-bands
 
 all-liarc:
-       @echo "Use etc/make-liarc.sh script."
+       @$(top_srcdir)/etc/c-compile.sh mit-scheme-c --compiler
+       $(MAKE) compile-liarc-bundles build-bands
 
 compile-microcode:
        (cd microcode && $(MAKE) all)
@@ -99,17 +100,11 @@ liarc-dist:
 # **** Build liarc from distribution ****
 
 stamp_compile-liarc-boot-bundles: stamp_install-microcode
-       @for BN in $(LIARC_BOOT_BUNDLES); do \
-           CMD="(cd $${BN} && $(MAKE) compile-liarc-bundle)";\
-           echo "$${CMD}"; eval "$${CMD}";\
-       done
+       etc/make-in-subdirs.sh compile-liarc-bundle $(LIARC_BOOT_BUNDLES)
        echo "done" > $@
 
 stamp_install-liarc-boot-bundles: stamp_compile-liarc-boot-bundles
-       @for BN in $(LIARC_BOOT_BUNDLES); do \
-           CMD="(cd $${BN} && $(MAKE) install-liarc-bundle)";\
-           echo "$${CMD}"; eval "$${CMD}";\
-       done
+       etc/make-in-subdirs.sh install-liarc-bundle $(LIARC_BOOT_BUNDLES)
        echo "done" > $@
 
 stamp_build-liarc-boot-compiler: stamp_install-liarc-boot-bundles
@@ -125,18 +120,14 @@ stamp_liarc-compile-scheme:
            --band boot-compiler.com
        echo "done" > $@
 
-stamp_compile-liarc-bundles: stamp_liarc-compile-scheme compile-microcode
-       @for BN in $(LIARC_BUNDLES); do \
-           CMD="(cd $${BN} && $(MAKE) compile-liarc-bundle)";\
-           echo "$${CMD}"; eval "$${CMD}";\
-       done
+stamp_compile-liarc-bundles: stamp_liarc-compile-scheme compile-liarc-bundles
        echo "done" > $@
 
-install-liarc-bundles: stamp_compile-liarc-bundles
-       @for BN in $(LIARC_BUNDLES); do \
-           CMD="(cd $${BN} && $(MAKE) install-liarc-bundle)";\
-           echo "$${CMD}"; eval "$${CMD}";\
-       done
+compile-liarc-bundles: compile-microcode
+       etc/make-in-subdirs.sh compile-liarc-bundle $(LIARC_BUNDLES)
+
+install-liarc-bundles:
+       etc/make-in-subdirs.sh install-liarc-bundle $(LIARC_BUNDLES)
 
 # **** Build native from liarc ****
 
@@ -157,16 +148,17 @@ stamp_native-compile-scheme: compile-microcode
 mostlyclean clean distclean maintainer-clean c-clean:
        $(top_srcdir)/Clean.sh $@ $(SUBDIRS)
 
+clean-boot-root:
+       rm -rf boot-root
+       rm -f stamp_*
+
 tags TAGS:
        $(top_srcdir)/Tags.sh $(SUBDIRS)
 
 install: install-standard @INSTALL_LIARC_BUNDLES@
 
 install-standard: install-auxdir-top
-       @for SUBDIR in $(INSTALLED_SUBDIRS); do \
-           echo "Making $@ in $${SUBDIR}";\
-           (cd $${SUBDIR}; $(MAKE) install) || exit 1;\
-       done
+       etc/make-in-subdirs.sh install $(INSTALLED_SUBDIRS)
        $(mkinstalldirs) $(DESTDIR)$(EDDIR)
        $(INSTALL_DATA) $(top_srcdir)/etc/TUTORIAL $(DESTDIR)$(EDDIR)/.
 
@@ -175,8 +167,7 @@ install-auxdir-top:
        $(INSTALL_DATA) $(top_srcdir)/etc/optiondb.scm $(DESTDIR)$(AUXDIR)/.
        $(INSTALL_DATA) lib/*.com $(DESTDIR)$(AUXDIR)/.
 
-.PHONY: all compile-microcode build-bands all-native
-.PHONY: liarc-dist install-liarc-bundles
-.PHONY: native
-.PHONY: mostlyclean clean distclean maintainer-clean c-clean
+.PHONY: all compile-microcode build-bands all-native all-liarc
+.PHONY: liarc-dist compile-liarc-bundles install-liarc-bundles native
+.PHONY: mostlyclean clean distclean maintainer-clean c-clean clean-boot-root
 .PHONY: tags TAGS install install-standard install-auxdir-top
index b1cafb606bf45acff21711292b4921f9c1f13fdf..c5657d70ca1ee7039770658b848adfa4d8767e23 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $Id: compile.sh,v 1.13 2007/06/15 03:40:14 cph Exp $
+# $Id: compile.sh,v 1.14 2007/06/15 18:09:12 cph Exp $
 #
 # Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
 #     1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
@@ -27,10 +27,6 @@ set -e
 
 . etc/functions.sh
 
-if [ ${#} -eq 0 ]; then
-    set mit-scheme --compiler
-fi
-
 run_cmd "${@}" --heap 6000 --stack 200 <<EOF
 (begin
   (load "etc/compile.scm")
diff --git a/v7/src/etc/make-in-subdirs.sh b/v7/src/etc/make-in-subdirs.sh
new file mode 100755 (executable)
index 0000000..0314ba9
--- /dev/null
@@ -0,0 +1,34 @@
+#!/bin/sh
+#
+# $Id: make-in-subdirs.sh,v 1.1 2007/06/15 18:09:12 cph Exp $
+#
+# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
+#     1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+#     2005, 2006, 2007 Massachusetts Institute of Technology
+#
+# This file is part of MIT/GNU Scheme.
+#
+# MIT/GNU Scheme is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# MIT/GNU Scheme is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with MIT/GNU Scheme; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+set -e
+
+. etc/functions.sh
+
+TARGET=${1}
+shift
+for SUBDIR in "${@}"; do
+    run_cmd_in_dir "${SUBDIR}" make "${TARGET}"
+done
index 0d38979b6625efb9ef609c46d94e8e969bbb67e7..9a6b13e96aa63c41173259da32643c03afcbfb67 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $Id: make-liarc.sh,v 1.2 2007/06/15 03:40:20 cph Exp $
+# $Id: make-liarc.sh,v 1.3 2007/06/15 18:09:14 cph Exp $
 #
 # Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
 #     1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
@@ -41,9 +41,7 @@ if [ ${FASTP} = yes ]; then
 fi
 
 run_configure --prefix=`pwd`/boot-root --enable-native-code=c
-run_make stamp_install-liarc-boot-compiler
-run_make c-clean distclean
+run_make stamp_install-liarc-boot-compiler c-clean distclean
 
 run_configure --enable-native-code=c "${@}"
-run_make stamp_compile-liarc-bundles
-run_make build-bands
+run_make stamp_compile-liarc-bundles build-bands clean-boot-root
index 599c3e3acfbef17dd13cebaaf48f2d51a5b91823..0b035a7f6ceee8fe1173336eb7f298cf8784a650 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $Id: make-native.sh,v 1.1 2007/06/15 03:41:35 cph Exp $
+# $Id: make-native.sh,v 1.2 2007/06/15 18:09:15 cph Exp $
 #
 # Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
 #     1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
@@ -54,9 +54,7 @@ run_cmd_in_dir runtime ../microcode/scheme --library ../lib \
   (finish-cross-compilation:directory ".."))
 EOF
 
-run_make stamp_install-native-boot-compiler
-run_make c-clean distclean
+run_make stamp_install-native-boot-compiler c-clean distclean
 
 run_configure "${@}"
-run_make stamp_native-compile-scheme
-run_make build-bands
+run_make stamp_native-compile-scheme build-bands clean-boot-root