src/HOLCF/IsaMakefile
changeset 4518 74c01296e818
parent 4447 b7ee449eb345
child 4562 7aa75c767182
--- a/src/HOLCF/IsaMakefile	Tue Jan 06 12:32:43 1998 +0100
+++ b/src/HOLCF/IsaMakefile	Wed Jan 07 13:53:42 1998 +0100
@@ -4,43 +4,69 @@
 # IsaMakefile for HOLCF
 #
 
-#### Base system
+## targets
 
+default: HOLCF
+images: HOLCF IOA
+test: HOLCF-IMP HOLCF-ex IOA-ABP IOA-NTP
+all: images test
+
+
+## global settings
+
+SRC = $(ISABELLE_HOME)/src
 OUT = $(ISABELLE_OUTPUT)
 LOG = $(OUT)/log
 
-THYS = Porder.thy Porder0.thy Pcpo.thy \
-       Fun1.thy Fun2.thy Fun3.thy \
-       Cfun1.thy Cfun2.thy Cfun3.thy Cont.thy \
-       Cprod1.thy Cprod2.thy Cprod3.thy \
-       Sprod0.thy Sprod1.thy Sprod2.thy Sprod3.thy \
-       Ssum0.thy Ssum1.thy Ssum2.thy Ssum3.thy \
-       Up1.thy Up2.thy Up3.thy Fix.thy \
-       One.thy Tr.thy\
-       Discrete0.thy Discrete1.thy Discrete.thy\
-       Lift1.thy Lift2.thy Lift3.thy Lift.thy HOLCF.thy
+
+## HOLCF
+
+HOLCF: HOL $(OUT)/HOLCF
+
+HOL:
+	@cd $(SRC)/HOL; $(ISATOOL) make HOL
 
-ONLYTHYS = 
-
-FILES = ROOT.ML $(THYS) $(ONLYTHYS) $(THYS:.thy=.ML) adm.ML \
-	holcf_logic.ML cont_consts.ML \
-        domain/library.ML  domain/syntax.ML   domain/axioms.ML \
-        domain/theorems.ML domain/extender.ML domain/interface.ML
-
-$(OUT)/HOLCF: $(OUT)/HOL $(FILES)
+$(OUT)/HOLCF: $(OUT)/HOL Cfun1.ML Cfun1.thy Cfun2.ML Cfun2.thy \
+  Cfun3.ML Cfun3.thy Cont.ML Cont.thy Cprod1.ML Cprod1.thy Cprod2.ML \
+  Cprod2.thy Cprod3.ML Cprod3.thy Discrete.ML Discrete.thy Discrete0.ML \
+  Discrete0.thy Discrete1.ML Discrete1.thy Fix.ML Fix.thy Fun1.ML \
+  Fun1.thy Fun2.ML Fun2.thy Fun3.ML Fun3.thy HOLCF.ML HOLCF.thy Lift.ML \
+  Lift.thy Lift1.ML Lift1.thy Lift2.ML Lift2.thy Lift3.ML Lift3.thy \
+  One.ML One.thy Pcpo.ML Pcpo.thy Porder.ML Porder.thy Porder0.ML \
+  Porder0.thy ROOT.ML Sprod0.ML Sprod0.thy Sprod1.ML Sprod1.thy \
+  Sprod2.ML Sprod2.thy Sprod3.ML Sprod3.thy Ssum0.ML Ssum0.thy Ssum1.ML \
+  Ssum1.thy Ssum2.ML Ssum2.thy Ssum3.ML Ssum3.thy Tr.ML Tr.thy Up1.ML \
+  Up1.thy Up2.ML Up2.thy Up3.ML Up3.thy adm.ML cont_consts.ML \
+  domain/axioms.ML domain/extender.ML domain/interface.ML \
+  domain/library.ML domain/syntax.ML domain/theorems.ML holcf_logic.ML
 	@$(ISATOOL) usedir -b $(OUT)/HOL HOLCF
 
-$(OUT)/HOL:
-	@cd ../HOL; $(ISATOOL) make
+
+## HOLCF-IMP
 
+HOLCF-IMP: HOLCF $(LOG)/HOLCF-IMP.gz
+
+$(LOG)/HOLCF-IMP.gz: $(OUT)/HOLCF IMP/Denotational.ML \
+  IMP/Denotational.thy IMP/ROOT.ML
+	@$(ISATOOL) usedir $(OUT)/HOLCF IMP
 
 
-#### Tests and examples
+## HOLCF-ex
+
+HOLCF-ex: HOLCF $(LOG)/HOLCF-ex.gz
 
-## IOA meta theory and examples
+$(LOG)/HOLCF-ex.gz: $(OUT)/HOLCF ex/Dagstuhl.ML ex/Dagstuhl.thy \
+  ex/Dnat.ML ex/Dnat.thy ex/Fix2.ML ex/Fix2.thy ex/Focus_ex.ML \
+  ex/Focus_ex.thy ex/Hoare.ML ex/Hoare.thy ex/Loop.ML ex/Loop.thy \
+  ex/ROOT.ML ex/Stream.ML ex/Stream.thy ex/loeckx.ML
+	@$(ISATOOL) usedir $(OUT)/HOLCF ex
 
 
-IOA_FILES = IOA/ROOT.ML IOA/meta_theory/Traces.thy \
+## IOA
+
+IOA: HOLCF $(OUT)/IOA
+
+$(OUT)/IOA: $(OUT)/HOLCF IOA/ROOT.ML IOA/meta_theory/Traces.thy \
   IOA/meta_theory/Asig.ML IOA/meta_theory/Asig.thy \
   IOA/meta_theory/CompoScheds.thy IOA/meta_theory/CompoExecs.ML \
   IOA/meta_theory/CompoTraces.thy IOA/meta_theory/CompoScheds.ML \
@@ -54,72 +80,41 @@
   IOA/meta_theory/CompoExecs.thy IOA/meta_theory/RefMappings.thy \
   IOA/meta_theory/RefCorrectness.ML IOA/meta_theory/Compositionality.ML \
   IOA/meta_theory/Compositionality.thy
-
-
-IOA_ABP_FILES = IOA/ABP/Abschannel.thy \
-  IOA/ABP/Abschannel_finite.thy IOA/ABP/Action.ML \
-  IOA/ABP/Action.thy IOA/ABP/Check.ML \
-  IOA/ABP/Correctness.ML IOA/ABP/Correctness.thy \
-  IOA/ABP/Env.thy IOA/ABP/Impl.thy \
-  IOA/ABP/Impl_finite.thy IOA/ABP/Lemmas.ML \
-  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; $(ISATOOL) usedir -b $(OUT)/HOLCF IOA
 
 
-IOA_NTP_FILES = IOA/NTP/Abschannel.ML \
-  IOA/NTP/Abschannel.thy IOA/NTP/Action.ML  \
-  IOA/NTP/Action.thy IOA/NTP/Correctness.ML \
-  IOA/NTP/Correctness.thy IOA/NTP/Impl.ML \
-  IOA/NTP/Impl.thy IOA/NTP/Lemmas.ML \
-  IOA/NTP/Lemmas.thy IOA/NTP/Multiset.ML \
-  IOA/NTP/Multiset.thy IOA/NTP/Packet.ML \
-  IOA/NTP/Packet.thy IOA/NTP/ROOT.ML \
-  IOA/NTP/Receiver.ML IOA/NTP/Receiver.thy \
-  IOA/NTP/Sender.ML IOA/NTP/Sender.thy \
-  IOA/NTP/Spec.thy 
+## IOA-ABP
+
+IOA-ABP: IOA $(LOG)/IOA-ABP.gz
 
- 
-$(OUT)/IOA: $(OUT)/HOLCF $(IOA_FILES)
-	@cd IOA; $(ISATOOL) usedir -b $(OUT)/HOLCF IOA
-
-$(LOG)/IOA-ABP.gz: $(OUT)/IOA $(IOA_ABP_FILES)
+$(LOG)/IOA-ABP.gz: $(OUT)/IOA IOA/ABP/Abschannel.thy \
+  IOA/ABP/Abschannel_finite.thy IOA/ABP/Action.ML IOA/ABP/Action.thy \
+  IOA/ABP/Check.ML IOA/ABP/Correctness.ML IOA/ABP/Correctness.thy \
+  IOA/ABP/Env.thy IOA/ABP/Impl.thy IOA/ABP/Impl_finite.thy \
+  IOA/ABP/Lemmas.ML 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; $(ISATOOL) usedir $(OUT)/IOA ABP
 
-$(LOG)/IOA-NTP.gz: $(OUT)/IOA $(IOA_NTP_FILES)
+
+## IOA-NTP
+
+IOA-NTP: IOA $(LOG)/IOA-NTP.gz
+
+$(LOG)/IOA-NTP.gz: $(OUT)/IOA IOA/NTP/Abschannel.ML \
+  IOA/NTP/Abschannel.thy IOA/NTP/Action.ML IOA/NTP/Action.thy \
+  IOA/NTP/Correctness.ML IOA/NTP/Correctness.thy IOA/NTP/Impl.ML \
+  IOA/NTP/Impl.thy IOA/NTP/Lemmas.ML IOA/NTP/Lemmas.thy \
+  IOA/NTP/Multiset.ML IOA/NTP/Multiset.thy IOA/NTP/Packet.ML \
+  IOA/NTP/Packet.thy IOA/NTP/ROOT.ML IOA/NTP/Receiver.ML \
+  IOA/NTP/Receiver.thy IOA/NTP/Sender.ML IOA/NTP/Sender.thy \
+  IOA/NTP/Spec.thy
 	@cd IOA; $(ISATOOL) usedir $(OUT)/IOA NTP
 
 
-## IMP
-
-IMP_THYS = IMP/Denotational.thy
-IMP_FILES = IMP/ROOT.ML $(IMP_THYS) $(IMP_THYS:.thy=.ML)
-
-$(LOG)/HOLCF-IMP.gz: $(OUT)/HOLCF $(IMP_FILES)
-	@$(ISATOOL) usedir $(OUT)/HOLCF IMP
-
-
-## Miscellaneous examples
-
-EX_THYS = ex/Dnat.thy ex/Stream.thy \
-	  ex/Dagstuhl.thy ex/Focus_ex.thy ex/Fix2.thy \
-	  ex/Hoare.thy ex/Loop.thy
-
-EX_FILES = ex/ROOT.ML ex/loeckx.ML $(EX_THYS) $(EX_THYS:.thy=.ML)
-
-$(LOG)/HOLCF-ex.gz: ex/ROOT.ML $(EX_FILES)
-	@$(ISATOOL) usedir $(OUT)/HOLCF ex
-
-
-## Full test
-
-ALL_TARGETS = $(OUT)/HOLCF $(OUT)/IOA $(LOG)/IOA-ABP.gz $(LOG)/IOA-NTP.gz \
-  $(LOG)/HOLCF-IMP.gz $(LOG)/HOLCF-ex.gz
-
-test: $(ALL_TARGETS)
+## clean
 
 clean:
-	@rm -f $(ALL_TARGETS)
-
-
-.PRECIOUS: $(OUT)/HOL $(OUT)/HOLCF
+	@rm -f $(OUT)/HOLCF $(LOG)/HOLCF.gz $(LOG)/HOLCF-IMP.gz \
+	  $(LOG)/HOLCF-ex.gz $(OUT)/IOA $(LOG)/IOA.gz $(LOG)/IOA-ABP.gz \
+	  $(LOG)/IOA-NTP.gz