src/HOL/IsaMakefile
author wenzelm
Wed, 18 Dec 1996 15:56:58 +0100
changeset 2448 61337170db84
child 2473 3eb12c85846c
permissions -rw-r--r--
IsaMakefile for HOL;
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)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    23
	@$(ISABELLE_HOME)/bin/isabelle -e "make_html := $(ISABELLE_HTML);" -qu Pure HOL
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:
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    27
	@cd ../Pure; $(ISABELLE_HOME)/bin/isatool make
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
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    31
#### Tests and examples
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    32
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    33
ISABELLE=$(ISABELLE_HOME)/bin/isabelle -e "make_html := $(ISABELLE_HTML);" -rq
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    34
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    35
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    36
## TFL (requires integration into HOL proper)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    37
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    38
TFL_NAMES = mask tfl thms thry usyntax utils
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    39
TFL_FILES = ../TFL/ROOT.ML ../TFL/sys.sml \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    40
            $(TFL_NAMES:%=../TFL/%.sig) $(TFL_NAMES:%=../TFL/%.sml)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    41
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    42
TFL:	$(OUT)/HOL $(TFL_FILES)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    43
	$(ISABELLE) -e 'exit_use_dir"../TFL"; quit();' HOL
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    44
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    45
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    46
## IMP-semantics example
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    47
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    48
IMP_NAMES = Expr Com Natural Transition Denotation Hoare VC
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    49
IMP_FILES = IMP/ROOT.ML $(IMP_NAMES:%=IMP/%.thy) $(IMP_NAMES:%=IMP/%.ML)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    50
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    51
IMP:	$(OUT)/HOL $(IMP_FILES)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    52
	$(ISABELLE) -e 'exit_use_dir"IMP"; quit();' HOL
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    53
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    54
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    55
## Hoare logic
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    56
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    57
Hoare_NAMES = Hoare Arith2 Examples
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    58
Hoare_FILES = Hoare/ROOT.ML $(Hoare_NAMES:%=Hoare/%.thy) \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    59
	      $(Hoare_NAMES:%=Hoare/%.ML)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    60
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    61
Hoare:	$(OUT)/HOL $(Hoare_FILES)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    62
	$(ISABELLE) -e 'exit_use_dir"Hoare"; quit();' HOL
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    63
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    64
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    65
## The integers in HOL
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    66
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    67
INTEG_NAMES = Equiv Integ Group Ring Lagrange IntRingDefs IntRing
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    68
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    69
INTEG_FILES = Integ/ROOT.ML \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    70
	      $(INTEG_NAMES:%=Integ/%.thy) $(INTEG_NAMES:%=Integ/%.ML)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    71
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    72
Integ:	$(OUT)/HOL $(INTEG_FILES)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    73
	$(ISABELLE) -e 'exit_use_dir"Integ"; quit();' HOL
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    74
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    75
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    76
## I/O Automata
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    77
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    78
IOA_NTP_NAMES = Abschannel Action Correctness Impl Lemmas Multiset Packet \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    79
		Receiver Sender
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    80
IOA_ABP_NAMES = Action Correctness Lemmas
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    81
IOA_MT_NAMES = Asig IOA Solve
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    82
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    83
IOA_FILES = IOA/NTP/ROOT.ML IOA/ABP/ROOT.ML IOA/NTP/Spec.thy \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    84
 $(IOA_NTP_NAMES:%=IOA/NTP/%.thy) $(IOA_NTP_NAMES:%=IOA/NTP/%.ML) \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    85
 IOA/ABP/Abschannel.thy IOA/ABP/Abschannel_finite.thy IOA/ABP/Env.thy \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    86
 IOA/ABP/Impl.thy IOA/ABP/Impl_finite.thy IOA/ABP/Packet.thy \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    87
 IOA/ABP/Receiver.thy IOA/ABP/Sender.thy IOA/ABP/Spec.thy \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    88
 $(IOA_ABP_NAMES:%=IOA/ABP/%.thy) $(IOA_ABP_NAMES:%=IOA/ABP/%.ML) \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    89
 $(IOA_MT_NAMES:%=IOA/meta_theory/%.thy) $(IOA_MT_NAMES:%=IOA/meta_theory/%.ML)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    90
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    91
IOA:	$(OUT)/HOL $(IOA_FILES)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    92
	$(ISABELLE) -e 'exit_use_dir"IOA/NTP"; quit();' HOL
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    93
	$(ISABELLE) -e 'exit_use_dir"IOA/ABP"; quit();' HOL
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    94
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    95
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    96
## Authentication & Security Protocols
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    97
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    98
Auth_NAMES = Message Shared NS_Shared OtwayRees OtwayRees_AN OtwayRees_Bad \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    99
	     WooLam Yahalom Yahalom2 Public NS_Public_Bad NS_Public
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   100
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   101
AUTH_FILES = Auth/ROOT.ML $(AUTH_NAMES:%=Auth/%.thy) $(AUTH_NAMES:%=Auth/%.ML)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   102
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   103
Auth:	$(OUT)/HOL $(AUTH_FILES)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   104
	$(ISABELLE) -e 'exit_use_dir"Auth"; quit();' HOL
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   105
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   106
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   107
## Properties of substitutions
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   108
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   109
SUBST_NAMES = AList Setplus Subst Unifier UTerm UTLemmas
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   110
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   111
SUBST_FILES = Subst/ROOT.ML \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   112
	      $(SUBST_NAMES:%=Subst/%.thy) $(SUBST_NAMES:%=Subst/%.ML)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   113
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   114
Subst:	$(OUT)/HOL $(SUBST_FILES)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   115
	$(ISABELLE) -e 'exit_use_dir"Subst"; quit();' HOL
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   116
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   117
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   118
## Confluence of Lambda-calculus
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   119
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   120
LAMBDA_NAMES = Lambda ParRed Commutation Eta
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   121
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   122
LAMBDA_FILES = Lambda/ROOT.ML \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   123
	      $(LAMBDA_NAMES:%=Lambda/%.thy) $(LAMBDA_NAMES:%=Lambda/%.ML)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   124
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   125
Lambda:	 $(OUT)/HOL $(LAMBDA_FILES)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   126
	$(ISABELLE) -e 'exit_use_dir"Lambda"; quit();' HOL
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   127
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   128
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   129
## Type inference for MiniML
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   130
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   131
MINIML_NAMES = I Maybe MiniML Type W
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   132
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   133
MINIML_FILES = MiniML/ROOT.ML \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   134
	      $(MINIML_NAMES:%=MiniML/%.thy) $(MINIML_NAMES:%=MiniML/%.ML)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   135
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   136
MiniML: $(OUT)/HOL $(MINIML_FILES)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   137
	$(ISABELLE) -e 'exit_use_dir"MiniML"; quit();' HOL
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   138
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   139
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   140
## Lexical analysis
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   141
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   142
LEX_FILES = Auto AutoChopper Chopper Prefix
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   143
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   144
LEX_FILES = Lex/ROOT.ML \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   145
	    $(LEX_NAMES:%=Lex/%.thy) $(LEX_NAMES:%=Lex/%.ML)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   146
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   147
Lex:	$(OUT)/HOL $(LEX_FILES)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   148
	$(ISABELLE) -e 'exit_use_dir"Lex"; quit();' HOL
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   149
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   150
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   151
## Miscellaneous examples
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   152
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   153
EX_NAMES = String BT Perm Comb InSort Qsort LexProd \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   154
	   Puzzle Mutil Primes NatSum SList LList Acc PropLog Term Simult MT
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   155
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   156
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
   157
	   ex/set.ML $(EX_NAMES:%=ex/%.thy) $(EX_NAMES:%=ex/%.ML)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   158
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   159
ex:	$(OUT)/HOL $(EX_FILES)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   160
	$(ISABELLE) -e 'exit_use_dir"ex"; quit();' HOL
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   161
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   162
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   163
## Full test
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   164
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   165
test:	$(OUT)/HOL TFL IMP Hoare Lex Integ Auth Subst Lambda MiniML IOA ex
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   166
	echo 'Test examples ran successfully' > test
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   167
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   168
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   169
.PRECIOUS: $(OUT)/Pure $(OUT)/HOL