author | slotosch |
Mon, 17 Feb 1997 10:57:11 +0100 | |
changeset 2640 | ee4dfce170a0 |
parent 2571 | b9f641195b48 |
child 2679 | 3eac428cdd1b |
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 |
||
36 |
FILES = ROOT.ML $(THYS) $(ONLYTHYS) $(THYS:.thy=.ML) |
|
243
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
37 |
|
1307 | 38 |
#Uses cp rather than make_database because Poly/ML allows only 3 levels |
2094 | 39 |
$(BIN)/HOLCF: $(BIN)/HOL $(FILES) |
2235
866dbb04816c
Makefile improvements by Thomas Santen and Stephan Herrmann
paulson
parents:
2117
diff
changeset
|
40 |
@case `basename "$(COMP)"` in \ |
2094 | 41 |
poly*) cp $(BIN)/HOL $(BIN)/HOLCF; chmod u+w $(BIN)/HOLCF;\ |
42 |
if [ "$${MAKE_HTML}" = "true" ]; \ |
|
43 |
then echo 'open PolyML; make_html := true; exit_use_dir".";' \ |
|
44 |
| $(COMP) $(BIN)/HOLCF;\ |
|
1491 | 45 |
elif [ "$${MAKE_HTML-undefined}" != "undefined" ]; \ |
2094 | 46 |
then echo 'open PolyML; make_html := true; exit_use_dir"."; make_html := false;' | $(COMP) $(BIN)/HOLCF;\ |
47 |
else echo 'open PolyML; exit_use_dir".";' \ |
|
1307 | 48 |
| $(COMP) $(BIN)/HOLCF;\ |
2094 | 49 |
fi;\ |
2023
aa25f20c5d8b
Calls discgarb -c to realize dramatic space savings!
paulson
parents:
1675
diff
changeset
|
50 |
discgarb -c $(BIN)/HOLCF;;\ |
1491 | 51 |
sml*) if [ "$${MAKE_HTML}" = "true" ]; \ |
2094 | 52 |
then echo 'make_html := true; exit_use_dir"."; xML"$(BIN)/HOLCF" banner;' | $(BIN)/HOL;\ |
53 |
elif [ "$${MAKE_HTML-undefined}" != "undefined" ];\ |
|
54 |
then echo 'make_html := true; exit_use_dir"."; make_html := false; xML"$(BIN)/HOLCF" banner;' \ |
|
55 |
| $(BIN)/HOL;\ |
|
56 |
else echo 'exit_use_dir"."; xML"$(BIN)/HOLCF" banner;' \ |
|
57 |
| $(BIN)/HOL;\ |
|
58 |
fi;;\ |
|
468 | 59 |
*) echo Bad value for ISABELLECOMP: \ |
2117 | 60 |
\"$(COMP)\" is not poly or sml;;\ |
243
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
61 |
esac |
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
62 |
|
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
63 |
$(BIN)/HOL: |
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
64 |
cd ../HOL; $(MAKE) |
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
65 |
|
2571
b9f641195b48
reflecting the changes made in HOLCF/ex and HOLCF/explicit_domains
oheimb
parents:
2445
diff
changeset
|
66 |
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
|
67 |
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
|
68 |
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
|
69 |
ex/Hoare.thy ex/Loop.thy |
918
7ecdff86a5f0
Uses "suffix substitution" to shorten macro definitions.
lcp
parents:
752
diff
changeset
|
70 |
|
7ecdff86a5f0
Uses "suffix substitution" to shorten macro definitions.
lcp
parents:
752
diff
changeset
|
71 |
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
|
72 |
|
2094 | 73 |
test: ex/ROOT.ML $(BIN)/HOLCF $(EX_FILES) |
2235
866dbb04816c
Makefile improvements by Thomas Santen and Stephan Herrmann
paulson
parents:
2117
diff
changeset
|
74 |
@case `basename "$(COMP)"` in \ |
1491 | 75 |
poly*) if [ "$${MAKE_HTML-undefined}" != "undefined" ]; \ |
2094 | 76 |
then echo 'make_html := true; exit_use_dir"ex"; quit();' \ |
77 |
| $(COMP) $(BIN)/HOLCF;\ |
|
78 |
else echo 'exit_use_dir"ex"; quit();' | $(COMP) $(BIN)/HOLCF;\ |
|
79 |
fi;;\ |
|
1491 | 80 |
sml*) if [ "$${MAKE_HTML-undefined}" != "undefined" ]; \ |
2094 | 81 |
then echo 'make_html := true; exit_use_dir"ex";' \ |
82 |
| $(BIN)/HOLCF;\ |
|
83 |
else echo 'exit_use_dir"ex";' | $(BIN)/HOLCF;\ |
|
84 |
fi;;\ |
|
468 | 85 |
*) echo Bad value for ISABELLECOMP: \ |
2117 | 86 |
\"$(COMP)\" is not poly or sml;;\ |
243
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
87 |
esac |
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
88 |
|
2571
b9f641195b48
reflecting the changes made in HOLCF/ex and HOLCF/explicit_domains
oheimb
parents:
2445
diff
changeset
|
89 |
#EXPLICIT_DOMAINS_THYS = explicit_domains/Dnat.thy explicit_domains/Dnat2.thy \ |
b9f641195b48
reflecting the changes made in HOLCF/ex and HOLCF/explicit_domains
oheimb
parents:
2445
diff
changeset
|
90 |
# explicit_domains/Dlist.thy \ |
b9f641195b48
reflecting the changes made in HOLCF/ex and HOLCF/explicit_domains
oheimb
parents:
2445
diff
changeset
|
91 |
# explicit_domains/Stream.thy explicit_domains/Stream2.thy |
1277
caef3601c0b2
corrected some errors that occurred after introduction of local simpsets
regensbu
parents:
1274
diff
changeset
|
92 |
|
2571
b9f641195b48
reflecting the changes made in HOLCF/ex and HOLCF/explicit_domains
oheimb
parents:
2445
diff
changeset
|
93 |
#EXPLICIT_DOMAINS_FILES = explicit_domains/ROOT.ML $(EXPLICIT_DOMAINS_THYS)\ |
b9f641195b48
reflecting the changes made in HOLCF/ex and HOLCF/explicit_domains
oheimb
parents:
2445
diff
changeset
|
94 |
# $(EXPLICIT_DOMAINS_THYS:.thy=.ML) |
1277
caef3601c0b2
corrected some errors that occurred after introduction of local simpsets
regensbu
parents:
1274
diff
changeset
|
95 |
|
2571
b9f641195b48
reflecting the changes made in HOLCF/ex and HOLCF/explicit_domains
oheimb
parents:
2445
diff
changeset
|
96 |
#test2: explicit_domains/ROOT.ML $(BIN)/HOLCF $(EXPLICIT_DOMAINS_FILES) |
b9f641195b48
reflecting the changes made in HOLCF/ex and HOLCF/explicit_domains
oheimb
parents:
2445
diff
changeset
|
97 |
# @case `basename "$(COMP)"` in \ |
b9f641195b48
reflecting the changes made in HOLCF/ex and HOLCF/explicit_domains
oheimb
parents:
2445
diff
changeset
|
98 |
# poly*) if [ "$${MAKE_HTML-undefined}" != "undefined" ]; \ |
b9f641195b48
reflecting the changes made in HOLCF/ex and HOLCF/explicit_domains
oheimb
parents:
2445
diff
changeset
|
99 |
# then echo 'make_html := true; exit_use_dir"explicit_domains";\ |
b9f641195b48
reflecting the changes made in HOLCF/ex and HOLCF/explicit_domains
oheimb
parents:
2445
diff
changeset
|
100 |
# quit();' | $(COMP) $(BIN)/HOLCF;\ |
b9f641195b48
reflecting the changes made in HOLCF/ex and HOLCF/explicit_domains
oheimb
parents:
2445
diff
changeset
|
101 |
# else echo 'exit_use_dir"explicit_domains"; quit();' \ |
b9f641195b48
reflecting the changes made in HOLCF/ex and HOLCF/explicit_domains
oheimb
parents:
2445
diff
changeset
|
102 |
# | $(COMP) $(BIN)/HOLCF;\ |
b9f641195b48
reflecting the changes made in HOLCF/ex and HOLCF/explicit_domains
oheimb
parents:
2445
diff
changeset
|
103 |
# fi;;\ |
b9f641195b48
reflecting the changes made in HOLCF/ex and HOLCF/explicit_domains
oheimb
parents:
2445
diff
changeset
|
104 |
# sml*) if [ "$${MAKE_HTML-undefined}" != "undefined" ]; \ |
b9f641195b48
reflecting the changes made in HOLCF/ex and HOLCF/explicit_domains
oheimb
parents:
2445
diff
changeset
|
105 |
# then echo 'make_html := true; exit_use_dir"exlicit_domains";' \ |
b9f641195b48
reflecting the changes made in HOLCF/ex and HOLCF/explicit_domains
oheimb
parents:
2445
diff
changeset
|
106 |
# | $(BIN)/HOLCF;\ |
b9f641195b48
reflecting the changes made in HOLCF/ex and HOLCF/explicit_domains
oheimb
parents:
2445
diff
changeset
|
107 |
# else echo 'exit_use_dir"explicit_domains";' | $(BIN)/HOLCF;\ |
b9f641195b48
reflecting the changes made in HOLCF/ex and HOLCF/explicit_domains
oheimb
parents:
2445
diff
changeset
|
108 |
# fi;;\ |
b9f641195b48
reflecting the changes made in HOLCF/ex and HOLCF/explicit_domains
oheimb
parents:
2445
diff
changeset
|
109 |
# *) echo Bad value for ISABELLECOMP: \ |
b9f641195b48
reflecting the changes made in HOLCF/ex and HOLCF/explicit_domains
oheimb
parents:
2445
diff
changeset
|
110 |
# \"$(COMP)\" is not poly or sml;;\ |
b9f641195b48
reflecting the changes made in HOLCF/ex and HOLCF/explicit_domains
oheimb
parents:
2445
diff
changeset
|
111 |
# esac |
1277
caef3601c0b2
corrected some errors that occurred after introduction of local simpsets
regensbu
parents:
1274
diff
changeset
|
112 |
|
2094 | 113 |
.PRECIOUS: $(BIN)/HOL $(BIN)/HOLCF |
243
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
114 |