|
1 ######################################################################### |
|
2 # # |
|
3 # Makefile for Isabelle (ZF) # |
|
4 # # |
|
5 ######################################################################### |
|
6 |
|
7 #To make the system, cd to this directory and type |
|
8 # make -f Makefile |
|
9 #To make the system and test it on standard examples, type |
|
10 # make -f Makefile test |
|
11 |
|
12 #Environment variable ISABELLECOMP specifies the compiler. |
|
13 #Environment variable ISABELLEBIN specifies the destination directory. |
|
14 #For Poly/ML, ISABELLEBIN must begin with a / |
|
15 |
|
16 #Makes FOL if this file is ABSENT -- but not |
|
17 #if it is out of date, since this Makefile does not know its dependencies! |
|
18 |
|
19 BIN = $(ISABELLEBIN) |
|
20 COMP = $(ISABELLECOMP) |
|
21 FILES = ROOT.ML zf.thy zf.ML upair.ML subset.ML pair.ML domrange.ML \ |
|
22 func.ML simpdata.ML bool.thy bool.ML \ |
|
23 sum.thy sum.ML qpair.thy qpair.ML mono.ML fixedpt.thy fixedpt.ML \ |
|
24 ind-syntax.ML intr-elim.ML indrule.ML inductive.ML co-inductive.ML \ |
|
25 equalities.ML perm.thy perm.ML trancl.thy trancl.ML \ |
|
26 wf.thy wf.ML ordinal.thy ordinal.ML nat.thy nat.ML \ |
|
27 epsilon.thy epsilon.ML arith.thy arith.ML univ.thy univ.ML \ |
|
28 quniv.thy quniv.ML constructor.ML datatype.ML \ |
|
29 fin.ML list.ML list-fn.thy list-fn.ML |
|
30 |
|
31 #Uses cp rather than make_database because Poly/ML allows only 3 levels |
|
32 $(BIN)/ZF: $(BIN)/FOL $(FILES) |
|
33 case "$(COMP)" in \ |
|
34 poly*) cp $(BIN)/FOL $(BIN)/ZF;\ |
|
35 echo 'open PolyML; use"ROOT";' | $(COMP) $(BIN)/ZF ;;\ |
|
36 sml*) echo 'use"ROOT.ML"; xML"$(BIN)/ZF" banner;' | $(BIN)/FOL;;\ |
|
37 *) echo Bad value for ISABELLECOMP;;\ |
|
38 esac |
|
39 |
|
40 $(BIN)/FOL: |
|
41 cd ../FOL; $(MAKE) |
|
42 |
|
43 test: ex/ROOT.ML $(BIN)/ZF |
|
44 case "$(COMP)" in \ |
|
45 poly*) echo 'use"ex/ROOT.ML"; quit();' | $(COMP) $(BIN)/ZF ;;\ |
|
46 sml*) echo 'use"ex/ROOT.ML";' | $(BIN)/ZF;;\ |
|
47 *) echo Bad value for ISABELLECOMP;;\ |
|
48 esac |
|
49 |
|
50 .PRECIOUS: $(BIN)/FOL $(BIN)/ZF |