5 # DESCRIPTION: make all Isabelle systems afresh
8 # - remove this tool (!?)
11 # - getopts (i.e. *short* options) (?)
14 # Creates gzipped log files called makeNNNN.log.gz on each subdirectory and
15 # displays the last few lines of these files -- this indicates whether
16 # the make failed (whether it terminated due to an error)
19 # -noforce don't delete old databases/images first
20 # -clean delete databases/images after use (leaving Pure)
21 # -notest make databases/images w/o running the examples
22 # -noexec don't execute, just check settings and IsaMakefiles
25 set -e #fail immediately upon errors
27 # process command line switches
37 -noforce) FORCE="off" ;;
41 *) echo "Bad flag for makeall: $A"
42 echo "Usage: makeall [-noforce] [-clean] [-notest] [-noexec]"
48 echo Started at `date`
50 echo Destination=$ISABELLE_OUTPUT
51 echo force=$FORCE ' ' clean=$CLEAN ' '
52 echo Compiler=$ML_SYSTEM
53 echo Running on `hostname`
54 echo Log files will be called make$$.log.gz
56 test) echo; echo ' **** Full test: WILL TAKE MANY HOURS ****'
57 echo ' **** Consider the -notest switch ****'
60 mkdir -p $ISABELLE_OUTPUT
63 on.on) (cd $ISABELLE_OUTPUT;
64 for f in Pure FOL ZF CCL LCF CTT Sequents HOL HOLCF Cube FOLP
70 set +e #no longer fail upon errors -- e.g. if a make fails
74 echo '*****Pure Isabelle*****'
75 ( cd Pure; $ISATOOL make $NO > make$$.log )
81 echo '*****First-Order Logic (FOL)*****'
82 (cd FOL; $ISATOOL make $NO $TEST > make$$.log)
85 #cannot delete FOL yet... it is needed for ZF, CCL and LCF!
89 echo '*****Set theory (ZF)*****'
90 (cd ZF; $ISATOOL make $NO $TEST > make$$.log)
94 on.on) rm -f $ISABELLE_OUTPUT/ZF
99 echo '*****Classical Computational Logic (CCL)*****'
100 (cd CCL; $ISATOOL make $NO $TEST > make$$.log)
104 on.on) rm -f $ISABELLE_OUTPUT/CCL
109 echo '*****Domain Theory (LCF)*****'
110 (cd LCF; $ISATOOL make $NO $TEST > make$$.log)
114 on.on) rm -f $ISABELLE_OUTPUT/FOL $ISABELLE_OUTPUT/LCF
119 echo '*****Constructive Type Theory (CTT)*****'
120 (cd CTT; $ISATOOL make $NO $TEST > make$$.log)
124 on.on) rm -f $ISABELLE_OUTPUT/CTT
129 echo '*****Sequent Calculi (Sequents)*****'
130 (cd Sequents; $ISATOOL make $NO $TEST > make$$.log)
131 tail Sequents/make$$.log
132 gzip Sequents/make$$.log
134 on.on) rm -f $ISABELLE_OUTPUT/Sequents
139 echo '*****Higher-Order Logic (HOL)*****'
140 (cd HOL; $ISATOOL make $NO $TEST > make$$.log)
143 #cannot delete HOL yet... it is needed for HOLCF!
147 echo '*****LCF in HOL (HOLCF)*****'
148 (cd HOLCF; $ISATOOL make $NO $TEST > make$$.log)
149 tail HOLCF/make$$.log
150 gzip HOLCF/make$$.log
152 on.on) rm -f $ISABELLE_OUTPUT/HOL $ISABELLE_OUTPUT/HOLCF
157 echo '*****The Lambda-Cube (Cube)*****'
158 (cd Cube; $ISATOOL make $NO $TEST > make$$.log)
160 on.on) rm -f $ISABELLE_OUTPUT/Cube
167 echo '*****First-Order Logic with Proof Terms (FOLP)*****'
168 (cd FOLP; $ISATOOL make $NO $TEST > make$$.log)
170 on.on) rm -f $ISABELLE_OUTPUT/FOLP
177 echo '***** Now check the dates on the "test" files *****'
178 ls -lrt FOL/test ZF/test CCL/test LCF/test CTT/test\
179 Sequents/test HOL/test HOLCF/test\
182 echo Finished at `date`