-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
58 lines (47 loc) · 1.7 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# Change next definition to the path to the isabelle binary you want to use
ISABELLE=/usr/local/bin/isabelle2019
# Name of your session
SESSIONNAME=LinguaFrancaClocks
# Description
DESCRIPTION="A clock calculus for Lingua Franca"
# List of theories in the session
THEORIES="LinguaFrancaClocks LinguaFrancaLogicalTime LinguaFrancaTests"
# Document files (.tex, .bib and so on)
DOCUMENTS="root.tex"
# Your name
AUTHORNAME="Frédéric Boulanger"
# Your email address
browser_info:
$(ISABELLE) build -c -d . -o browser_info -v $(SESSIONNAME)
mv "`$(ISABELLE) getenv -b ISABELLE_BROWSER_INFO`/Unsorted/$(SESSIONNAME)" .
rm -fr docs
mv $(SESSIONNAME) docs
sed -i -e 's/Session/Library/g' docs/index.html
sed -i -e 's!</body>!<p><a href="mailto:$(EMAIL)">$(EMAIL)</href></p></body>!' docs/index.html
sed -i -e 's!../../HOL/HOL/!http://isabelle.in.tum.de/website-Isabelle2019/dist/library/HOL/HOL/!' docs/$(SESSIONNAME).html
pdf_document:
$(ISABELLE) build -D .
reboot:
rm -rf ROOT ROOT-e document output docs
$(ISABELLE) mkroot -n $(SESSIONNAME) -A $(AUTHORNAME) .
rm ROOT
echo "session \"$(SESSIONNAME)\" = HOL +" >> ROOT
echo " description {* $(DESCRIPTION) *}" >> ROOT
echo " options [" >> ROOT
echo " document = pdf," >> ROOT
echo " document_output = \"output\"," >> ROOT
echo " document_variants=\"document:outline=/proof\"" >> ROOT
# uncomment the next line if you have sorry proofs or other failures in your theories
# echo " ,quick_and_dirty = true" >> ROOT
echo " ]" >> ROOT
echo "theories" >> ROOT
@for th in $(THEORIES) ; \
do \
echo " $${th}" >> ROOT ; \
done
echo "document_files" >> ROOT
@for doc in $(DOCUMENTS) ; \
do \
echo " \"$${doc}\"" >> ROOT ; \
done