]> matita.cs.unibo.it Git - helm.git/blob - helm/software/helena/Makefile
42cf240fc78f25f60104f67c15c6ef8182a55259
[helm.git] / helm / software / helena / Makefile
1 MAIN = helena
2
3 SRC  = src
4
5 REQUIRES = unix str helm-ng_kernel
6
7 OCAMLOPTIONS = -rectypes 
8
9 KEEP = README
10
11 CLEAN = etc/log.txt etc/profile.txt
12
13 TAGS = test-si-fast test-si test2 test3 test6 \
14        profile-fast profile profile-coq \
15        xml-si xml-si-v3 xml xml-v3 \
16        export-coq export-matita export-elpi \
17        matita matitac
18
19 include Makefile.common
20
21 COQC = coqc
22
23 MATITAC = ../../../../matita/matita/matitac.opt
24
25 MATITA = ../../../../matita/matita/matita.opt
26
27 XMLDIR = ../../www/lambdadelta
28
29 INPUT = examples/automath/grundlagen_2.aut
30
31 INPUTFAST = examples/automath/grundlagen_1.aut
32
33 MA   = grundlagen_2.ma
34 V    = grundlagen_2.v
35 ELPI = grundlagen_2.elpi
36
37 PREAMBLE_MA   = ../matita/matita.ma.templ
38 PREAMBLE_V    = coq/grundlagen.template
39 PREAMBLE_ELPI = elpi/elpi.template
40
41 test-si-fast: $(MAIN).opt etc
42         @echo "  HELENA -q -u -x -1 $(INPUTFAST)"
43         $(H)./$(MAIN).opt -T 1 -q -u -x -1 $(O) $(INPUTFAST) > etc/log.txt
44
45 test-si: $(MAIN).opt etc
46         @echo "  HELENA -d -l -u -0 $(INPUT)"
47         $(H)./$(MAIN).opt -T 2 -d -l -u -0 $(O) $(INPUT) > etc/log.txt
48
49 test2: $(MAIN).opt etc
50         @echo "  HELENA -T 2 -d -l $(INPUT)"
51         $(H)./$(MAIN).opt -l -u $(INPUT) -X -T 2 -d -l $(O) $(INPUT) > etc/log.txt
52
53 test3: $(MAIN).opt etc
54         @echo "  HELENA -T 3 -d -l $(INPUT)"
55         $(H)./$(MAIN).opt -l -u $(INPUT) -X -T 3 -d -l $(O) $(INPUT) > etc/log.txt
56
57 test6: $(MAIN).opt etc
58         @echo "  HELENA -T 6 -d -l -n $(INPUT)"
59         $(H)./$(MAIN).opt -l -u $(INPUT) -X -T 6 -d -l -n $(O) $(INPUT) > etc/log.txt
60
61 xml-si: $(MAIN).opt etc
62         @echo "  HELENA -l -o -s 1 -u $(INPUT)"
63         $(H)./$(MAIN).opt -O $(XMLDIR) -T 1 -l -o -s 1 -u $(INPUT) > etc/log.txt
64
65 xml-si-v3: $(MAIN).opt etc
66         @echo "  HELENA -l -o -s 2 -u $(INPUT)"
67         $(H)./$(MAIN).opt -O $(XMLDIR) -T 1 -l -o -s 2 -u $(INPUT) > etc/log.txt
68
69 xml: $(MAIN).opt etc
70         @echo "  HELENA -l -o -s 1 $(INPUT)"
71         $(H)./$(MAIN).opt -l -u $(INPUT) -X -O $(XMLDIR) -T 1 -l -o -s 1 $(INPUT) > etc/log.txt
72
73 xml-v3: $(MAIN).opt etc
74         @echo "  HELENA -l -o -s 2 $(INPUT)"
75         $(H)./$(MAIN).opt -l -u $(INPUT) -X -O $(XMLDIR) -T 1 -l -o -s 2 $(INPUT) > etc/log.txt
76
77 export-coq coq/$(V): $(MAIN).opt etc
78         $(H)mkdir -p coq
79         @echo "  HELENA -l -m V8 -u $(INPUT)"
80         $(H)./$(MAIN).opt -T 1 -a n -l -m V8 -p $(PREAMBLE_V) -u $(O) $(INPUT) > etc/log.txt
81
82 export-matita matita/$(MA): $(MAIN).opt etc
83         @echo "  HELENA -l -m MA2 -u $(INPUT)"
84         $(H)mkdir -p matita
85         $(H)./$(MAIN).opt -T 1 -a n -l -m MA2 -p $(PREAMBLE_MA) -u $(O) $(INPUT) > etc/log.txt
86
87 export-elpi elpi/$(ELPI): $(MAIN).opt etc
88         @echo "  HELENA -l -m ELPI -u $(INPUT)"
89         $(H)mkdir -p elpi
90         $(H)./$(MAIN).opt -T 1 -a n -l -m ELPI1 -p $(PREAMBLE_ELPI) -u $(O) $(INPUT) >  etc/log.txt
91         $(H)./$(MAIN).opt -T 1 -a n -l -m ELPI2 -p $(PREAMBLE_ELPI) -u $(O) $(INPUT) >> etc/log.txt
92
93 profile-fast: $(MAIN).opt etc
94         @echo "  HELENA -q -u -x $(INPUTFAST) (31 TIMES)"
95         $(H)rm -f etc/log.txt
96         $(H)for T in `seq 31`; do ./$(MAIN).opt -T 1 -q -u -x $(O) $(INPUTFAST) >> etc/log.txt; done
97         $(H)grep "at exit" etc/log.txt | sort | uniq > etc/profile.txt
98
99 profile: $(MAIN).opt etc
100         @echo "  HELENA -l -u $(INPUT) (31 TIMES)"
101         $(H)rm -f etc/log.txt
102         $(H)for _ in `seq 31`; do ./$(MAIN).opt -T 1 -l -u $(O) $(INPUT) >> etc/log.txt; done
103         $(H)grep "at exit" etc/log.txt | sort | uniq > etc/profile.txt
104
105 profile-coq: $(MAIN).opt etc
106         @echo "  COQC $(V) (31 TIMES)"
107         $(H)rm -f etc/log.txt
108         $(H)for _ in `seq 31`; do `which time` -p -a -u etc/log.txt $(COQC) coq/$(V); done
109         $(H)grep -h user etc/log.txt | sort | uniq > etc/profile.txt
110
111 matita: matita/$(MA)
112         @echo "  MATITA $(MA)"
113         $(H)cd matita && $(MATITA) $(MA)
114
115 matitac: matita/$(MA)
116         @echo "  MATITAC $(MA)"
117         $(H)cd matita && $(MATITAC) $(MA)
118
119 #profile-matita: $(MAIN).opt etc
120 #       @echo "  HELENA -u $(INPUT) (1 TIMES)"
121 #       $(H)rm -f etc/log.txt
122 #       $(H)for T in `seq 1`; do ./$(MAIN).opt -T 1 -a n -l -m $(PREAMBLE) -o -u $(INPUT) >> etc/log.txt; done
123 #       $(H)grep "at exit" etc/log.txt | sort | uniq > etc/profile-new.txt