src/HOL/Makefile
changeset 2235 866dbb04816c
parent 2117 292df12bace5
child 2274 1b1b46adc9b3
equal deleted inserted replaced
2234:041bf27011b1 2235:866dbb04816c
    36 	@if [ -d $${ISABELLEBIN:?}/Pure ];\
    36 	@if [ -d $${ISABELLEBIN:?}/Pure ];\
    37 		then echo Bad value for ISABELLEBIN: \
    37 		then echo Bad value for ISABELLEBIN: \
    38 			$(BIN) is the Isabelle source directory; \
    38 			$(BIN) is the Isabelle source directory; \
    39 			exit 1; \
    39 			exit 1; \
    40 	fi
    40 	fi
    41 	@case `expr "//$(COMP)" : '[^ ]*/\(.*\)'` in \
    41 	@case `basename "$(COMP)"` in \
    42 	poly*)	echo 'make_database"$(BIN)/HOL"; quit();'  \
    42 	poly*)	echo 'make_database"$(BIN)/HOL"; quit();'  \
    43 		  | $(COMP) $(BIN)/Pure;\
    43 		  | $(COMP) $(BIN)/Pure;\
    44 		if [ "$${MAKE_HTML}" = "true" ]; \
    44 		if [ "$${MAKE_HTML}" = "true" ]; \
    45 		then echo 'open PolyML; make_html := true; exit_use_dir".";' \
    45 		then echo 'open PolyML; make_html := true; exit_use_dir".";' \
    46 		       | $(COMP) $(BIN)/HOL;\
    46 		       | $(COMP) $(BIN)/HOL;\
    66 	cd ../Pure;  $(MAKE)
    66 	cd ../Pure;  $(MAKE)
    67 
    67 
    68 #### Testing of HOL
    68 #### Testing of HOL
    69 
    69 
    70 #A macro referring to the object-logic (depends on ML compiler)
    70 #A macro referring to the object-logic (depends on ML compiler)
    71 LOGIC:sh=case `expr "//$ISABELLECOMP" : '[^ ]*/\(.*\)'` in \
    71 #	[Thanks to Thomas Santen and Stephan Herrmann from GMD First]
    72 	poly*)	echo "$ISABELLECOMP $ISABELLEBIN/HOL" ;;\
    72 LOGIC=`case \`basename "$(ISABELLECOMP)"\` in \
    73 	sml*)	echo "$ISABELLEBIN/HOL" ;;\
    73 	poly*)	echo "$(ISABELLECOMP) $(ISABELLEBIN)/HOL" ;;\
       
    74 	sml*)	echo "$(ISABELLEBIN)/HOL" ;;\
    74 	*)	echo "echo; echo Bad value for ISABELLECOMP: \
    75 	*)	echo "echo; echo Bad value for ISABELLECOMP: \
    75 			$ISABELLECOMP is not poly or sml; exit 1" ;;\
    76 			$(ISABELLECOMP) is not poly or sml; exit 1" ;;\
    76 	esac
    77 	esac`
    77 
    78 
    78 ##IMP-semantics example
    79 ##IMP-semantics example
    79 IMP_NAMES = Expr Com Natural Transition Denotation Hoare VC
    80 IMP_NAMES = Expr Com Natural Transition Denotation Hoare VC
    80 IMP_FILES = IMP/ROOT.ML $(IMP_NAMES:%=IMP/%.thy) $(IMP_NAMES:%=IMP/%.ML)
    81 IMP_FILES = IMP/ROOT.ML $(IMP_NAMES:%=IMP/%.thy) $(IMP_NAMES:%=IMP/%.ML)
    81 
    82 
   195 	then echo 'make_html := true; exit_use_dir"Lex";quit();' | $(LOGIC);\
   196 	then echo 'make_html := true; exit_use_dir"Lex";quit();' | $(LOGIC);\
   196 	else echo 'exit_use_dir"Lex";quit();' | $(LOGIC); \
   197 	else echo 'exit_use_dir"Lex";quit();' | $(LOGIC); \
   197 	fi
   198 	fi
   198 
   199 
   199 ##Miscellaneous examples
   200 ##Miscellaneous examples
   200 EX_NAMES = String BT Perm Comb InSort Qsort LexProd Puzzle Mutil \
   201 EX_NAMES = String BT Perm Comb InSort Qsort LexProd Group Ring Lagrange \
   201 	    Primes NatSum SList LList Acc PropLog Term Simult MT	    
   202 	   Puzzle Mutil Primes NatSum SList LList Acc PropLog Term Simult MT
   202 
   203 
   203 EX_FILES = ex/ROOT.ML ex/cla.ML ex/meson.ML ex/mesontest.ML ex/rel.ML \
   204 EX_FILES = ex/ROOT.ML ex/cla.ML ex/meson.ML ex/mesontest.ML ex/rel.ML \
   204 	   ex/set.ML $(EX_NAMES:%=ex/%.thy) $(EX_NAMES:%=ex/%.ML)
   205 	   ex/set.ML $(EX_NAMES:%=ex/%.thy) $(EX_NAMES:%=ex/%.ML)
   205 
   206 
   206 ex:	$(BIN)/HOL  $(EX_FILES)
   207 ex:	$(BIN)/HOL  $(EX_FILES)