src/HOL/HOLCF/IsaMakefile
changeset 40774 0437dbc127b3
parent 40772 c8b52f9e1680
child 41112 866148b76247
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/HOL/HOLCF/IsaMakefile	Sat Nov 27 16:08:10 2010 -0800
@@ -0,0 +1,224 @@
+#
+# IsaMakefile for HOLCF
+#
+
+## targets
+
+default: HOLCF
+images: HOLCF IOA
+test: \
+  HOLCF-FOCUS \
+  HOLCF-IMP \
+  HOLCF-Library \
+  HOLCF-Tutorial \
+  HOLCF-ex \
+  IOA-ABP \
+  IOA-NTP \
+  IOA-Storage \
+  IOA-ex
+all: images test
+
+
+## global settings
+
+SRC = $(ISABELLE_HOME)/src
+OUT = $(ISABELLE_OUTPUT)
+LOG = $(OUT)/log
+
+
+## HOLCF
+
+HOLCF: HOL $(OUT)/HOLCF
+
+HOL:
+	@cd $(SRC)/HOL; $(ISABELLE_TOOL) make HOL
+
+$(OUT)/HOLCF: $(OUT)/HOL \
+  ROOT.ML \
+  Adm.thy \
+  Algebraic.thy \
+  Bifinite.thy \
+  Cfun.thy \
+  CompactBasis.thy \
+  Completion.thy \
+  Cont.thy \
+  ConvexPD.thy \
+  Cpodef.thy \
+  Cprod.thy \
+  Discrete.thy \
+  Deflation.thy \
+  Domain.thy \
+  Domain_Aux.thy \
+  Fixrec.thy \
+  Fix.thy \
+  Fun_Cpo.thy \
+  HOLCF.thy \
+  Lift.thy \
+  LowerPD.thy \
+  Map_Functions.thy \
+  One.thy \
+  Pcpo.thy \
+  Plain_HOLCF.thy \
+  Porder.thy \
+  Powerdomains.thy \
+  Product_Cpo.thy \
+  Sfun.thy \
+  Sprod.thy \
+  Ssum.thy \
+  Tr.thy \
+  Universal.thy \
+  UpperPD.thy \
+  Up.thy \
+  Tools/cont_consts.ML \
+  Tools/cont_proc.ML \
+  Tools/holcf_library.ML \
+  Tools/Domain/domain.ML \
+  Tools/Domain/domain_axioms.ML \
+  Tools/Domain/domain_constructors.ML \
+  Tools/Domain/domain_induction.ML \
+  Tools/Domain/domain_isomorphism.ML \
+  Tools/Domain/domain_take_proofs.ML \
+  Tools/cpodef.ML \
+  Tools/domaindef.ML \
+  Tools/fixrec.ML \
+  document/root.tex
+	@$(ISABELLE_TOOL) usedir -b -g true $(OUT)/HOL HOLCF
+
+
+## HOLCF-Tutorial
+
+HOLCF-Tutorial: HOLCF $(LOG)/HOLCF-Tutorial.gz
+
+$(LOG)/HOLCF-Tutorial.gz: $(OUT)/HOLCF \
+  Tutorial/Domain_ex.thy \
+  Tutorial/Fixrec_ex.thy \
+  Tutorial/New_Domain.thy \
+  Tutorial/document/root.tex \
+  Tutorial/ROOT.ML
+	@$(ISABELLE_TOOL) usedir $(OUT)/HOLCF Tutorial
+
+
+## HOLCF-Library
+
+HOLCF-Library: HOLCF $(LOG)/HOLCF-Library.gz
+
+$(LOG)/HOLCF-Library.gz: $(OUT)/HOLCF \
+  Library/Defl_Bifinite.thy \
+  Library/List_Cpo.thy \
+  Library/Stream.thy \
+  Library/Sum_Cpo.thy \
+  Library/HOLCF_Library.thy \
+  Library/ROOT.ML
+	@$(ISABELLE_TOOL) usedir $(OUT)/HOLCF Library
+
+
+## HOLCF-IMP
+
+HOLCF-IMP: HOLCF $(LOG)/HOLCF-IMP.gz
+
+$(LOG)/HOLCF-IMP.gz: $(OUT)/HOLCF IMP/HoareEx.thy \
+  IMP/Denotational.thy IMP/ROOT.ML IMP/document/root.tex
+	@$(ISABELLE_TOOL) usedir $(OUT)/HOLCF IMP
+
+
+## HOLCF-ex
+
+HOLCF-ex: HOLCF $(LOG)/HOLCF-ex.gz
+
+$(LOG)/HOLCF-ex.gz: $(OUT)/HOLCF \
+  ../Library/Nat_Infinity.thy \
+  ex/Dagstuhl.thy \
+  ex/Dnat.thy \
+  ex/Domain_Proofs.thy \
+  ex/Fix2.thy \
+  ex/Focus_ex.thy \
+  ex/Hoare.thy \
+  ex/Letrec.thy \
+  ex/Loop.thy \
+  ex/Pattern_Match.thy \
+  ex/Powerdomain_ex.thy \
+  ex/ROOT.ML
+	@$(ISABELLE_TOOL) usedir $(OUT)/HOLCF ex
+
+
+## HOLCF-FOCUS
+
+HOLCF-FOCUS: HOLCF $(LOG)/HOLCF-FOCUS.gz
+
+$(LOG)/HOLCF-FOCUS.gz: $(OUT)/HOLCF \
+  Library/Stream.thy \
+  FOCUS/Fstreams.thy \
+  FOCUS/Fstream.thy FOCUS/FOCUS.thy \
+  FOCUS/Stream_adm.thy ../Library/Continuity.thy \
+  FOCUS/Buffer.thy FOCUS/Buffer_adm.thy
+	@$(ISABELLE_TOOL) usedir $(OUT)/HOLCF FOCUS
+
+## IOA
+
+IOA: HOLCF $(OUT)/IOA
+
+$(OUT)/IOA: $(OUT)/HOLCF IOA/ROOT.ML IOA/meta_theory/Traces.thy        \
+  IOA/meta_theory/Asig.thy IOA/meta_theory/CompoScheds.thy	       \
+  IOA/meta_theory/CompoTraces.thy IOA/meta_theory/Seq.thy	       \
+  IOA/meta_theory/RefCorrectness.thy IOA/meta_theory/Automata.thy      \
+  IOA/meta_theory/ShortExecutions.thy IOA/meta_theory/IOA.thy	       \
+  IOA/meta_theory/Sequence.thy IOA/meta_theory/CompoExecs.thy	       \
+  IOA/meta_theory/RefMappings.thy IOA/meta_theory/Compositionality.thy \
+  IOA/meta_theory/TL.thy IOA/meta_theory/TLS.thy		       \
+  IOA/meta_theory/LiveIOA.thy IOA/meta_theory/Pred.thy		       \
+  IOA/meta_theory/Abstraction.thy IOA/meta_theory/Simulations.thy      \
+  IOA/meta_theory/SimCorrectness.thy
+	@cd IOA; $(ISABELLE_TOOL) usedir -b $(OUT)/HOLCF IOA
+
+
+## IOA-ABP
+
+IOA-ABP: IOA $(LOG)/IOA-ABP.gz
+
+$(LOG)/IOA-ABP.gz: $(OUT)/IOA IOA/ABP/Abschannel.thy \
+  IOA/ABP/Abschannel_finite.thy IOA/ABP/Action.thy \
+  IOA/ABP/Check.ML IOA/ABP/Correctness.thy \
+  IOA/ABP/Env.thy IOA/ABP/Impl.thy IOA/ABP/Impl_finite.thy \
+  IOA/ABP/Lemmas.thy IOA/ABP/Packet.thy \
+  IOA/ABP/ROOT.ML IOA/ABP/Receiver.thy IOA/ABP/Sender.thy \
+  IOA/ABP/Spec.thy
+	@cd IOA; $(ISABELLE_TOOL) usedir $(OUT)/IOA ABP
+
+## IOA-NTP
+
+IOA-NTP: IOA $(LOG)/IOA-NTP.gz
+
+$(LOG)/IOA-NTP.gz: $(OUT)/IOA \
+  IOA/NTP/Abschannel.thy IOA/NTP/Action.thy IOA/NTP/Correctness.thy \
+  IOA/NTP/Impl.thy IOA/NTP/Lemmas.thy IOA/NTP/Multiset.thy \
+  IOA/NTP/Packet.thy IOA/NTP/ROOT.ML IOA/NTP/Receiver.thy IOA/NTP/Sender.thy \
+  IOA/NTP/Spec.thy
+	@cd IOA; $(ISABELLE_TOOL) usedir $(OUT)/IOA NTP
+
+
+## IOA-Storage
+
+IOA-Storage: IOA $(LOG)/IOA-Storage.gz
+
+$(LOG)/IOA-Storage.gz: $(OUT)/IOA IOA/Storage/Action.thy \
+  IOA/Storage/Correctness.thy IOA/Storage/Impl.thy \
+  IOA/Storage/ROOT.ML IOA/Storage/Spec.thy
+	@cd IOA; $(ISABELLE_TOOL) usedir $(OUT)/IOA Storage
+
+
+## IOA-ex
+
+IOA-ex: IOA $(LOG)/IOA-ex.gz
+
+$(LOG)/IOA-ex.gz: $(OUT)/IOA IOA/ex/ROOT.ML IOA/ex/TrivEx.thy IOA/ex/TrivEx2.thy
+	@cd IOA; $(ISABELLE_TOOL) usedir $(OUT)/IOA ex
+
+
+## clean
+
+clean:
+	@rm -f $(OUT)/HOLCF $(LOG)/HOLCF.gz $(LOG)/HOLCF-IMP.gz	\
+	  $(LOG)/HOLCF-ex.gz $(LOG)/HOLCF-FOCUS.gz $(OUT)/IOA	\
+	  $(LOG)/IOA.gz $(LOG)/IOA-ABP.gz $(LOG)/IOA-NTP.gz	\
+	  $(LOG)/IOA-Storage.gz $(LOG)/HOLCF-Library.gz		\
+	  $(LOG)/IOA-ex.gz $(LOG)/HOLCF-Tutorial.gz