#
# IsaMakefile for HOLCF
#
## targets
default: HOLCF
images: HOLCF IOA
test: HOLCF-IMP HOLCF-ex HOLCF-FOCUS \
HOLCF-Tutorial \
IOA-ABP IOA-NTP IOA-Modelcheck 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 \
Cprod.thy \
Discrete.thy \
Deflation.thy \
Domain.thy \
Domain_Aux.thy \
Eventual.thy \
Ffun.thy \
Fixrec.thy \
Fix.thy \
HOLCF.thy \
Lift.thy \
LowerPD.thy \
One.thy \
Pcpodef.thy \
Pcpo.thy \
Porder.thy \
Powerdomains.thy \
Product_Cpo.thy \
Representable.thy \
Sprod.thy \
Ssum.thy \
Sum_Cpo.thy \
Tr.thy \
Universal.thy \
UpperPD.thy \
Up.thy \
Tools/cont_consts.ML \
Tools/cont_proc.ML \
Tools/holcf_library.ML \
Tools/Domain/domain_extender.ML \
Tools/Domain/domain_axioms.ML \
Tools/Domain/domain_constructors.ML \
Tools/Domain/domain_isomorphism.ML \
Tools/Domain/domain_library.ML \
Tools/Domain/domain_take_proofs.ML \
Tools/Domain/domain_theorems.ML \
Tools/fixrec.ML \
Tools/pcpodef.ML \
Tools/repdef.ML \
document/root.tex
@$(ISABELLE_TOOL) usedir -b -g true -r $(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-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 \
../HOL/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/Stream.thy \
ex/Strict_Fun.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 \
ex/Stream.thy \
FOCUS/Fstreams.thy \
FOCUS/Fstream.thy FOCUS/FOCUS.thy \
FOCUS/Stream_adm.thy ../HOL/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 IOA/meta_theory/automaton.ML
@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-Modelcheck
IOA-Modelcheck: IOA $(LOG)/IOA-Modelcheck.gz
$(LOG)/IOA-Modelcheck.gz: $(OUT)/IOA IOA/Modelcheck/ROOT.ML \
IOA/Modelcheck/Cockpit.thy IOA/Modelcheck/MuIOA.thy \
IOA/Modelcheck/MuIOAOracle.thy IOA/Modelcheck/Ring3.thy
@cd IOA; $(ISABELLE_TOOL) usedir $(OUT)/IOA Modelcheck
## 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-Modelcheck.gz $(LOG)/IOA-Storage.gz \
$(LOG)/IOA-ex.gz $(LOG)/HOLCF-Tutorial.gz