#
# IsaMakefile for Tutorial
#
## targets
default: HOL-ToyList HOL-Ifexpr HOL-CodeGen HOL-Trie HOL-Datatype HOL-Fun HOL-Fun \
HOL-Advanced HOL-Rules HOL-Sets HOL-CTL HOL-Inductive HOL-Types HOL-Misc \
HOL-Protocol HOL-Documents styles
images:
test:
all: default
## global settings
SRC = $(ISABELLE_HOME)/src
OUT = $(ISABELLE_OUTPUT)
LOG = $(OUT)/log
OPTIONS = -m brackets -i true -d "" -D document
USEDIR = @$(ISABELLE_TOOL) usedir $(OPTIONS) $(OUT)/HOL
## HOL
HOL:
@cd $(SRC)/HOL; $(ISABELLE_TOOL) make HOL
styles:
@rm -f isabelle.sty
@rm -f isabellesym.sty
@rm -f pdfsetup.sty
@$(ISABELLE_TOOL) latex -o sty >/dev/null
@rm -f pdfsetup.sty
@rm -f */document/isabelle.sty
@rm -f */document/isabellesym.sty
@rm -f */document/pdfsetup.sty
@rm -f */document/session.tex
## HOL-Ifexpr
HOL-Ifexpr: HOL $(LOG)/HOL-Ifexpr.gz
$(LOG)/HOL-Ifexpr.gz: $(OUT)/HOL Ifexpr/Ifexpr.thy Ifexpr/ROOT.ML
$(USEDIR) Ifexpr
@rm -f tutorial.dvi
## HOL-ToyList
HOL-ToyList: HOL $(LOG)/HOL-ToyList.gz $(LOG)/HOL-ToyList2.gz
ToyList2/ToyList.thy: ToyList2/ToyList1 ToyList2/ToyList2
cat ToyList2/ToyList1 ToyList2/ToyList2 > ToyList2/ToyList.thy
$(LOG)/HOL-ToyList2.gz: $(OUT)/HOL ToyList2/ToyList.thy ToyList2/ROOT.ML
$(USEDIR) ToyList2
@rm -f tutorial.dvi
$(LOG)/HOL-ToyList.gz: $(OUT)/HOL ToyList/ToyList.thy ToyList/ROOT.ML
$(USEDIR) ToyList
@rm -f tutorial.dvi
## HOL-CodeGen
HOL-CodeGen: HOL $(LOG)/HOL-CodeGen.gz
$(LOG)/HOL-CodeGen.gz: $(OUT)/HOL CodeGen/ROOT.ML CodeGen/CodeGen.thy
$(USEDIR) CodeGen
@rm -f tutorial.dvi
## HOL-Datatype
HOL-Datatype: HOL $(LOG)/HOL-Datatype.gz
$(LOG)/HOL-Datatype.gz: $(OUT)/HOL Datatype/ROOT.ML Datatype/ABexpr.thy \
Datatype/Nested.thy Datatype/unfoldnested.thy \
Datatype/Fundata.thy
$(USEDIR) Datatype
@rm -f tutorial.dvi
## HOL-Trie
HOL-Trie: HOL $(LOG)/HOL-Trie.gz
$(LOG)/HOL-Trie.gz: $(OUT)/HOL Trie/ROOT.ML Trie/Trie.thy
$(USEDIR) Trie
@rm -f tutorial.dvi
## HOL-Fun
HOL-Fun: HOL $(LOG)/HOL-Fun.gz
$(LOG)/HOL-Fun.gz: $(OUT)/HOL Fun/ROOT.ML Fun/fun0.thy
$(USEDIR) Fun
@rm -f tutorial.dvi
## HOL-Advanced
HOL-Advanced: HOL $(LOG)/HOL-Advanced.gz
$(LOG)/HOL-Advanced.gz: $(OUT)/HOL Advanced/simp.thy Advanced/ROOT.ML
$(USEDIR) Advanced
@rm -f tutorial.dvi
## HOL-Rules
HOL-Rules: HOL $(LOG)/HOL-Rules.gz
$(LOG)/HOL-Rules.gz: $(OUT)/HOL Rules/Basic.thy \
Rules/Blast.thy Rules/Force.thy Rules/Primes.thy Rules/Forward.thy \
Rules/Tacticals.thy Rules/find2.thy Rules/ROOT.ML
@$(USEDIR) Rules
@rm -f tutorial.dvi
## HOL-Sets
HOL-Sets: HOL $(LOG)/HOL-Sets.gz
$(LOG)/HOL-Sets.gz: $(OUT)/HOL Sets/Examples.thy Sets/Functions.thy \
Sets/Recur.thy Sets/Relations.thy Sets/ROOT.ML
@$(USEDIR) Sets
@rm -f tutorial.dvi
## HOL-CTL
HOL-CTL: HOL $(LOG)/HOL-CTL.gz
$(LOG)/HOL-CTL.gz: $(OUT)/HOL CTL/Base.thy CTL/PDL.thy CTL/CTL.thy CTL/CTLind.thy CTL/ROOT.ML
$(USEDIR) CTL
@rm -f tutorial.dvi
## HOL-Inductive
HOL-Inductive: HOL $(LOG)/HOL-Inductive.gz
$(LOG)/HOL-Inductive.gz: $(OUT)/HOL Inductive/ROOT.ML \
Inductive/Even.thy Inductive/Mutual.thy Inductive/Star.thy Inductive/AB.thy \
Inductive/Advanced.thy
$(USEDIR) Inductive
@rm -f tutorial.dvi
## HOL-Types
HOL-Types: HOL $(LOG)/HOL-Types.gz
$(LOG)/HOL-Types.gz: $(OUT)/HOL Types/ROOT.ML \
Types/Numbers.thy Types/Pairs.thy Types/Records.thy Types/Typedefs.thy \
Types/Overloading0.thy Types/Overloading1.thy Types/Overloading2.thy \
Types/Overloading.thy Types/Axioms.thy
$(USEDIR) Types
@rm -f tutorial.dvi
## HOL-Misc
HOL-Misc: HOL $(LOG)/HOL-Misc.gz
$(LOG)/HOL-Misc.gz: $(OUT)/HOL Misc/ROOT.ML Misc/Tree.thy Misc/Tree2.thy \
Misc/Plus.thy Misc/fakenat.thy Misc/natsum.thy Misc/pairs.thy \
Misc/Option2.thy Misc/types.thy Misc/prime_def.thy Misc/case_exprs.thy \
Misc/simp.thy Misc/Itrev.thy Misc/AdvancedInd.thy Misc/appendix.thy
$(USEDIR) Misc
@rm -f tutorial.dvi
## HOL-Protocol
HOL-Protocol: HOL $(LOG)/HOL-Protocol.gz
$(LOG)/HOL-Protocol.gz: $(OUT)/HOL Protocol/ROOT.ML \
Protocol/Message.thy Protocol/Event.thy \
Protocol/Public.thy Protocol/NS_Public.thy
$(USEDIR) Protocol
@rm -f tutorial.dvi
## HOL-Documents
HOL-Documents: HOL $(LOG)/HOL-Documents.gz
$(LOG)/HOL-Documents.gz: $(OUT)/HOL Documents/Documents.thy Documents/ROOT.ML
$(USEDIR) Documents
@rm -f tutorial.dvi
## clean
clean:
@rm -f tutorial.dvi $(LOG)/HOL-Ifexpr.gz $(LOG)/HOL-CodeGen.gz $(LOG)/HOL-Misc.gz $(LOG)/HOL-ToyList.gz $(LOG)/HOL-ToyList2.gz $(LOG)/HOL-Trie.gz $(LOG)/HOL-Datatype.gz $(LOG)/HOL-Fun.gz $(LOG)/HOL-Advanced.gz $(LOG)/HOL-Rules.gz $(LOG)/HOL-Sets.gz $(LOG)/HOL-CTL.gz $(LOG)/HOL-Inductive.gz $(LOG)/HOL-Types.gz $(LOG)/HOL-Protocol.gz $(LOG)/HOL-Documents.gz Rules/document/*.tex Sets/document/*.tex