3 #make-all: make all systems afresh
5 # Creates gzipped log files called makeNNNN.log.gz on each subdirectory and
6 # displays the last few lines of these files -- this indicates whether
7 # the "make" failed (whether it terminated due to an error)
10 # -noforce don't delete old databases/images first
11 # -clean delete databases/images after use (leaving Pure)
12 # -notest make databases/images w/o running the examples
13 # -noexec don't execute, just check settings and Makefiles
15 #Environment variables required:
16 # ISABELLEBIN: the directory to hold Poly/ML databases or New Jersey ML images
17 # ISABELLECOMP: the ML compiler
19 # A typical shell script for /bin/sh is...
20 # ML_DBASE=/usr/groups/theory/poly2.04/`arch`/ML_dbase
21 # ISABELLEBIN=/homes/`whoami`/bin
22 # ISABELLECOMP="poly -noDisplay"
23 # export ML_DBASE ISABELLEBIN ISABELLECOMP
26 set -e #fail immediately upon errors
28 # process command line switches
38 -noforce) FORCE="off" ;;
42 *) echo "Bad flag for make-all: $A"
43 echo "Usage: make-all [-noforce] [-clean] [-notest] [-noexec]"
48 echo Started at `date`
50 echo Destination=${ISABELLEBIN?'No destination directory specified'}
51 echo force=$FORCE ' ' clean=$CLEAN ' '
52 echo Compiler=${ISABELLECOMP?'No compiler specified'}
53 echo Running on `hostname`
54 echo Log files will be called make$$.log.gz
57 on.on) (cd $ISABELLEBIN; rm -f Pure FOL ZF CCL LCF CTT LK Modal HOL HOLCF Cube FOLP)
60 set +e #no longer fail upon errors -- e.g. if a "make" fails
64 echo '*****Pure Isabelle*****'
65 (cd Pure; make $NO > make$$.log)
71 echo '*****First-Order Logic (FOL)*****'
72 (cd FOL; make $NO $TEST > make$$.log)
75 #cannot delete FOL yet... it is needed for ZF, CCL and LCF!
79 echo '*****Set theory (ZF)*****'
80 (cd ZF; make $NO $TEST > make$$.log)
84 on.on) rm $ISABELLEBIN/ZF
89 echo '*****Classical Computational Logic (CCL)*****'
90 (cd CCL; make $NO $TEST > make$$.log)
94 on.on) rm $ISABELLEBIN/CCL
99 echo '*****Domain Theory (LCF)*****'
100 (cd LCF; make $NO $TEST > make$$.log)
104 on.on) rm $ISABELLEBIN/FOL $ISABELLEBIN/LCF
109 echo '*****Constructive Type Theory (CTT)*****'
110 (cd CTT; make $NO $TEST > make$$.log)
114 on.on) rm $ISABELLEBIN/CTT
119 echo '*****Classical Sequent Calculus (LK)*****'
120 (cd LK; make $NO $TEST > make$$.log)
123 #cannot delete LK yet... it is needed for Modal!
127 echo '*****Modal logic (Modal)*****'
128 (cd Modal; make $NO $TEST > make$$.log)
129 tail Modal/make$$.log
130 gzip Modal/make$$.log
132 on.on) rm $ISABELLEBIN/LK $ISABELLEBIN/Modal
137 echo '*****Higher-Order Logic (HOL)*****'
138 (cd HOL; make $NO $TEST > make$$.log)
141 #cannot delete HOL yet... it is needed for HOLCF!
145 echo '*****LCF in HOL (HOL)*****'
146 (cd HOLCF; make $NO $TEST > make$$.log)
147 tail HOLCF/make$$.log
148 gzip HOLCF/make$$.log
150 on.on) rm $ISABELLEBIN/HOL $ISABELLEBIN/HOLCF
155 echo '*****The Lambda-Cube (Cube)*****'
156 (cd Cube; make $NO $TEST > make$$.log)
158 on.on) rm $ISABELLEBIN/Cube
165 echo '*****First-Order Logic with Proof Terms (FOLP)*****'
166 (cd FOLP; make $NO $TEST > make$$.log)
168 on.on) rm $ISABELLEBIN/FOLP
175 echo '***** Now check the dates on the "test" files *****'
176 ls -lrt FOL/test ZF/test CCL/test LCF/test CTT/test\
177 LK/test Modal/test HOL/test HOLCF/test Cube/test\
180 echo Finished at `date`