| author | clasohm |
| Tue, 07 Nov 1995 13:15:04 +0100 | |
| changeset 1323 | ae24fa249266 |
| parent 1307 | 63a5788774f7 |
| child 1350 | 5bf4a54ba25f |
| 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 |
############################################################################ |
|
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
3 |
# # |
|
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
4 |
# Makefile for Isabelle (HOLCF) # |
|
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
5 |
# # |
|
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) |
|
918
7ecdff86a5f0
Uses "suffix substitution" to shorten macro definitions.
lcp
parents:
752
diff
changeset
|
24 |
THYS = Holcfb.thy Void.thy Porder.thy Pcpo.thy \ |
|
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 \ |
|
7ecdff86a5f0
Uses "suffix substitution" to shorten macro definitions.
lcp
parents:
752
diff
changeset
|
30 |
Lift1.thy Lift2.thy Lift3.thy Fix.thy ccc1.thy One.thy \ |
| 1274 | 31 |
Tr1.thy Tr2.thy HOLCF.thy |
|
243
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
32 |
|
|
918
7ecdff86a5f0
Uses "suffix substitution" to shorten macro definitions.
lcp
parents:
752
diff
changeset
|
33 |
FILES = ROOT.ML Porder0.thy $(THYS) $(THYS:.thy=.ML) |
|
243
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
34 |
|
| 1307 | 35 |
#Uses cp rather than make_database because Poly/ML allows only 3 levels |
|
243
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
36 |
$(BIN)/HOLCF: $(BIN)/HOL $(FILES) |
|
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
37 |
case "$(COMP)" in \ |
| 1307 | 38 |
poly*) cp $(BIN)/HOL $(BIN)/HOLCF;\ |
39 |
if [ "$${MAKE_HTML-undefined}" != "undefined" ]; \
|
|
40 |
then echo 'open PolyML; init_html (); exit_use"ROOT";' \ |
|
41 |
| $(COMP) $(BIN)/HOLCF;\ |
|
42 |
else echo 'open PolyML; exit_use"ROOT";' \ |
|
43 |
| $(COMP) $(BIN)/HOLCF;\ |
|
44 |
fi;;\ |
|
45 |
sml*) if [ "$${MAKE_HTML-undefined}" != "undefined" ];\
|
|
46 |
then echo 'init_html (); exit_use"ROOT.ML"; xML"$(BIN)/HOLCF" banner;' | $(BIN)/HOL;\ |
|
47 |
else echo 'exit_use"ROOT.ML"; xML"$(BIN)/HOLCF" banner;' \ |
|
48 |
| $(BIN)/HOL;\ |
|
49 |
fi;;\ |
|
| 468 | 50 |
*) echo Bad value for ISABELLECOMP: \ |
51 |
$(COMP) is not poly or sml;;\ |
|
|
243
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
52 |
esac |
|
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
53 |
|
|
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
54 |
$(BIN)/HOL: |
|
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
55 |
cd ../HOL; $(MAKE) |
|
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
56 |
|
|
1277
caef3601c0b2
corrected some errors that occurred after introduction of local simpsets
regensbu
parents:
1274
diff
changeset
|
57 |
EX_THYS = ex/Fix2.thy ex/Hoare.thy \ |
|
caef3601c0b2
corrected some errors that occurred after introduction of local simpsets
regensbu
parents:
1274
diff
changeset
|
58 |
ex/Loop.thy |
|
918
7ecdff86a5f0
Uses "suffix substitution" to shorten macro definitions.
lcp
parents:
752
diff
changeset
|
59 |
|
|
7ecdff86a5f0
Uses "suffix substitution" to shorten macro definitions.
lcp
parents:
752
diff
changeset
|
60 |
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
|
61 |
|
|
243
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
62 |
test: ex/ROOT.ML $(BIN)/HOLCF $(EX_FILES) |
|
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
63 |
case "$(COMP)" in \ |
|
953
17d7fad9c9a2
Now calls exit_use instead of use, for prompt failure if errors are detected.
lcp
parents:
918
diff
changeset
|
64 |
poly*) echo 'exit_use"ex/ROOT.ML"; quit();' | $(COMP) $(BIN)/HOLCF ;;\ |
|
17d7fad9c9a2
Now calls exit_use instead of use, for prompt failure if errors are detected.
lcp
parents:
918
diff
changeset
|
65 |
sml*) echo 'exit_use"ex/ROOT.ML"' | $(BIN)/HOLCF;;\ |
| 468 | 66 |
*) echo Bad value for ISABELLECOMP: \ |
67 |
$(COMP) is not poly or sml;;\ |
|
|
243
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
68 |
esac |
|
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
69 |
|
|
1277
caef3601c0b2
corrected some errors that occurred after introduction of local simpsets
regensbu
parents:
1274
diff
changeset
|
70 |
EXPLICIT_DOMAINS_THYS = explicit_domains/Coind.thy explicit_domains/Dlist.thy \ |
|
caef3601c0b2
corrected some errors that occurred after introduction of local simpsets
regensbu
parents:
1274
diff
changeset
|
71 |
explicit_domains/Dnat2.thy explicit_domains/Stream.thy \ |
|
caef3601c0b2
corrected some errors that occurred after introduction of local simpsets
regensbu
parents:
1274
diff
changeset
|
72 |
explicit_domains/Dagstuhl.thy explicit_domains/Dnat.thy\ |
|
caef3601c0b2
corrected some errors that occurred after introduction of local simpsets
regensbu
parents:
1274
diff
changeset
|
73 |
explicit_domains/Focus_ex.thy explicit_domains/Stream2.thy |
|
caef3601c0b2
corrected some errors that occurred after introduction of local simpsets
regensbu
parents:
1274
diff
changeset
|
74 |
|
|
caef3601c0b2
corrected some errors that occurred after introduction of local simpsets
regensbu
parents:
1274
diff
changeset
|
75 |
EXPLICIT_DOMAINS_FILES = explicit_domains/ROOT.ML $(EXPLICIT_DOMAINS_THYS)\ |
|
caef3601c0b2
corrected some errors that occurred after introduction of local simpsets
regensbu
parents:
1274
diff
changeset
|
76 |
$(EXPLICIT_DOMAINS_THYS:.thy=.ML) |
|
caef3601c0b2
corrected some errors that occurred after introduction of local simpsets
regensbu
parents:
1274
diff
changeset
|
77 |
|
|
caef3601c0b2
corrected some errors that occurred after introduction of local simpsets
regensbu
parents:
1274
diff
changeset
|
78 |
test2: explicit_domains/ROOT.ML $(BIN)/HOLCF $(EXPLICIT_DOMAINS_FILES) |
|
caef3601c0b2
corrected some errors that occurred after introduction of local simpsets
regensbu
parents:
1274
diff
changeset
|
79 |
case "$(COMP)" in \ |
|
caef3601c0b2
corrected some errors that occurred after introduction of local simpsets
regensbu
parents:
1274
diff
changeset
|
80 |
poly*) echo 'exit_use"explicit_domains/ROOT.ML"; quit();' | $(COMP) $(BIN)/HOLCF ;;\ |
|
caef3601c0b2
corrected some errors that occurred after introduction of local simpsets
regensbu
parents:
1274
diff
changeset
|
81 |
sml*) echo 'exit_use"explicit_domains/ROOT.ML"' | $(BIN)/HOLCF;;\ |
|
caef3601c0b2
corrected some errors that occurred after introduction of local simpsets
regensbu
parents:
1274
diff
changeset
|
82 |
*) echo Bad value for ISABELLECOMP: \ |
|
caef3601c0b2
corrected some errors that occurred after introduction of local simpsets
regensbu
parents:
1274
diff
changeset
|
83 |
$(COMP) is not poly or sml;;\ |
|
caef3601c0b2
corrected some errors that occurred after introduction of local simpsets
regensbu
parents:
1274
diff
changeset
|
84 |
esac |
|
caef3601c0b2
corrected some errors that occurred after introduction of local simpsets
regensbu
parents:
1274
diff
changeset
|
85 |
|
|
243
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
86 |
.PRECIOUS: $(BIN)/HOL $(BIN)/HOLCF |
|
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
nipkow
parents:
diff
changeset
|
87 |