src/HOL/IsaMakefile
author wenzelm
Tue, 07 Jan 1997 09:01:18 +0100
changeset 2473 3eb12c85846c
parent 2448 61337170db84
child 2527 0ba3755ce398
permissions -rw-r--r--
minor tuning; added Auth/Recur;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
     1
#
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
     2
# $Id$
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
     3
#
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
     4
# IsaMakefile for HOL
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
     5
#
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
     6
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
     7
#### Base system
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
     8
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
     9
OUT = $(ISABELLE_OUTPUT_DIR)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    10
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    11
NAMES = HOL Ord Set Fun subset equalities Prod Relation Trancl Sum WF \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    12
	mono Lfp Gfp Nat intr_elim indrule Inductive Finite Arith \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    13
	Sexp Univ List RelPow Option
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    14
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    15
FILES = ROOT.ML add_ind_def.ML datatype.ML hologic.ML \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    16
	ind_syntax.ML cladata.ML simpdata.ML \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    17
	typedef.ML thy_syntax.ML thy_data.ML ../Pure/section_utils.ML \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    18
	../Provers/hypsubst.ML ../Provers/classical.ML \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    19
	../Provers/simplifier.ML ../Provers/splitter.ML \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    20
	$(NAMES:%=%.thy) $(NAMES:%=%.ML)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    21
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    22
$(OUT)/HOL: $(OUT)/Pure $(FILES)
2473
3eb12c85846c minor tuning;
wenzelm
parents: 2448
diff changeset
    23
	@$(ISABELLE) -e "make_html := $(ISABELLE_HTML);" -qu $(OUT)/Pure HOL
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    24
	@chmod -w $@
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    25
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    26
$(OUT)/Pure:
2473
3eb12c85846c minor tuning;
wenzelm
parents: 2448
diff changeset
    27
	@cd ../Pure; $(ISATOOL) make
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    28
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    29
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    30
## TFL (requires integration into HOL proper)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    31
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    32
TFL_NAMES = mask tfl thms thry usyntax utils
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    33
TFL_FILES = ../TFL/ROOT.ML ../TFL/sys.sml \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    34
            $(TFL_NAMES:%=../TFL/%.sig) $(TFL_NAMES:%=../TFL/%.sml)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    35
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    36
TFL:	$(OUT)/HOL $(TFL_FILES)
2473
3eb12c85846c minor tuning;
wenzelm
parents: 2448
diff changeset
    37
	@$(ISABELLE) -e 'exit_use_dir"../TFL"; quit();' HOL
3eb12c85846c minor tuning;
wenzelm
parents: 2448
diff changeset
    38
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    39
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    40
2473
3eb12c85846c minor tuning;
wenzelm
parents: 2448
diff changeset
    41
#### Tests and examples
3eb12c85846c minor tuning;
wenzelm
parents: 2448
diff changeset
    42
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    43
## IMP-semantics example
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    44
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    45
IMP_NAMES = Expr Com Natural Transition Denotation Hoare VC
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    46
IMP_FILES = IMP/ROOT.ML $(IMP_NAMES:%=IMP/%.thy) $(IMP_NAMES:%=IMP/%.ML)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    47
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    48
IMP:	$(OUT)/HOL $(IMP_FILES)
2473
3eb12c85846c minor tuning;
wenzelm
parents: 2448
diff changeset
    49
	@$(ISATOOL) testdir $(OUT)/HOL IMP
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    50
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    51
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    52
## Hoare logic
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    53
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    54
Hoare_NAMES = Hoare Arith2 Examples
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    55
Hoare_FILES = Hoare/ROOT.ML $(Hoare_NAMES:%=Hoare/%.thy) \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    56
	      $(Hoare_NAMES:%=Hoare/%.ML)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    57
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    58
Hoare:	$(OUT)/HOL $(Hoare_FILES)
2473
3eb12c85846c minor tuning;
wenzelm
parents: 2448
diff changeset
    59
	@$(ISATOOL) testdir $(OUT)/HOL Hoare
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    60
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    61
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    62
## The integers in HOL
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    63
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    64
INTEG_NAMES = Equiv Integ Group Ring Lagrange IntRingDefs IntRing
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    65
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    66
INTEG_FILES = Integ/ROOT.ML \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    67
	      $(INTEG_NAMES:%=Integ/%.thy) $(INTEG_NAMES:%=Integ/%.ML)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    68
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    69
Integ:	$(OUT)/HOL $(INTEG_FILES)
2473
3eb12c85846c minor tuning;
wenzelm
parents: 2448
diff changeset
    70
	@$(ISATOOL) testdir $(OUT)/HOL Integ
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    71
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    72
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    73
## I/O Automata
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    74
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    75
IOA_NTP_NAMES = Abschannel Action Correctness Impl Lemmas Multiset Packet \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    76
		Receiver Sender
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    77
IOA_ABP_NAMES = Action Correctness Lemmas
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    78
IOA_MT_NAMES = Asig IOA Solve
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    79
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    80
IOA_FILES = IOA/NTP/ROOT.ML IOA/ABP/ROOT.ML IOA/NTP/Spec.thy \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    81
 $(IOA_NTP_NAMES:%=IOA/NTP/%.thy) $(IOA_NTP_NAMES:%=IOA/NTP/%.ML) \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    82
 IOA/ABP/Abschannel.thy IOA/ABP/Abschannel_finite.thy IOA/ABP/Env.thy \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    83
 IOA/ABP/Impl.thy IOA/ABP/Impl_finite.thy IOA/ABP/Packet.thy \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    84
 IOA/ABP/Receiver.thy IOA/ABP/Sender.thy IOA/ABP/Spec.thy \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    85
 $(IOA_ABP_NAMES:%=IOA/ABP/%.thy) $(IOA_ABP_NAMES:%=IOA/ABP/%.ML) \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    86
 $(IOA_MT_NAMES:%=IOA/meta_theory/%.thy) $(IOA_MT_NAMES:%=IOA/meta_theory/%.ML)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    87
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    88
IOA:	$(OUT)/HOL $(IOA_FILES)
2473
3eb12c85846c minor tuning;
wenzelm
parents: 2448
diff changeset
    89
	@$(ISATOOL) testdir $(OUT)/HOL IOA/NTP
3eb12c85846c minor tuning;
wenzelm
parents: 2448
diff changeset
    90
	@$(ISATOOL) testdir $(OUT)/HOL IOA/ABP
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    91
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    92
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    93
## Authentication & Security Protocols
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    94
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    95
Auth_NAMES = Message Shared NS_Shared OtwayRees OtwayRees_AN OtwayRees_Bad \
2473
3eb12c85846c minor tuning;
wenzelm
parents: 2448
diff changeset
    96
	     Recur WooLam Yahalom Yahalom2 Public NS_Public_Bad NS_Public
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    97
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    98
AUTH_FILES = Auth/ROOT.ML $(AUTH_NAMES:%=Auth/%.thy) $(AUTH_NAMES:%=Auth/%.ML)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    99
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   100
Auth:	$(OUT)/HOL $(AUTH_FILES)
2473
3eb12c85846c minor tuning;
wenzelm
parents: 2448
diff changeset
   101
	@$(ISATOOL) testdir $(OUT)/HOL Auth
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   102
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   103
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   104
## Properties of substitutions
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   105
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   106
SUBST_NAMES = AList Setplus Subst Unifier UTerm UTLemmas
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   107
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   108
SUBST_FILES = Subst/ROOT.ML \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   109
	      $(SUBST_NAMES:%=Subst/%.thy) $(SUBST_NAMES:%=Subst/%.ML)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   110
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   111
Subst:	$(OUT)/HOL $(SUBST_FILES)
2473
3eb12c85846c minor tuning;
wenzelm
parents: 2448
diff changeset
   112
	@$(ISATOOL) testdir $(OUT)/HOL Subst
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   113
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   114
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   115
## Confluence of Lambda-calculus
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   116
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   117
LAMBDA_NAMES = Lambda ParRed Commutation Eta
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   118
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   119
LAMBDA_FILES = Lambda/ROOT.ML \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   120
	      $(LAMBDA_NAMES:%=Lambda/%.thy) $(LAMBDA_NAMES:%=Lambda/%.ML)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   121
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   122
Lambda:	 $(OUT)/HOL $(LAMBDA_FILES)
2473
3eb12c85846c minor tuning;
wenzelm
parents: 2448
diff changeset
   123
	@$(ISATOOL) testdir $(OUT)/HOL Lambda
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   124
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   125
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   126
## Type inference for MiniML
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   127
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   128
MINIML_NAMES = I Maybe MiniML Type W
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   129
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   130
MINIML_FILES = MiniML/ROOT.ML \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   131
	      $(MINIML_NAMES:%=MiniML/%.thy) $(MINIML_NAMES:%=MiniML/%.ML)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   132
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   133
MiniML: $(OUT)/HOL $(MINIML_FILES)
2473
3eb12c85846c minor tuning;
wenzelm
parents: 2448
diff changeset
   134
	@$(ISATOOL) testdir $(OUT)/HOL MiniML
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   135
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   136
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   137
## Lexical analysis
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   138
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   139
LEX_FILES = Auto AutoChopper Chopper Prefix
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   140
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   141
LEX_FILES = Lex/ROOT.ML \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   142
	    $(LEX_NAMES:%=Lex/%.thy) $(LEX_NAMES:%=Lex/%.ML)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   143
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   144
Lex:	$(OUT)/HOL $(LEX_FILES)
2473
3eb12c85846c minor tuning;
wenzelm
parents: 2448
diff changeset
   145
	@$(ISATOOL) testdir $(OUT)/HOL Lex
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   146
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   147
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   148
## Miscellaneous examples
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   149
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   150
EX_NAMES = String BT Perm Comb InSort Qsort LexProd \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   151
	   Puzzle Mutil Primes NatSum SList LList Acc PropLog Term Simult MT
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   152
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   153
EX_FILES = ex/ROOT.ML ex/cla.ML ex/meson.ML ex/mesontest.ML ex/rel.ML \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   154
	   ex/set.ML $(EX_NAMES:%=ex/%.thy) $(EX_NAMES:%=ex/%.ML)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   155
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   156
ex:	$(OUT)/HOL $(EX_FILES)
2473
3eb12c85846c minor tuning;
wenzelm
parents: 2448
diff changeset
   157
	@$(ISATOOL) testdir $(OUT)/HOL ex
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   158
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   159
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   160
## Full test
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   161
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   162
test:	$(OUT)/HOL TFL IMP Hoare Lex Integ Auth Subst Lambda MiniML IOA ex
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   163
	echo 'Test examples ran successfully' > test
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   164
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   165
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   166
.PRECIOUS: $(OUT)/Pure $(OUT)/HOL