|
1 ############################################################################ |
|
2 # # |
|
3 # Makefile for Isabelle (HOLCF) # |
|
4 # # |
|
5 ############################################################################ |
|
6 |
|
7 #To make the system, cd to this directory and type |
|
8 # make -f Makefile |
|
9 |
|
10 #Environment variable ISABELLECOMP specifies the compiler. |
|
11 #Environment variable ISABELLEBIN specifies the destination directory. |
|
12 #For Poly/ML, ISABELLEBIN must begin with a / |
|
13 |
|
14 #Makes HOL Isabelle if this file is ABSENT -- but not |
|
15 #if it is out of date, since this Makefile does not know its dependencies! |
|
16 |
|
17 BIN = $(ISABELLEBIN) |
|
18 COMP = $(ISABELLECOMP) |
|
19 FILES = ROOT.ML void.thy void.ML porder.thy porder.ML pcpo.thy \ |
|
20 pcpo.ML fun1.thy fun1.ML fun2.thy fun2.ML fun3.thy fun3.ML \ |
|
21 cfun1.thy cfun1.ML cfun2.thy cfun2.ML cfun3.thy cfun3.ML \ |
|
22 cinfix.ML\ |
|
23 sprod0.thy sprod0.ML sprod1.thy sprod1.ML sprod2.thy sprod2.ML\ |
|
24 sprod3.thy sprod3.ML |
|
25 |
|
26 EX_FILES = ex/coind.thy ex/coind.ML \ |
|
27 ex/hoare.thy ex/hoare.ML ex/loop.thy ex/loop.ML |
|
28 |
|
29 $(BIN)/HOLCF: $(BIN)/HOL $(FILES) |
|
30 case "$(COMP)" in \ |
|
31 poly*) echo 'make_database"$(BIN)/HOLCF"; quit();' \ |
|
32 | $(COMP) $(BIN)/HOL ;\ |
|
33 echo 'use"ROOT";' | $(COMP) $(BIN)/HOLCF ;;\ |
|
34 sml*) echo 'use"ROOT.ML"; xML"$(BIN)/HOLCF" banner;' | $(BIN)/HOL ;;\ |
|
35 *) echo Bad value for ISABELLECOMP;;\ |
|
36 esac |
|
37 |
|
38 $(BIN)/HOL: |
|
39 cd ../HOL; $(MAKE) |
|
40 |
|
41 test: ex/ROOT.ML $(BIN)/HOLCF $(EX_FILES) |
|
42 case "$(COMP)" in \ |
|
43 poly*) echo 'use"ex/ROOT.ML"; quit();' | $(COMP) $(BIN)/HOLCF ;;\ |
|
44 sml*) echo 'use"ex/ROOT.ML"' | $(BIN)/HOLCF;;\ |
|
45 *) echo Bad value for ISABELLECOMP;;\ |
|
46 esac |
|
47 |
|
48 .PRECIOUS: $(BIN)/HOL $(BIN)/HOLCF |
|
49 |