src/HOL/IsaMakefile
author berghofe
Tue Jun 30 20:42:47 1998 +0200 (1998-06-30)
changeset 5097 6c4a7ad6ebc7
parent 5078 7b5ea59c0275
child 5110 2497807020fa
permissions -rw-r--r--
Adapted to new inductive definition package.
     1 #
     2 # $Id$
     3 #
     4 # IsaMakefile for HOL
     5 #
     6 
     7 ## targets
     8 
     9 default: HOL
    10 images: HOL TLA
    11 test: HOL-Subst HOL-Induct HOL-IMP HOL-Hoare HOL-Lex HOL-Real \
    12   HOL-Auth HOL-UNITY HOL-Modelcheck HOL-Lambda HOL-W0 HOL-MiniML HOL-IOA \
    13   HOL-AxClasses HOL-AxClasses-Group HOL-AxClasses-Lattice \
    14   HOL-AxClasses-Tutorial HOL-Quot HOL-ex TLA-Inc TLA-Buffer TLA-Memory
    15 all: images test
    16 
    17 
    18 ## global settings
    19 
    20 SRC = $(ISABELLE_HOME)/src
    21 OUT = $(ISABELLE_OUTPUT)
    22 LOG = $(OUT)/log
    23 
    24 
    25 ## HOL
    26 
    27 HOL: Pure $(OUT)/HOL
    28 
    29 Pure:
    30 	@cd $(SRC)/Pure; $(ISATOOL) make Pure
    31 
    32 $(OUT)/HOL: $(OUT)/Pure $(SRC)/Provers/Arith/cancel_sums.ML \
    33   $(SRC)/Provers/Arith/nat_transitive.ML $(SRC)/Provers/blast.ML \
    34   $(SRC)/Provers/clasimp.ML $(SRC)/Provers/classical.ML \
    35   $(SRC)/Provers/hypsubst.ML $(SRC)/Provers/simplifier.ML \
    36   $(SRC)/Provers/splitter.ML $(SRC)/Pure/section_utils.ML \
    37   $(SRC)/TFL/dcterm.sml $(SRC)/TFL/post.sml $(SRC)/TFL/rules.new.sml \
    38   $(SRC)/TFL/rules.sig $(SRC)/TFL/sys.sml $(SRC)/TFL/tfl.sig \
    39   $(SRC)/TFL/tfl.sml $(SRC)/TFL/thms.sig $(SRC)/TFL/thms.sml \
    40   $(SRC)/TFL/thry.sig $(SRC)/TFL/thry.sml $(SRC)/TFL/usyntax.sig \
    41   $(SRC)/TFL/usyntax.sml $(SRC)/TFL/utils.sig $(SRC)/TFL/utils.sml \
    42   Integ/Bin.ML Integ/Bin.thy  Integ/Equiv.ML Integ/Equiv.thy \
    43   Integ/Integ.ML Integ/Integ.thy Integ/ROOT.ML \
    44   Arith.ML Arith.thy Divides.ML Divides.thy Finite.ML Finite.thy \
    45   Fun.ML Fun.thy Gfp.ML Gfp.thy HOL.ML HOL.thy \
    46   Inductive.thy Lfp.ML Lfp.thy List.ML List.thy Map.ML Map.thy Nat.ML \
    47   Nat.thy NatDef.ML NatDef.thy Option.ML Option.thy Ord.ML Ord.thy \
    48   Power.ML Power.thy Prod.ML Prod.thy Record.thy ROOT.ML RelPow.ML \
    49   RelPow.thy Relation.ML Relation.thy Set.ML Set.thy Sexp.ML Sexp.thy \
    50   Sum.ML Sum.thy Tools/record_package.ML Tools/typedef_package.ML \
    51   Tools/inductive_package.ML \
    52   Trancl.ML Trancl.thy Univ.ML Univ.thy \
    53   Update.ML Update.thy Vimage.ML Vimage.thy WF.ML \
    54   WF.thy WF_Rel.ML WF_Rel.thy arith_data.ML cladata.ML \
    55   datatype.ML equalities.ML equalities.thy hologic.ML \
    56   mono.ML mono.thy \
    57   simpdata.ML subset.ML subset.thy thy_data.ML thy_syntax.ML
    58 	@$(ISATOOL) usedir -b $(OUT)/Pure HOL
    59 
    60 
    61 ## HOL-Subst
    62 
    63 HOL-Subst: HOL $(LOG)/HOL-Subst.gz
    64 
    65 $(LOG)/HOL-Subst.gz: $(OUT)/HOL Subst/AList.ML Subst/AList.thy \
    66   Subst/ROOT.ML Subst/Subst.ML Subst/Subst.thy Subst/UTerm.ML \
    67   Subst/UTerm.thy Subst/Unifier.ML Subst/Unifier.thy Subst/Unify.ML \
    68   Subst/Unify.thy
    69 	@$(ISATOOL) usedir $(OUT)/HOL Subst
    70 
    71 
    72 ## HOL-Induct
    73 
    74 HOL-Induct: HOL $(LOG)/HOL-Induct.gz
    75 
    76 $(LOG)/HOL-Induct.gz: $(OUT)/HOL Induct/Acc.ML Induct/Acc.thy \
    77   Induct/Com.ML Induct/Com.thy Induct/Comb.ML Induct/Comb.thy \
    78   Induct/Exp.ML Induct/Exp.thy Induct/LFilter.ML Induct/LFilter.thy \
    79   Induct/LList.ML Induct/LList.thy Induct/Mutil.ML Induct/Mutil.thy \
    80   Induct/Perm.ML Induct/Perm.thy Induct/PropLog.ML Induct/PropLog.thy \
    81   Induct/ROOT.ML Induct/SList.ML Induct/SList.thy Induct/Simult.ML \
    82   Induct/Simult.thy Induct/Term.ML Induct/Term.thy
    83 	@$(ISATOOL) usedir $(OUT)/HOL Induct
    84 
    85 
    86 ## HOL-IMP
    87 
    88 HOL-IMP: HOL $(LOG)/HOL-IMP.gz
    89 
    90 $(LOG)/HOL-IMP.gz: $(OUT)/HOL IMP/Com.ML IMP/Com.thy IMP/Denotation.ML \
    91   IMP/Denotation.thy IMP/Expr.ML IMP/Expr.thy IMP/Hoare.ML IMP/Hoare.thy \
    92   IMP/Natural.ML IMP/Natural.thy IMP/ROOT.ML IMP/Transition.ML \
    93   IMP/Transition.thy IMP/VC.ML IMP/VC.thy
    94 	@$(ISATOOL) usedir $(OUT)/HOL IMP
    95 
    96 
    97 ## HOL-Hoare
    98 
    99 HOL-Hoare: HOL $(LOG)/HOL-Hoare.gz
   100 
   101 $(LOG)/HOL-Hoare.gz: $(OUT)/HOL Hoare/Arith2.ML Hoare/Arith2.thy \
   102   Hoare/Examples.ML Hoare/Examples.thy Hoare/Hoare.ML Hoare/Hoare.thy \
   103   Hoare/ROOT.ML
   104 	@$(ISATOOL) usedir $(OUT)/HOL Hoare
   105 
   106 
   107 ## HOL-Lex
   108 
   109 HOL-Lex: HOL $(LOG)/HOL-Lex.gz
   110 
   111 $(LOG)/HOL-Lex.gz: $(OUT)/HOL \
   112   Lex/AutoChopper.thy Lex/AutoChopper.ML Lex/AutoChopper1.thy \
   113   Lex/AutoMaxChop.thy Lex/AutoMaxChop.ML Lex/AutoProj.thy Lex/AutoProj.ML \
   114   Lex/Automata.thy Lex/Automata.ML Lex/Chopper.thy Lex/DA.thy Lex/DA.ML \
   115   Lex/MaxChop.thy Lex/MaxChop.ML Lex/MaxPrefix.thy Lex/MaxPrefix.ML \
   116   Lex/NA.thy Lex/NAe.thy Lex/NAe.ML Lex/RegExp2NAe.thy Lex/RegExp2NAe.ML\
   117   Lex/Prefix.thy Lex/Prefix.ML Lex/ROOT.ML \
   118   Lex/RegExp.thy Lex/RegSet.thy Lex/RegSet.ML \
   119   Lex/RegSet_of_nat_DA.thy Lex/RegSet_of_nat_DA.ML
   120 	@$(ISATOOL) usedir $(OUT)/HOL Lex
   121 
   122 
   123 ## HOL-Real
   124 
   125 HOL-Real: HOL $(LOG)/HOL-Real.gz
   126 
   127 $(LOG)/HOL-Real.gz: $(OUT)/HOL \
   128   Real/Lubs.ML Real/Lubs.thy Real/PNat.ML Real/PNat.thy \
   129   Real/PRat.ML Real/PRat.thy Real/PReal.ML Real/PReal.thy \
   130   Real/RComplete.ML Real/RComplete.thy Real/Real.ML Real/Real.thy \
   131   Real/RealAbs.ML Real/RealAbs.thy Real/ROOT.ML
   132 	@$(ISATOOL) usedir $(OUT)/HOL Real
   133 
   134 
   135 ## HOL-Auth
   136 
   137 HOL-Auth: HOL $(LOG)/HOL-Auth.gz
   138 
   139 $(LOG)/HOL-Auth.gz: $(OUT)/HOL Auth/Event.ML Auth/Event.thy \
   140   Auth/Message.ML Auth/Message.thy Auth/NS_Public.ML Auth/NS_Public.thy \
   141   Auth/NS_Public_Bad.ML Auth/NS_Public_Bad.thy Auth/NS_Shared.ML \
   142   Auth/NS_Shared.thy Auth/OtwayRees.ML Auth/OtwayRees.thy \
   143   Auth/OtwayRees_AN.ML Auth/OtwayRees_AN.thy Auth/OtwayRees_Bad.ML \
   144   Auth/OtwayRees_Bad.thy Auth/Public.ML Auth/Public.thy Auth/ROOT.ML \
   145   Auth/Recur.ML Auth/Recur.thy Auth/Shared.ML Auth/Shared.thy \
   146   Auth/TLS.ML Auth/TLS.thy Auth/WooLam.ML Auth/WooLam.thy \
   147   Auth/Yahalom.ML Auth/Yahalom.thy Auth/Yahalom2.ML Auth/Yahalom2.thy
   148 	@$(ISATOOL) usedir $(OUT)/HOL Auth
   149 
   150 
   151 ## HOL-UNITY
   152 
   153 HOL-UNITY: HOL $(LOG)/HOL-UNITY.gz
   154 
   155 $(LOG)/HOL-UNITY.gz: $(OUT)/HOL UNITY/ROOT.ML\
   156   UNITY/Channel.ML UNITY/Channel.thy UNITY/Common.ML UNITY/Common.thy\
   157   UNITY/Deadlock.ML UNITY/Deadlock.thy UNITY/FP.ML UNITY/FP.thy\
   158   UNITY/LessThan.ML UNITY/LessThan.thy UNITY/Mutex.ML UNITY/Mutex.thy\
   159   UNITY/Network.ML UNITY/Network.thy UNITY/Reach.ML UNITY/Reach.thy\
   160   UNITY/SubstAx.ML UNITY/SubstAx.thy UNITY/Token.ML UNITY/Token.thy\
   161   UNITY/Traces.ML UNITY/Traces.thy UNITY/UNITY.ML UNITY/UNITY.thy\
   162   UNITY/WFair.ML UNITY/WFair.thy
   163 	@$(ISATOOL) usedir $(OUT)/HOL UNITY
   164 
   165 
   166 ## HOL-Modelcheck
   167 
   168 HOL-Modelcheck: HOL $(LOG)/HOL-Modelcheck.gz
   169 
   170 $(LOG)/HOL-Modelcheck.gz: $(OUT)/HOL Modelcheck/CTL.thy \
   171   Modelcheck/Example.ML Modelcheck/Example.thy Modelcheck/MCSyn.ML \
   172   Modelcheck/MCSyn.thy Modelcheck/MuCalculus.ML	\
   173   Modelcheck/MuCalculus.thy Modelcheck/ROOT.ML
   174 	@$(ISATOOL) usedir $(OUT)/HOL Modelcheck
   175 
   176 
   177 ## HOL-Lambda
   178 
   179 HOL-Lambda: HOL $(LOG)/HOL-Lambda.gz
   180 
   181 $(LOG)/HOL-Lambda.gz: $(OUT)/HOL Lambda/Commutation.ML \
   182   Lambda/Commutation.thy Lambda/Eta.ML Lambda/Eta.thy Lambda/Lambda.ML \
   183   Lambda/Lambda.thy Lambda/ParRed.ML Lambda/ParRed.thy Lambda/ROOT.ML
   184 	@$(ISATOOL) usedir $(OUT)/HOL Lambda
   185 
   186 
   187 ## HOL-W0
   188 
   189 HOL-W0: HOL $(LOG)/HOL-W0.gz
   190 
   191 $(LOG)/HOL-W0.gz: $(OUT)/HOL W0/I.ML W0/I.thy W0/Maybe.ML W0/Maybe.thy \
   192   W0/MiniML.ML W0/MiniML.thy W0/ROOT.ML W0/Type.ML W0/Type.thy W0/W.ML \
   193   W0/W.thy
   194 	@$(ISATOOL) usedir $(OUT)/HOL W0
   195 
   196 
   197 ## HOL-MiniML
   198 
   199 HOL-MiniML: HOL $(LOG)/HOL-MiniML.gz
   200 
   201 $(LOG)/HOL-MiniML.gz: $(OUT)/HOL MiniML/Generalize.ML \
   202   MiniML/Generalize.thy MiniML/Instance.ML MiniML/Instance.thy \
   203   MiniML/Maybe.ML MiniML/Maybe.thy MiniML/MiniML.ML MiniML/MiniML.thy \
   204   MiniML/ROOT.ML MiniML/Type.ML MiniML/Type.thy MiniML/W.ML MiniML/W.thy
   205 	@$(ISATOOL) usedir $(OUT)/HOL MiniML
   206 
   207 
   208 ## HOL-IOA
   209 
   210 HOL-IOA: HOL $(LOG)/HOL-IOA.gz
   211 
   212 $(LOG)/HOL-IOA.gz: $(OUT)/HOL IOA/Asig.ML IOA/Asig.thy IOA/IOA.ML \
   213   IOA/IOA.thy IOA/ROOT.ML IOA/Solve.ML IOA/Solve.thy
   214 	@$(ISATOOL) usedir $(OUT)/HOL IOA
   215 
   216 
   217 ## HOL-AxClasses
   218 
   219 HOL-AxClasses: HOL $(LOG)/HOL-AxClasses.gz
   220 
   221 $(LOG)/HOL-AxClasses.gz: $(OUT)/HOL AxClasses/ROOT.ML
   222 	@$(ISATOOL) usedir $(OUT)/HOL AxClasses
   223 
   224 
   225 ## HOL-AxClasses-Group
   226 
   227 HOL-AxClasses-Group: HOL-AxClasses $(LOG)/HOL-AxClasses-Group.gz
   228 
   229 $(LOG)/HOL-AxClasses-Group.gz: $(OUT)/HOL AxClasses/Group/Group.ML \
   230   AxClasses/Group/Group.thy AxClasses/Group/GroupDefs.ML \
   231   AxClasses/Group/GroupDefs.thy AxClasses/Group/GroupInsts.thy \
   232   AxClasses/Group/Monoid.thy AxClasses/Group/MonoidGroupInsts.thy \
   233   AxClasses/Group/ROOT.ML AxClasses/Group/Sigs.thy
   234 	@$(ISATOOL) usedir -s AxClasses-Group $(OUT)/HOL AxClasses/Group
   235 
   236 
   237 ## HOL-AxClasses-Lattice
   238 
   239 HOL-AxClasses-Lattice: HOL-AxClasses $(LOG)/HOL-AxClasses-Lattice.gz
   240 
   241 $(LOG)/HOL-AxClasses-Lattice.gz: $(OUT)/HOL AxClasses/Lattice/CLattice.ML \
   242   AxClasses/Lattice/CLattice.thy AxClasses/Lattice/LatInsts.ML \
   243   AxClasses/Lattice/LatInsts.thy AxClasses/Lattice/LatMorph.ML \
   244   AxClasses/Lattice/LatMorph.thy AxClasses/Lattice/LatPreInsts.ML \
   245   AxClasses/Lattice/LatPreInsts.thy AxClasses/Lattice/Lattice.ML \
   246   AxClasses/Lattice/Lattice.thy AxClasses/Lattice/OrdDefs.ML \
   247   AxClasses/Lattice/OrdDefs.thy AxClasses/Lattice/OrdInsts.thy \
   248   AxClasses/Lattice/Order.ML AxClasses/Lattice/Order.thy \
   249   AxClasses/Lattice/ROOT.ML AxClasses/Lattice/tools.ML
   250 	@$(ISATOOL) usedir -s AxClasses-Lattice $(OUT)/HOL AxClasses/Lattice
   251 
   252 
   253 ## HOL-AxClasses-Tutorial
   254 
   255 HOL-AxClasses-Tutorial: HOL-AxClasses $(LOG)/HOL-AxClasses-Tutorial.gz
   256 
   257 $(LOG)/HOL-AxClasses-Tutorial.gz: $(OUT)/HOL \
   258   AxClasses/Tutorial/BoolGroupInsts.thy AxClasses/Tutorial/Group.ML \
   259   AxClasses/Tutorial/Group.thy AxClasses/Tutorial/Monoid.thy \
   260   AxClasses/Tutorial/MonoidGroupInsts.thy \
   261   AxClasses/Tutorial/ProdGroupInsts.thy AxClasses/Tutorial/Product.thy \
   262   AxClasses/Tutorial/ProductInsts.thy AxClasses/Tutorial/ROOT.ML \
   263   AxClasses/Tutorial/Semigroup.thy AxClasses/Tutorial/Semigroups.thy \
   264   AxClasses/Tutorial/Sigs.thy AxClasses/Tutorial/Xor.ML \
   265   AxClasses/Tutorial/Xor.thy
   266 	@$(ISATOOL) usedir -s AxClasses-Tutorial $(OUT)/HOL AxClasses/Tutorial
   267 
   268 
   269 ## HOL-Quot
   270 
   271 HOL-Quot: HOL $(LOG)/HOL-Quot.gz
   272 
   273 $(LOG)/HOL-Quot.gz: $(OUT)/HOL Quot/FRACT.ML Quot/FRACT.thy \
   274   Quot/HQUOT.ML Quot/HQUOT.thy Quot/NPAIR.ML Quot/NPAIR.thy Quot/PER.ML \
   275   Quot/PER.thy Quot/PER0.ML Quot/PER0.thy Quot/ROOT.ML
   276 	@$(ISATOOL) usedir $(OUT)/HOL Quot
   277 
   278 
   279 ## HOL-ex
   280 
   281 HOL-ex: HOL $(LOG)/HOL-ex.gz
   282 
   283 $(LOG)/HOL-ex.gz: $(OUT)/HOL ex/BT.ML ex/BT.thy ex/Fib.ML ex/Fib.thy \
   284   ex/InSort.ML ex/InSort.thy ex/MT.ML ex/MT.thy ex/NatSum.ML \
   285   ex/NatSum.thy ex/Primes.ML ex/Primes.thy ex/Primrec.ML ex/Primrec.thy \
   286   ex/Puzzle.ML ex/Puzzle.thy ex/Qsort.ML ex/Qsort.thy ex/ROOT.ML \
   287   ex/Recdef.ML ex/Recdef.thy ex/String.ML ex/String.thy ex/cla.ML \
   288   ex/meson.ML ex/mesontest.ML ex/set.ML \
   289   ex/Group.ML ex/Group.thy  ex/IntRing.ML ex/IntRing.thy \
   290   ex/IntRingDefs.ML ex/IntRingDefs.thy \
   291   ex/Lagrange.ML ex/Lagrange.thy ex/Ring.ML ex/Ring.thy
   292 	@$(ISATOOL) usedir $(OUT)/HOL ex
   293 
   294 
   295 ## TLA
   296 
   297 TLA: HOL $(OUT)/TLA
   298 
   299 $(OUT)/TLA: $(OUT)/HOL TLA/Action.ML TLA/Action.thy TLA/IntLemmas.ML \
   300   TLA/Intensional.ML TLA/Intensional.thy TLA/ROOT.ML TLA/Stfun.ML \
   301   TLA/Stfun.thy TLA/TLA.ML TLA/TLA.thy TLA/cladata.ML TLA/hypsubst.ML
   302 	@cd TLA; $(ISATOOL) usedir -b $(OUT)/HOL TLA
   303 
   304 
   305 ## TLA-Inc
   306 
   307 TLA-Inc: TLA $(LOG)/TLA-Inc.gz
   308 
   309 $(LOG)/TLA-Inc.gz: $(OUT)/TLA TLA/Inc/Inc.thy TLA/Inc/Inc.ML \
   310   TLA/Inc/Pcount.thy
   311 	@cd TLA; $(ISATOOL) usedir $(OUT)/TLA Inc
   312 
   313 
   314 ## TLA-Buffer
   315 
   316 TLA-Buffer: TLA $(LOG)/TLA-Buffer.gz
   317 
   318 $(LOG)/TLA-Buffer.gz: $(OUT)/TLA TLA/Buffer/Buffer.thy \
   319   TLA/Buffer/Buffer.ML TLA/Buffer/DBuffer.thy TLA/Buffer/DBuffer.ML
   320 	@cd TLA; $(ISATOOL) usedir $(OUT)/TLA Buffer
   321 
   322 
   323 ## TLA-Memory
   324 
   325 TLA-Memory: TLA $(LOG)/TLA-Memory.gz
   326 
   327 $(LOG)/TLA-Memory.gz: $(OUT)/TLA TLA/Memory/MIParameters.thy \
   328   TLA/Memory/MIlive.ML TLA/Memory/MIsafe.ML TLA/Memory/MemClerk.ML \
   329   TLA/Memory/MemClerk.thy TLA/Memory/MemClerkParameters.ML \
   330   TLA/Memory/MemClerkParameters.thy TLA/Memory/Memory.ML \
   331   TLA/Memory/Memory.thy TLA/Memory/MemoryImplementation.ML \
   332   TLA/Memory/MemoryImplementation.thy TLA/Memory/MemoryParameters.ML \
   333   TLA/Memory/MemoryParameters.thy TLA/Memory/ProcedureInterface.ML \
   334   TLA/Memory/ProcedureInterface.thy TLA/Memory/RPC.ML TLA/Memory/RPC.thy \
   335   TLA/Memory/RPCMemoryParams.thy TLA/Memory/RPCParameters.ML \
   336   TLA/Memory/RPCParameters.thy
   337 	@cd TLA; $(ISATOOL) usedir $(OUT)/TLA Memory
   338 
   339 
   340 ## clean
   341 
   342 clean:
   343 	@rm -f $(OUT)/HOL $(LOG)/HOL.gz $(LOG)/HOL-Subst.gz \
   344 	  $(LOG)/HOL-Induct.gz $(LOG)/HOL-IMP.gz $(LOG)/HOL-Hoare.gz \
   345 	  $(LOG)/HOL-Lex.gz $(LOG)/HOL-Auth.gz $(LOG)/HOL-UNITY.gz \
   346 	  $(LOG)/HOL-Modelcheck.gz $(LOG)/HOL-Lambda.gz $(LOG)/HOL-W0.gz \
   347 	  $(LOG)/HOL-MiniML.gz $(LOG)/HOL-IOA.gz $(LOG)/HOL-AxClasses.gz \
   348 	  $(LOG)/HOL-AxClasses-Group.gz $(LOG)/HOL-AxClasses-Lattice.gz \
   349 	  $(LOG)/HOL-AxClasses-Tutorial.gz $(LOG)/HOL-Quot.gz \
   350 	  $(LOG)/HOL-ex.gz $(OUT)/TLA $(LOG)/TLA.gz $(LOG)/TLA-Inc.gz \
   351 	  $(LOG)/TLA-Buffer.gz $(LOG)/TLA-Memory.gz