author | wenzelm |
Thu, 24 Apr 1997 18:44:32 +0200 | |
changeset 3043 | 63a77d6b7eca |
parent 3028 | 45204c79ad1d |
child 3050 | 7eacab79b8e1 |
permissions | -rw-r--r-- |
1307 | 1 |
# $Id$ |
243
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
2 |
############################################################################ |
2094 | 3 |
# # |
4 |
# Makefile for Isabelle (HOLCF) # |
|
5 |
# # |
|
243
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
6 |
############################################################################ |
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
7 |
|
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
8 |
#To make the system, cd to this directory and type |
1307 | 9 |
# make |
10 |
#To make the system and test it on standard examples, type |
|
11 |
# make test |
|
12 |
#To generate HTML files for every theory, set the environment variable |
|
13 |
#MAKE_HTML or add the parameter "MAKE_HTML=". |
|
243
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
14 |
|
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
15 |
#Environment variable ISABELLECOMP specifies the compiler. |
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
16 |
#Environment variable ISABELLEBIN specifies the destination directory. |
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
17 |
#For Poly/ML, ISABELLEBIN must begin with a / |
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
18 |
|
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
19 |
#Makes HOL Isabelle if this file is ABSENT -- but not |
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
20 |
#if it is out of date, since this Makefile does not know its dependencies! |
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
21 |
|
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
22 |
BIN = $(ISABELLEBIN) |
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
23 |
COMP = $(ISABELLECOMP) |
2640 | 24 |
THYS = Porder.thy Porder0.thy Pcpo.thy \ |
918
7ecdff86a5f0
Uses "suffix substitution" to shorten macro definitions.
lcp
parents:
752
diff
changeset
|
25 |
Fun1.thy Fun2.thy Fun3.thy \ |
7ecdff86a5f0
Uses "suffix substitution" to shorten macro definitions.
lcp
parents:
752
diff
changeset
|
26 |
Cfun1.thy Cfun2.thy Cfun3.thy Cont.thy \ |
7ecdff86a5f0
Uses "suffix substitution" to shorten macro definitions.
lcp
parents:
752
diff
changeset
|
27 |
Cprod1.thy Cprod2.thy Cprod3.thy \ |
7ecdff86a5f0
Uses "suffix substitution" to shorten macro definitions.
lcp
parents:
752
diff
changeset
|
28 |
Sprod0.thy Sprod1.thy Sprod2.thy Sprod3.thy \ |
7ecdff86a5f0
Uses "suffix substitution" to shorten macro definitions.
lcp
parents:
752
diff
changeset
|
29 |
Ssum0.thy Ssum1.thy Ssum2.thy Ssum3.thy \ |
2640 | 30 |
Up1.thy Up2.thy Up3.thy Fix.thy ccc1.thy \ |
31 |
One.thy Tr.thy \ |
|
32 |
Lift1.thy Lift2.thy Lift3.thy HOLCF.thy |
|
243
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
33 |
|
2640 | 34 |
ONLYTHYS = Lift.thy |
35 |
||
3028 | 36 |
FILES = ROOT.ML $(THYS) $(ONLYTHYS) $(THYS:.thy=.ML) \ |
37 |
ax_ops/holcflogic.ML ax_ops/thy_axioms.ML \ |
|
38 |
ax_ops/thy_ops.ML ax_ops/thy_syntax.ML \ |
|
39 |
domain/library.ML domain/syntax.ML domain/axioms.ML \ |
|
40 |
domain/theorems.ML domain/extender.ML domain/interface.ML |
|
243
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
41 |
|
1307 | 42 |
#Uses cp rather than make_database because Poly/ML allows only 3 levels |
2094 | 43 |
$(BIN)/HOLCF: $(BIN)/HOL $(FILES) |
2235
866dbb04816c
Makefile improvements by Thomas Santen and Stephan Herrmann
paulson
parents:
2117
diff
changeset
|
44 |
@case `basename "$(COMP)"` in \ |
2094 | 45 |
poly*) cp $(BIN)/HOL $(BIN)/HOLCF; chmod u+w $(BIN)/HOLCF;\ |
46 |
if [ "$${MAKE_HTML}" = "true" ]; \ |
|
47 |
then echo 'open PolyML; make_html := true; exit_use_dir".";' \ |
|
48 |
| $(COMP) $(BIN)/HOLCF;\ |
|
1491 | 49 |
elif [ "$${MAKE_HTML-undefined}" != "undefined" ]; \ |
2094 | 50 |
then echo 'open PolyML; make_html := true; exit_use_dir"."; make_html := false;' | $(COMP) $(BIN)/HOLCF;\ |
51 |
else echo 'open PolyML; exit_use_dir".";' \ |
|
1307 | 52 |
| $(COMP) $(BIN)/HOLCF;\ |
2094 | 53 |
fi;\ |
2023
aa25f20c5d8b
Calls discgarb -c to realize dramatic space savings!
paulson
parents:
1675
diff
changeset
|
54 |
discgarb -c $(BIN)/HOLCF;;\ |
1491 | 55 |
sml*) if [ "$${MAKE_HTML}" = "true" ]; \ |
2094 | 56 |
then echo 'make_html := true; exit_use_dir"."; xML"$(BIN)/HOLCF" banner;' | $(BIN)/HOL;\ |
57 |
elif [ "$${MAKE_HTML-undefined}" != "undefined" ];\ |
|
58 |
then echo 'make_html := true; exit_use_dir"."; make_html := false; xML"$(BIN)/HOLCF" banner;' \ |
|
59 |
| $(BIN)/HOL;\ |
|
60 |
else echo 'exit_use_dir"."; xML"$(BIN)/HOLCF" banner;' \ |
|
61 |
| $(BIN)/HOL;\ |
|
62 |
fi;;\ |
|
468 | 63 |
*) echo Bad value for ISABELLECOMP: \ |
2117 | 64 |
\"$(COMP)\" is not poly or sml;;\ |
243
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
65 |
esac |
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
66 |
|
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
67 |
$(BIN)/HOL: |
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
68 |
cd ../HOL; $(MAKE) |
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
69 |
|
2571
b9f641195b48
reflecting the changes made in HOLCF/ex and HOLCF/explicit_domains
oheimb
parents:
2445
diff
changeset
|
70 |
EX_THYS = ex/Classlib.thy ex/Witness.thy\ |
b9f641195b48
reflecting the changes made in HOLCF/ex and HOLCF/explicit_domains
oheimb
parents:
2445
diff
changeset
|
71 |
ex/Dnat.thy ex/Dlist.thy ex/Stream.thy\ |
b9f641195b48
reflecting the changes made in HOLCF/ex and HOLCF/explicit_domains
oheimb
parents:
2445
diff
changeset
|
72 |
ex/Dagstuhl.thy ex/Focus_ex.thy ex/Fix2.thy\ |
b9f641195b48
reflecting the changes made in HOLCF/ex and HOLCF/explicit_domains
oheimb
parents:
2445
diff
changeset
|
73 |
ex/Hoare.thy ex/Loop.thy |
918
7ecdff86a5f0
Uses "suffix substitution" to shorten macro definitions.
lcp
parents:
752
diff
changeset
|
74 |
|
7ecdff86a5f0
Uses "suffix substitution" to shorten macro definitions.
lcp
parents:
752
diff
changeset
|
75 |
EX_FILES = ex/ROOT.ML ex/loeckx.ML $(EX_THYS) $(EX_THYS:.thy=.ML) |
7ecdff86a5f0
Uses "suffix substitution" to shorten macro definitions.
lcp
parents:
752
diff
changeset
|
76 |
|
2094 | 77 |
test: ex/ROOT.ML $(BIN)/HOLCF $(EX_FILES) |
2235
866dbb04816c
Makefile improvements by Thomas Santen and Stephan Herrmann
paulson
parents:
2117
diff
changeset
|
78 |
@case `basename "$(COMP)"` in \ |
1491 | 79 |
poly*) if [ "$${MAKE_HTML-undefined}" != "undefined" ]; \ |
2094 | 80 |
then echo 'make_html := true; exit_use_dir"ex"; quit();' \ |
81 |
| $(COMP) $(BIN)/HOLCF;\ |
|
82 |
else echo 'exit_use_dir"ex"; quit();' | $(COMP) $(BIN)/HOLCF;\ |
|
83 |
fi;;\ |
|
1491 | 84 |
sml*) if [ "$${MAKE_HTML-undefined}" != "undefined" ]; \ |
2094 | 85 |
then echo 'make_html := true; exit_use_dir"ex";' \ |
86 |
| $(BIN)/HOLCF;\ |
|
87 |
else echo 'exit_use_dir"ex";' | $(BIN)/HOLCF;\ |
|
88 |
fi;;\ |
|
468 | 89 |
*) echo Bad value for ISABELLECOMP: \ |
2117 | 90 |
\"$(COMP)\" is not poly or sml;;\ |
243
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
91 |
esac |
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
92 |
|
2094 | 93 |
.PRECIOUS: $(BIN)/HOL $(BIN)/HOLCF |
243
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
94 |