IsaMakefile
author Cezary Kaliszyk <cezarykaliszyk@gmail.com>
Tue, 22 May 2012 14:55:58 +0200
changeset 3173 9876d73adb2b
parent 3132 87eca760dcba
child 3186 425b4c406d80
permissions -rw-r--r--
Executing Lambda Terms


## targets

default: session
images: 

all: tests esop pearl pearl-jv qpaper qpaper-jv slides lmcs


## global settings

SRC = $(ISABELLE_HOME)/src
OUT = $(ISABELLE_OUTPUT)
LOG = $(OUT)/log

USEDIR = $(ISABELLE_TOOL) usedir -v true -t true -m no_brackets

## Nominal2                                                                                                             

session: $(LOG)/HOL-Nominal2.gz

$(LOG)/HOL-Nominal2.gz: Nominal/FROOT.ML Nominal/*.thy
	@cd Nominal; $(USEDIR) -f FROOT.ML -b -d "" HOL Nominal2


## tests

tests: $(LOG)/HOL-Nominal2-tests.gz

$(LOG)/HOL-Nominal2-tests.gz: Nominal/ROOT.ML Nominal/*.thy
	@$(USEDIR) HOL Nominal
	@$(USEDIR) HOL Tutorial

## ESOP Paper

esop: $(LOG)/HOL-ESOP-Paper.gz

$(LOG)/HOL-ESOP-Paper.gz: ESOP-Paper/ROOT.ML ESOP-Paper/document/root.* ESOP-Paper/*.thy
	@$(USEDIR) -f ROOT.ML -D generated Nominal2 ESOP-Paper
	$(ISABELLE_TOOL) document -o pdf  ESOP-Paper/generated
	@cp ESOP-Paper/document.pdf esop-paper.pdf

## LMCS Paper

lmcs: $(LOG)/HOL-LMCS-Paper.gz

$(LOG)/HOL-LMCS-Paper.gz: LMCS-Paper/ROOT.ML LMCS-Paper/document/root.* LMCS-Paper/*.thy
	@$(USEDIR) -f ROOT.ML -D generated Nominal2 LMCS-Paper
	$(ISABELLE_TOOL) document -o pdf  LMCS-Paper/generated
	@cp LMCS-Paper/document.pdf lmcs-paper.pdf

## Pearl Paper ITP

pearl: $(LOG)/HOL-Pearl.gz

$(LOG)/HOL-Pearl.gz: Pearl/ROOT.ML Pearl/document/root.* Pearl/*.thy
	@$(USEDIR) -D generated HOL Pearl
	$(ISABELLE_TOOL) document -o pdf Pearl/generated
	@cp Pearl/document.pdf pearl.pdf

## Pearl Journal Paper 

$(LOG)/HOL-Pearl-jv.gz: Pearl-jv/ROOT.ML Nominal/*.thy
	@cd Pearl-jv; $(USEDIR) -b -f ROOT.ML HOL HOL-Pearl-jv

pearl-jv: $(LOG)/HOL-Pearl-jv.gz Pearl-jv/ROOT2.ML Pearl-jv/document/root.* Pearl-jv/*.thy
	@$(USEDIR) -f ROOT2.ML -D generated HOL-Pearl-jv Pearl-jv
	@$(ISABELLE_TOOL) document -o pdf Pearl-jv/generated
	@cp Pearl-jv/document.pdf pearl-jv.pdf	

## Quotient Paper 

qpaper: $(LOG)/HOL-QPaper.gz

$(LOG)/HOL-QPaper.gz: Quotient-Paper/ROOT.ML Quotient-Paper/document/root.* Quotient-Paper/*.thy
	@$(USEDIR) -D generated HOL Quotient-Paper
	$(ISABELLE_TOOL) document -o pdf Quotient-Paper/generated
	@cp Quotient-Paper/document.pdf qpaper.pdf

## Quotient Journal Paper

qpaper-jv: $(LOG)/HOL-QPaper-jv.gz

$(LOG)/HOL-QPaper-jv.gz: Quotient-Paper-jv/ROOT.ML Quotient-Paper-jv/document/root.* Quotient-Paper-jv/*.thy
	@$(USEDIR) -D generated HOL Quotient-Paper-jv
	$(ISABELLE_TOOL) document -o pdf Quotient-Paper-jv/generated
	@cp Quotient-Paper-jv/document.pdf qpaper-jv.pdf

## SFT Paper

sft-paper: $(LOG)/Nominal-SFT-Paper.gz

$(LOG)/Nominal-SFT-Paper.gz: Nominal/Ex/SFT/ROOT.ML Nominal/Ex/SFT/document/root.* Nominal/Ex/SFT/*.thy
	@$(USEDIR) -f ROOT.ML -D generated Nominal2 Nominal/Ex/SFT
	$(ISABELLE_TOOL) document -o pdf  Nominal/Ex/SFT/generated
	@cp Nominal/Ex/SFT/document.pdf sft-paper.pdf


## Exec Paper

exec-paper: $(LOG)/Nominal-Exec-Paper.gz

$(LOG)/Nominal-Exec-Paper.gz: Nominal/Ex/Exec/ROOT.ML Nominal/Ex/Exec/document/root.* Nominal/Ex/Exec/*.thy
	@$(USEDIR) -f ROOT.ML -D generated Nominal2 Nominal/Ex/Exec
	$(ISABELLE_TOOL) document -o pdf  Nominal/Ex/Exec/generated
	@cp Nominal/Ex/Exec/document.pdf exec-paper.pdf


## Nominal Functions paper

fnpaper: $(LOG)/HOL-FnPaper.gz

$(LOG)/HOL-FnPaper.gz: Fun-Paper/ROOT.ML Fun-Paper/document/root.* Fun-Paper/*.thy
	@$(USEDIR) -D generated HOL Fun-Paper
	$(ISABELLE_TOOL) document -o pdf Fun-Paper/generated
	@cp Fun-Paper/document.pdf fnpaper.pdf

## Slides

session1: Slides/ROOT1.ML \
         Slides/document/root* \
         Slides/Slides1.thy
	@$(USEDIR) -D generated1 -f ROOT1.ML HOL-Nominal Slides

slides1: session1
	rm -f Slides/generated1/*.aux # otherwise latex will fall over
	cd Slides/generated1 ; $(ISABELLE_TOOL) latex -o pdf root.beamer.tex
	cd Slides/generated1 ; $(ISABELLE_TOOL) latex -o pdf root.beamer.tex
	cp Slides/generated1/root.beamer.pdf Slides/slides1.pdf     

session2: Slides/ROOT2.ML \
         Slides/document/root* \
         Slides/Slides2.thy
	@$(USEDIR) -D generated2 -f ROOT2.ML HOL-Nominal Slides

slides2: session2
	rm -f Slides/generated2/*.aux # otherwise latex will fall over
	cd Slides/generated2 ; $(ISABELLE_TOOL) latex -o pdf root.beamer.tex
	cd Slides/generated2 ; $(ISABELLE_TOOL) latex -o pdf root.beamer.tex
	cp Slides/generated2/root.beamer.pdf Slides/slides2.pdf 

session3: Slides/ROOT3.ML \
         Slides/document/root* \
         Slides/Slides3.thy
	@$(USEDIR) -D generated3 -f ROOT3.ML HOL-Nominal Slides

slides3: session3
	rm -f Slides/generated3/*.aux # otherwise latex will fall over
	cd Slides/generated3 ; $(ISABELLE_TOOL) latex -o pdf root.beamer.tex
	cd Slides/generated3 ; $(ISABELLE_TOOL) latex -o pdf root.beamer.tex
	cp Slides/generated3/root.beamer.pdf Slides/slides3.pdf 

session4: Slides/ROOT4.ML \
         Slides/document/root* \
         Slides/Slides4.thy
	@$(USEDIR) -D generated4 -f ROOT4.ML HOL-Nominal Slides

slides4: session4
	rm -f Slides/generated4/*.aux # otherwise latex will fall over
	cd Slides/generated4 ; $(ISABELLE_TOOL) latex -o pdf root.beamer.tex
	cd Slides/generated4 ; $(ISABELLE_TOOL) latex -o pdf root.beamer.tex
	cp Slides/generated4/root.beamer.pdf Slides/slides4.pdf 

session5: Slides/ROOT5.ML \
         Slides/document/root* \
         Slides/Slides5.thy
	@$(USEDIR) -D generated5 -f ROOT5.ML HOL-Nominal Slides

slides5: session5
	rm -f Slides/generated5/*.aux # otherwise latex will fall over
	cd Slides/generated5 ; $(ISABELLE_TOOL) latex -o pdf root.beamer.tex
	cd Slides/generated5 ; $(ISABELLE_TOOL) latex -o pdf root.beamer.tex
	cp Slides/generated5/root.beamer.pdf Slides/slides5.pdf 

session6: Slides/ROOT6.ML \
         Slides/document/root* \
         Slides/Slides6.thy
	@$(USEDIR) -D generated6 -f ROOT6.ML HOL-Nominal Slides

slides6: session6
	rm -f Slides/generated6/*.aux # otherwise latex will fall over
	cd Slides/generated6 ; $(ISABELLE_TOOL) latex -o pdf root.beamer.tex
	cd Slides/generated6 ; $(ISABELLE_TOOL) latex -o pdf root.beamer.tex
	cp Slides/generated6/root.beamer.pdf Slides/slides6.pdf 

session7: Slides/ROOT7.ML \
         Slides/document/root* \
         Slides/Slides6.thy
	@$(USEDIR) -D generated7 -f ROOT7.ML HOL Slides

slides7: session7
	rm -f Slides/generated7/*.aux # otherwise latex will fall over                                      
	cd Slides/generated7 ; $(ISABELLE_TOOL) latex -o pdf root.beamer.tex
	cd Slides/generated7 ; $(ISABELLE_TOOL) latex -o pdf root.beamer.tex
	cp Slides/generated7/root.beamer.pdf Slides/slides7.pdf 

session8: Slides/ROOT8.ML \
         Slides/document/root* \
         Slides/Slides6.thy
	@$(USEDIR) -D generated8 -f ROOT8.ML HOL-Nominal Slides

slides8: session8
	rm -f Slides/generated8/*.aux # otherwise latex will fall over                                      
	cd Slides/generated8 ; $(ISABELLE_TOOL) latex -o pdf root.beamer.tex
	cd Slides/generated8 ; $(ISABELLE_TOOL) latex -o pdf root.beamer.tex
	cp Slides/generated8/root.beamer.pdf Slides/slides8.pdf 

session9: Slides/ROOT9.ML \
         Slides/document/root* \
         Slides/Slides6.thy
	@$(USEDIR) -D generated9 -f ROOT9.ML HOL-Nominal Slides

slides9: session9
	rm -f Slides/generated9/*.aux # otherwise latex will fall over                                      
	cd Slides/generated9 ; $(ISABELLE_TOOL) latex -o pdf root.beamer.tex
	cd Slides/generated9 ; $(ISABELLE_TOOL) latex -o pdf root.beamer.tex
	cp Slides/generated9/root.beamer.pdf Slides/slides9.pdf 

sessionA: Slides/ROOTA.ML \
	Slides/document/root* \
	Slides/SlidesA.thy
	@$(USEDIR) -D generatedA -f ROOTA.ML HOL-Nominal Slides

slidesA: sessionA
	rm -f Slides/generatedA/*.aux # otherwise latex will fall over
	cd Slides/generatedA ; $(ISABELLE_TOOL) latex -o pdf root.beamer.tex
	cd Slides/generatedA ; $(ISABELLE_TOOL) latex -o pdf root.beamer.tex
	cp Slides/generatedA/root.beamer.pdf Slides/slidesA.pdf 

slides: slides1 slides2 slides3 slides4 slides5 slides6 slides7 slides8 slides8 slides9 slidesA




## clean

clean:
	@rm -f $(LOG)/HOL-Nominal2.gz $(LOG)/HOL-Pearl.gz