Redesign the structure for setup and clean rules. New structure uses
authorChris Hanson <org/chris-hanson/cph>
Fri, 8 Dec 2000 04:52:44 +0000 (04:52 +0000)
committerChris Hanson <org/chris-hanson/cph>
Fri, 8 Dec 2000 04:52:44 +0000 (04:52 +0000)
shell scripts in each directory, which the makefiles refer to.  This
greatly simplifies the configuration code because it was getting too
painful to put complex shell scripts inside the makefiles.

17 files changed:
v7/src/Clean.sh [new file with mode: 0755]
v7/src/Makefile
v7/src/Makefile.std
v7/src/Setup.sh [moved from v7/src/etc/create-dirs.sh with 75% similarity]
v7/src/cref/Clean.sh [moved from v7/src/microcode/Mclean.sh with 69% similarity]
v7/src/edwin/Clean.sh [new file with mode: 0755]
v7/src/etc/Clean.sh [new file with mode: 0755]
v7/src/etc/Setup.sh [new file with mode: 0755]
v7/src/etc/Stage.sh [new file with mode: 0755]
v7/src/etc/bootstrap-compile.scm [deleted file]
v7/src/etc/bootstrap.sh [deleted file]
v7/src/etc/build-compiler.scm [deleted file]
v7/src/etc/build-edwin.scm [deleted file]
v7/src/etc/build-runtime.scm [deleted file]
v7/src/etc/build-tree.sh [deleted file]
v7/src/etc/runtime-check.cbf [deleted file]
v7/src/microcode/Clean.sh [new file with mode: 0755]

diff --git a/v7/src/Clean.sh b/v7/src/Clean.sh
new file mode 100755 (executable)
index 0000000..0be20b1
--- /dev/null
@@ -0,0 +1,52 @@
+#!/bin/sh
+#
+# $Id: Clean.sh,v 1.1 2000/12/08 04:49:28 cph Exp $
+#
+# Copyright (c) 2000 Massachusetts Institute of Technology
+#
+# This program 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.
+#
+# This program 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 this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+# Utility for cleaning up MIT Scheme build directories.
+# The working directory must be the top-level source directory.
+
+if [ $# -le 1 ]; then
+    echo "usage: $0 <command> <directory> ..."
+    exit 1
+fi
+
+COMMAND=$1
+shift
+
+case "${COMMAND}" in
+mostlyclean)
+    ;;
+clean | distclean)
+    rm -f lib/*.com
+    ;;
+maintainer-clean)
+    rm -rf lib
+    ;;
+*)
+    echo "$0: Unknown command ${COMMAND}"
+    exit 1
+    ;;
+esac
+
+for SUBDIR; do
+    if test -x $${SUBDIR}/Clean.sh; then
+       echo "making ${COMMAND} in $${SUBDIR}"
+       ( cd $${SUBDIR} && ./Clean.sh ${COMMAND} ) || exit 1
+    fi
+done
index b261da7540af5dcaa2dabe796a0042bbf3440bc6..e80cd1ed6514d9140b8651a8c02646ff5816711f 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.16 2000/12/07 23:06:27 cph Exp $
+# $Id: Makefile,v 1.17 2000/12/08 04:49:31 cph Exp $
 #
 # Copyright (c) 2000 Massachusetts Institute of Technology
 #
 
 SHELL = /bin/sh
 
-SCHEME_SUBDIRS = 6001 compiler cref edwin imail rcs \
-       runtime runtime-check sf sos win32
-SUBDIRS = $(SCHEME_SUBDIRS) microcode
+SUBDIRS = 6001 compiler cref edwin imail microcode \
+         rcs runtime runtime-check sf sos win32
 
 all:
        ( cd microcode && $(MAKE) $@ )
-       etc/create-dirs.sh
        scheme -compiler -heap 4000 < etc/compile.scm
        etc/build-bands.sh
 
 setup:
-       @for SUBDIR in $(SCHEME_SUBDIRS); do \
-           echo "making $@ in $${SUBDIR}"; \
-           test -e $${SUBDIR}/Makefile \
-           || ln -s ../Makefile.std $${SUBDIR}/Makefile; \
-           ( cd $${SUBDIR} && $(MAKE) $@ ) || exit 1; \
-       done
-       ( cd microcode && ./Setup.sh )
+       ./Setup.sh $(SUBDIRS)
+
+mostlyclean clean distclean maintainer-clean:
+       ./Clean.sh $@ $(SUBDIRS)
 
 tags TAGS:
        @for SUBDIR in $(SUBDIRS); do \
@@ -43,49 +38,4 @@ tags TAGS:
            ( cd $${SUBDIR} && $(MAKE) $@ ) || exit 1; \
        done
 
-mostlyclean: mostlyclean-extra
-       @for SUBDIR in $(SUBDIRS); do \
-           if test -e $${SUBDIR}/Makefile; then \
-               echo "making $@ in $${SUBDIR}"; \
-               ( cd $${SUBDIR} && $(MAKE) $@ ); \
-           fi; \
-       done
-
-mostlyclean-extra:
-
-clean: clean-extra
-       @for SUBDIR in $(SUBDIRS); do \
-           if test -e $${SUBDIR}/Makefile; then \
-               echo "making $@ in $${SUBDIR}"; \
-               ( cd $${SUBDIR} && $(MAKE) $@ ); \
-           fi; \
-       done
-
-clean-extra: mostlyclean-extra
-       -rm -f lib/*.com
-
-distclean: distclean-extra
-       @for SUBDIR in $(SUBDIRS); do \
-           if test -e $${SUBDIR}/Makefile; then \
-               echo "making $@ in $${SUBDIR}"; \
-               ( cd $${SUBDIR} && $(MAKE) $@ ); \
-           fi; \
-       done
-
-distclean-extra: clean-extra
-       rm -rf lib
-
-maintainer-clean: maintainer-clean-extra
-       @for SUBDIR in $(SCHEME_SUBDIRS); do \
-           if test -e $${SUBDIR}/Makefile; then \
-               echo "making $@ in $${SUBDIR}"; \
-               ( cd $${SUBDIR} && $(MAKE) $@ ); \
-           fi; \
-       done
-       ( cd microcode && ./Mclean.sh )
-
-maintainer-clean-extra: distclean-extra
-
-.PHONY: all setup tags TAGS
-.PHONY: mostlyclean mostlyclean-extra clean clean-extra
-.PHONY: distclean distclean-extra maintainer-clean maintainer-clean-extra
+.PHONY: all setup mostlyclean clean distclean maintainer-clean tags TAGS
index fc0e123ba726ff59966439efb53e0530d5dc992e..f6fbe5ab7daaa8ad9bc38931890076146b54b7c6 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Makefile.std,v 1.8 2000/12/07 22:20:38 cph Exp $
+# $Id: Makefile.std,v 1.9 2000/12/08 04:49:34 cph Exp $
 #
 # Copyright (c) 2000 Massachusetts Institute of Technology
 #
@@ -27,78 +27,31 @@ all:
        echo "No ALL action"
 
 setup:
-       test ! -e ed-ffi.scm \
-       || test -e .edwin-ffi \
-       || ln -s ed-ffi.scm .edwin-ffi
+       ./Setup.sh
 
 tags TAGS:
        etags *.scm
 
-mostlyclean:
-       rm -f *.bin *.ext *.com *.bci *.bco *.bld *.crf *.fre *.glo
-       @for FN in *.con; do \
-           test "${FN}" = "triv.con" \
-           || rm -f "${FN}"; \
-       done
-       @for FN in *.ldr; do \
-           test "${FN}" = "edwin.ldr" \
-           || test "${FN}" = "triv.ldr" \
-           || rm -f "${FN}"; \
-       done
-
-clean: mostlyclean
-
-distclean: clean
-
-maintainer-clean: distclean
-       rm -f Makefile .edwin-ffi
+mostlyclean clean distclean maintainer-clean:
+       ./Clean.sh $@
 
 stage1:
-       mkdir STAGE1 && mv -f *.com *.bci STAGE1/.
+       ./Stage.sh make 1
 
 unstage1:
-       mv -f STAGE1/* . && rmdir STAGE1
-
-rmstage1:
-       rm -rf STAGE1
-
-cpstage1:
-       cp -p STAGE1/* .
-
-lnstage1:
-       ln -f STAGE1/* .
+       ./Stage.sh unmake 1
 
 stage2:
-       mkdir STAGE2 && mv -f *.com *.bci STAGE2/.
+       ./Stage.sh make 2
 
 unstage2:
-       mv -f STAGE2/* . && rmdir STAGE2
-
-rmstage2:
-       rm -rf STAGE2
-
-cpstage2:
-       cp -p STAGE2/* .
-
-lnstage2:
-       ln -f STAGE2/* .
+       ./Stage.sh unmake 2
 
 stage3:
-       mkdir STAGE3 && mv -f *.com *.bci STAGE3/.
+       ./Stage.sh make 3
 
 unstage3:
-       mv -f STAGE3/* . && rmdir STAGE3
-
-rmstage3:
-       rm -rf STAGE3
-
-cpstage3:
-       cp -p STAGE3/* .
-
-lnstage3:
-       ln -f STAGE3/* .
+       ./Stage.sh unmake 3
 
 .PHONY: all setup tags TAGS mostlyclean clean distclean maintainer-clean
-.PHONY: stage1 unstage1 rmstage1 cpstage1 lnstage1
-.PHONY: stage2 unstage2 rmstage2 cpstage2 lnstage2
-.PHONY: stage3 unstage3 rmstage3 cpstage3 lnstage3
+.PHONY: stage1 unstage1 stage2 unstage2 stage3 unstage3
similarity index 75%
rename from v7/src/etc/create-dirs.sh
rename to v7/src/Setup.sh
index 51a734deac89cbd2e725f874890f7d07791a686e..df0a8b7a03f00ee6ba827cd93d211c1a91cf4913 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $Id: create-dirs.sh,v 1.7 2000/12/07 23:05:08 cph Exp $
+# $Id: Setup.sh,v 1.1 2000/12/08 04:49:37 cph Exp $
 #
 # Copyright (c) 2000 Massachusetts Institute of Technology
 #
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
-# Create build directories and links.
+# Utility to set up the MIT Scheme build directories.
+# The working directory must be the top-level source directory.
 
 maybe_mkdir ()
 {
-    if test ! -e ${1}; then
+    if [ ! -e ${1} ]; then
        echo "mkdir ${1}"
        mkdir ${1}
     fi
@@ -30,7 +31,7 @@ maybe_mkdir ()
 
 maybe_link ()
 {
-    if test ! -e ${1}; then
+    if [ ! -e ${1} ]; then
        echo "ln -s ${2} ${1}"
        ln -s ${2} ${1}
     fi
@@ -48,3 +49,9 @@ maybe_mkdir lib/edwin
 maybe_mkdir lib/edwin/etc
 maybe_mkdir lib/edwin/info
 maybe_link lib/edwin/autoload ../../edwin
+
+for SUBDIR in "$@"; do
+    echo "setting up ${SUBDIR}"
+    maybe_link ${SUBDIR}/Setup.sh ../etc/Setup.sh
+    ( cd ${SUBDIR} && ./Setup.sh ) || exit 1
+done
similarity index 69%
rename from v7/src/microcode/Mclean.sh
rename to v7/src/cref/Clean.sh
index 0dcf6be7b68522eab5e640fce6830ddf151d0e6f..f5d0d5b13680b4bd3acce59381f6f4c4300db061 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
-
-# $Id: Mclean.sh,v 1.3 2000/12/06 05:54:55 cph Exp $
+#
+# $Id: Clean.sh,v 1.1 2000/12/08 04:50:44 cph Exp $
 #
 # Copyright (c) 2000 Massachusetts Institute of Technology
 #
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
-# Program to do "maintainer-clean" rule.
+# Utility for cleaning up the MIT Scheme cref directory.
+# The working directory must be the cref directory.
+
+if [ $# -ne 1 ]; then
+    echo "usage: $0 <command>"
+    exit 1
+fi
+
+../etc/Clean.sh "${1}" recursive
+
+echo "rm -f cref.con cref.ldr"
+rm -f cref.con cref.ldr
 
-test ! -f Makefile && test -f configure && ./configure
-test ! -f Makefile || make maintainer-clean
+exit 0
diff --git a/v7/src/edwin/Clean.sh b/v7/src/edwin/Clean.sh
new file mode 100755 (executable)
index 0000000..6a494c9
--- /dev/null
@@ -0,0 +1,34 @@
+#!/bin/sh
+#
+# $Id: Clean.sh,v 1.1 2000/12/08 04:50:26 cph Exp $
+#
+# Copyright (c) 2000 Massachusetts Institute of Technology
+#
+# This program 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.
+#
+# This program 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 this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+# Utility for cleaning up the MIT Scheme edwin directory.
+# The working directory must be the edwin directory.
+
+if [ $# -ne 1 ]; then
+    echo "usage: $0 <command>"
+    exit 1
+fi
+
+../etc/Clean.sh "${1}" recursive
+
+echo "rm -f edwin.bld edwinunx.* edwinw32.* edwinos2.*"
+rm -f edwin.bld edwinunx.* edwinw32.* edwinos2.*
+
+exit 0
diff --git a/v7/src/etc/Clean.sh b/v7/src/etc/Clean.sh
new file mode 100755 (executable)
index 0000000..da0db4f
--- /dev/null
@@ -0,0 +1,58 @@
+#!/bin/sh
+#
+# $Id: Clean.sh,v 1.1 2000/12/08 04:49:54 cph Exp $
+#
+# Copyright (c) 2000 Massachusetts Institute of Technology
+#
+# This program 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.
+#
+# This program 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 this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+# Utility for cleaning up an MIT Scheme build directory.
+# The working directory must be the build directory.
+
+if [ $# -eq 1 ]; then
+    RECURSIVE=no
+elif [ $# -eq 2 ] && [ "${2}" = "recursive" ]; then
+    RECURSIVE=yes
+else
+    echo "usage: $0 <command> [recursive]"
+    exit 1
+fi
+
+case "${1}" in
+mostlyclean | clean | distclean)
+    ;;
+maintainer-clean)
+    for FN in .edwin-ffi Clean.sh Makefile Setup.sh Stage.sh; do
+       if [ -L ${FN} ]; then
+           echo "rm ${FN}"
+           rm ${FN}
+       fi
+    done
+    ;;
+*)
+    echo "$0: Unknown command ${1}"
+    exit 1
+    ;;
+esac
+
+echo "rm -f *.bin *.ext *.com *.bci *.bco *.bld *.crf *.fre *.glo"
+rm -f *.bin *.ext *.com *.bci *.bco *.bld *.crf *.fre *.glo
+
+if [ ${RECURSIVE} = no ]; then
+    echo "rm -f *.con *.ldr"
+    rm -f *.con *.ldr
+fi
+
+exit 0
diff --git a/v7/src/etc/Setup.sh b/v7/src/etc/Setup.sh
new file mode 100755 (executable)
index 0000000..d4efd2e
--- /dev/null
@@ -0,0 +1,44 @@
+#!/bin/sh
+#
+# $Id: Setup.sh,v 1.1 2000/12/08 04:49:57 cph Exp $
+#
+# Copyright (c) 2000 Massachusetts Institute of Technology
+#
+# This program 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.
+#
+# This program 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 this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+# Utility to set up an MIT Scheme build directory.
+# The working directory must be the build directory.
+
+if [ $# -ne 0 ]; then
+    echo "usage: $0"
+    exit 1
+fi
+
+maybe_link ()
+{
+    if [ ! -e ${1} ]; then
+       echo "ln -s ${2} ${1}"
+       ln -s ${2} ${1}
+    fi
+}
+
+maybe_link ${SUBDIR}/Makefile ../etc/Makefile.std
+for FN in Clean.sh Stage.sh; do
+    maybe_link ${SUBDIR}/${FN} ../etc/${FN}
+done
+
+[ -e ed-ffi.scm ] && maybe_link .edwin-ffi ed-ffi.scm
+
+exit 0
diff --git a/v7/src/etc/Stage.sh b/v7/src/etc/Stage.sh
new file mode 100755 (executable)
index 0000000..fd0eaa2
--- /dev/null
@@ -0,0 +1,52 @@
+#!/bin/sh
+#
+# $Id: Stage.sh,v 1.1 2000/12/08 04:49:59 cph Exp $
+#
+# Copyright (c) 2000 Massachusetts Institute of Technology
+#
+# This program 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.
+#
+# This program 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 this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+# Utility for MIT Scheme compiler staging.
+
+if [ $# -ne 2 ]; then
+    echo "usage: $0 <command> <tag>"
+    exit 1
+fi
+
+DIRNAME="STAGE${2}"
+
+case "${1}" in
+make)
+    mkdir "${DIRNAME}" && mv -f *.com *.bci "${DIRNAME}/."
+    ;;
+unmake)
+    mv -f "${DIRNAME}/*" . && rmdir "${DIRNAME}"
+    ;;
+remove)
+    rm -rf "${DIRNAME}"
+    ;;
+copy)
+    cp "${DIRNAME}/*" .
+    ;;
+link)
+    ln "${DIRNAME}/*" .
+    ;;
+*)
+    echo "$0: Unknown command ${1}"
+    exit 1
+    ;;
+esac
+
+exit 0
diff --git a/v7/src/etc/bootstrap-compile.scm b/v7/src/etc/bootstrap-compile.scm
deleted file mode 100644 (file)
index 603ec43..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-#| -*-Scheme-*-
-
-$Id: bootstrap-compile.scm,v 1.7 2000/10/16 19:25:33 cph Exp $
-
-Copyright (c) 2000 Massachusetts Institute of Technology
-
-This program 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.
-
-This program 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 this program; if not, write to the Free Software
-Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-|#
-
-(begin
-  (sf "microcode/utabmd")
-  (with-working-directory-pathname "cref"
-    (lambda ()
-      (load "cref.sf")
-      (load "cref.cbf")
-      (if (not (name->package '(CROSS-REFERENCE)))
-         (load "make"))))
-  (for-each (lambda (name)
-             (with-working-directory-pathname name
-               (lambda ()
-                 (load (pathname-new-type name "sf"))
-                 (load (pathname-new-type name "cbf")))))
-           '("runtime" "sf" "compiler" "edwin" "6001"))
-  (for-each (lambda (name)
-             (load (merge-pathnames "compile" (pathname-as-directory name))))
-           '("sos" "imail")))
\ No newline at end of file
diff --git a/v7/src/etc/bootstrap.sh b/v7/src/etc/bootstrap.sh
deleted file mode 100755 (executable)
index 29c8cbb..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-#!/bin/sh
-#
-# $Id: bootstrap.sh,v 1.4 2000/10/16 19:29:00 cph Exp $
-#
-# Copyright (c) 2000 Massachusetts Institute of Technology
-#
-# This program 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.
-#
-# This program 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 this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# This must be at least 2000.
-MITSCHEME_LARGE_HEAP=4000
-export MITSCHEME_LARGE_HEAP
-
-if [ $# -eq 0 ]; then
-    case "`uname`" in
-    Linux)
-       cname=i386-linux
-       ;;
-    FreeBSD)
-       cname=i386-freebsd
-       ;;
-    *)
-       echo "Don't know what system you're using."
-       echo "You must re-run this script with a configuration name argument."
-       echo "Here are the allowed names:"
-       microcode/unxutl/config
-       exit 1
-       ;;
-    esac
-elif [ $# -eq 1 ]; then
-    cname=$1
-else
-    echo "usage: $0 [config-name]"
-    exit 1
-fi
-
-if [ ! -d 6001 ]; then
-    echo "This must be run from the top-level Scheme source directory."
-    exit 1
-fi
-
-# If this tree is freshly checked out, do the post-checkout adjustments.
-if [ ! -f 6001/Makefile ]; then
-    etc/build-tree.sh
-fi
-
-# Set up the compiler directory.
-(
-    cd compiler
-    if [ ! -L machine ]; then
-       ln -s machines/i386 machine
-       ln -s machine/compiler.* .
-       ln -s machine/make.com .
-    fi
-)
-
-# Compile the C code.
-(
-    cd microcode
-    [ -f cf.h ] || unxutl/config "${cname}"
-    [ -x scheme ] || make
-)
-
-# Compile the Scheme code.
-./microcode/scheme -compiler < etc/bootstrap-compile.scm
-
-# Build the lib directory.
-rm -rf lib
-mkdir lib
-mkdir lib/edwin
-mkdir lib/edwin/etc
-mkdir lib/edwin/info
-cp -p etc/optiondb.scm lib/.
-(
-    cd lib
-    ln -s .. SRC
-    ln -s SRC/runtime options
-    ln -s ../SRC/edwin edwin/autoload
-)
-
-cp -p microcode/utabmd.bin lib/.
-
-(
-    cd runtime
-    ../microcode/scheme -library ../lib -fasl make.com
-) < etc/build-runtime.scm
-
-./microcode/scheme -library lib -large < etc/build-compiler.scm
-./microcode/scheme -library lib -large < etc/build-edwin.scm
diff --git a/v7/src/etc/build-compiler.scm b/v7/src/etc/build-compiler.scm
deleted file mode 100644 (file)
index d429a09..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#| -*-Scheme-*-
-
-$Id: build-compiler.scm,v 1.1 2000/10/16 18:17:51 cph Exp $
-
-Copyright (c) 2000 Massachusetts Institute of Technology
-
-This program 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.
-
-This program 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 this program; if not, write to the Free Software
-Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-|#
-
-(let ((load-it
-       (lambda (name)
-        (with-working-directory-pathname name (lambda () (load "make"))))))
-  (load-it "sf")
-  (load-it "compiler")
-  (disk-save "lib/compiler.com")
-  (load-it "edwin")
-  (disk-save "lib/all.com"))
\ No newline at end of file
diff --git a/v7/src/etc/build-edwin.scm b/v7/src/etc/build-edwin.scm
deleted file mode 100644 (file)
index 943b793..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-#| -*-Scheme-*-
-
-$Id: build-edwin.scm,v 1.1 2000/10/16 18:17:53 cph Exp $
-
-Copyright (c) 2000 Massachusetts Institute of Technology
-
-This program 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.
-
-This program 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 this program; if not, write to the Free Software
-Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-|#
-
-(let ((load-it
-       (lambda (name)
-        (with-working-directory-pathname name (lambda () (load "make"))))))
-  (load-it "edwin")
-  (disk-save "lib/edwin.com")
-  (load-it "6001")
-  (disk-save "lib/6001.com"))
\ No newline at end of file
diff --git a/v7/src/etc/build-runtime.scm b/v7/src/etc/build-runtime.scm
deleted file mode 100644 (file)
index beae125..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-#| -*-Scheme-*-
-
-$Id: build-runtime.scm,v 1.1 2000/10/16 18:17:55 cph Exp $
-
-Copyright (c) 2000 Massachusetts Institute of Technology
-
-This program 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.
-
-This program 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 this program; if not, write to the Free Software
-Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-|#
-
-(disk-save "../lib/runtime.com")
diff --git a/v7/src/etc/build-tree.sh b/v7/src/etc/build-tree.sh
deleted file mode 100755 (executable)
index e8562ba..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/bin/sh
-#
-# $Id: build-tree.sh,v 1.4 2000/10/16 18:57:16 cph Exp $
-#
-# Copyright (c) 2000 Massachusetts Institute of Technology
-#
-# This program 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.
-#
-# This program 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 this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# Program to finish setting up the Scheme source tree after it is
-# checked out.  Adds required links, builds TAGS files, etc.
-
-if [ ! -d 6001 ]
-then
-  echo "This must be run from the top-level Scheme source directory."
-  exit 1
-fi
-for directory in 6001 cref edwin imail rcs runtime sf sos win32
-do
-  (cd $directory; ln -s ../Makefile.std Makefile)
-done
-for directory in 6001 compiler cref edwin imail rcs runtime sf sos swat win32
-do
-  (cd $directory; make TAGS)
-done
-for directory in edwin imail runtime sos
-do
-  (cd $directory; ln -s ed-ffi.scm .edwin-ffi)
-done
-(cd microcode; scheme -load os2pm.scm < /dev/null)
-(cd microcode; etags -r '/^DEF[A-Za-z_ \t(]+"\([^"]+\)"/' *.[ch])
-(cd microcode/cmpauxmd; make all)
-(cd pcsample; etags *.scm *.c)
-(cd compiler/machines/vax;
-  for n in 1 2 3
-  do
-    ln -s instr${n}.scm dinstr${n}.scm
-  done)
diff --git a/v7/src/etc/runtime-check.cbf b/v7/src/etc/runtime-check.cbf
deleted file mode 100644 (file)
index a562231..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#| -*-Scheme-*-
-
-$Id: runtime-check.cbf,v 1.1 2000/12/07 22:26:06 cph Exp $
-
-Copyright (c) 2000 Massachusetts Institute of Technology
-
-This program 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.
-
-This program 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 this program; if not, write to the Free Software
-Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-|#
-
-(fluid-let ((compiler:generate-type-checks? #t)
-           (compiler:generate-range-checks? #t))
-  (load "../runtime/runtime.cbf"))
\ No newline at end of file
diff --git a/v7/src/microcode/Clean.sh b/v7/src/microcode/Clean.sh
new file mode 100755 (executable)
index 0000000..eab9c50
--- /dev/null
@@ -0,0 +1,47 @@
+#!/bin/sh
+#
+# $Id: Clean.sh,v 1.1 2000/12/08 04:51:24 cph Exp $
+#
+# Copyright (c) 2000 Massachusetts Institute of Technology
+#
+# This program 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.
+#
+# This program 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 this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+# Utility for cleaning up the MIT Scheme microcode directory.
+# The working directory must be the microcode directory.
+
+if [ $# -ne 1 ]; then
+    echo "usage: $0 <command>"
+    exit 1
+fi
+
+case "${1}" in
+mostlyclean | clean | distclean)
+    ;;
+maintainer-clean)
+    if [ ! -f Makefile ] && [ -f configure ]; then
+       ./configure
+    fi
+    ;;
+*)
+    echo "$0: Unknown command ${1}"
+    exit 1
+    ;;
+esac
+
+if [ -f Makefile ]; then
+    make ${1}
+fi
+
+exit 0