X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fhelena%2FMakefile;h=6194e6c4c0ace7eb89cb4398ad21977c68841c92;hb=73052ec76ff5492989f9cbae2ebe0b770fcb985f;hp=c0d702cf7170bd46b9532fae13846ab3d1bd69b8;hpb=54191356ed05e187754076ebf5aa30d9dd6f213d;p=helm.git diff --git a/helm/software/helena/Makefile b/helm/software/helena/Makefile index c0d702cf7..6194e6c4c 100644 --- a/helm/software/helena/Makefile +++ b/helm/software/helena/Makefile @@ -10,15 +10,18 @@ KEEP = README CLEAN = etc/log.txt etc/profile.txt -TAGS = test-si-fast test-si test2 test3 test6 \ - profile-fast profile profile-coq \ +TAGS = test-si-fast test-si test2-opt test2-byte test3 test6 \ + profile-fast profile profile-coq profile-coq-byte \ xml-si xml-si-v3 xml xml-v3 \ - export-coq export-matita export-elpi \ + export-coq export-matita \ + export-lp1 export-lp2 export-tj2 export-tj3 \ matita matitac -include Makefile.common +TIME = `which time` -p -a -o etc/log.txt + +NULL = >/dev/null 2>&1 -COQC = coqc +COQTOP = coqtop MATITAC = ../../../../matita/matita/matitac.opt @@ -30,93 +33,151 @@ INPUT = examples/automath/grundlagen_2.aut INPUTFAST = examples/automath/grundlagen_1.aut -MA = grundlagen_2.ma -V = grundlagen_2.v -ELPI = grundlagen_2.elpi +OUTPUT = scripts -PREAMBLE_MA = ../matita/matita.ma.templ -PREAMBLE_V = coq/grundlagen.template -PREAMBLE_ELPI = elpi/grundlagen.template +MA = grundlagen_2.ma +V = grundlagen_2.v +LP1 = grundlagen_21.elpi +LP2 = grundlagen_22.elpi +TJ2 = grundlagen_22.mod +TJ3 = grundlagen_23.mod -test-si-fast: $(MAIN).opt etc - @echo " HELENA -o -q -1 $(INPUTFAST)" - $(H)./$(MAIN).opt -T 1 -o -q -1 $(O) $(INPUTFAST) > etc/log.txt +PREAMBLE_MA = ../matita/matita.ma.templ +PREAMBLE_V = $(OUTPUT)/coq/grundlagen.template +PREAMBLE_LP = $(OUTPUT)/lp/lp.template -test-si: $(MAIN).opt etc - @echo " HELENA -d -l -p -o $(INPUT)" - $(H)./$(MAIN).opt -T 2 -d -l -p -o $(O) $(INPUT) > etc/log.txt +ALL_FEATURES = LEXER PARSER TRACE SUMMARY EXPAND MANAGER OBJECTS PREPROCESS QUOTE STAGE TYPE -test2: $(MAIN).opt etc - @echo " HELENA -d -l $(INPUT)" - $(H)./$(MAIN).opt -l -o $(INPUT) -X -T 2 -d -l $(O) $(INPUT) > etc/log.txt +TEST1 = -T 1 -l -u -1 $(O) $(INPUT) -test3: $(MAIN).opt etc - @echo " HELENA -d -l $(INPUT)" - $(H)./$(MAIN).opt -l -o $(INPUT) -X -T 3 -d -l $(O) $(INPUT) > etc/log.txt +TEST2 = -X -T 2 -l -1 $(O) $(INPUT) -test6: $(MAIN).opt etc - @echo " HELENA -d -l $(INPUT)" - $(H)./$(MAIN).opt -l -o $(INPUT) -X -T 6 -d -l $(O) $(INPUT) > etc/log.txt +all: .depend.opt .depend.byte + @$(CALLMAKE) $(MAIN).opt F="$(ALL_FEATURES)" + @$(CALLMAKE) $(MAIN).byte F="$(ALL_FEATURES)" -xml-si: $(MAIN).opt etc - @echo " HELENA -l -o -s 1 -x $(INPUT)" - $(H)./$(MAIN).opt -O $(XMLDIR) -T 1 -l -o -s 1 -x $(INPUT) > etc/log.txt +opt: .depend.opt + @$(CALLMAKE) F="$(ALL_FEATURES)" $(MAIN).opt -xml-si-v3: $(MAIN).opt etc - @echo " HELENA -l -o -s 2 -x $(INPUT)" - $(H)./$(MAIN).opt -O $(XMLDIR) -T 1 -l -o -s 2 -x $(INPUT) > etc/log.txt +byte: .depend.byte + @$(CALLMAKE) F="$(ALL_FEATURES)" $(MAIN).byte -xml: $(MAIN).opt etc - @echo " HELENA -l -s 1 -x $(INPUT)" - $(H)./$(MAIN).opt -l -o $(INPUT) -X -O $(XMLDIR) -T 1 -l -s 1 -x $(INPUT) > etc/log.txt +test-si-fast: $(MAIN).opt etc + @echo " HELENA -u -x -y -1 $(INPUTFAST)" + $(H)./$(MAIN).opt -T 1 -u -x -y -1 $(O) $(INPUTFAST) > etc/log.txt -xml-v3: $(MAIN).opt etc - @echo " HELENA -l -s 2 -x $(INPUT)" - $(H)./$(MAIN).opt -l -o $(INPUT) -X -O $(XMLDIR) -T 1 -l -s 2 -x $(INPUT) > etc/log.txt +test-si: $(MAIN).opt etc + @echo " HELENA -d -l -u -0 $(INPUT)" + $(H)./$(MAIN).opt -T 2 -d -l -u -0 $(O) $(INPUT) > etc/log.txt + +test1: $(MAIN).opt etc + @echo " HELENA -l -u -1 $(INPUT)" + $(H)./$(MAIN).opt $(TEST1) > etc/log.txt -export-coq coq/$(V): $(MAIN).opt etc - $(H)mkdir -p coq - @echo " HELENA -l -m V8 -o $(INPUT)" - $(H)./$(MAIN).opt -T 1 -a n -c $(PREAMBLE_V) -l -m V8 -o $(O) $(INPUT) > etc/log.txt +test2-opt: $(MAIN).opt etc + @echo " HELENA -l -1 $(INPUT)" + $(H)./$(MAIN).opt $(TEST1) $(TEST2) > etc/log.txt -export-matita matita/$(MA): $(MAIN).opt etc - @echo " HELENA -l -m MA2 -o $(INPUT)" - $(H)mkdir -p matita - $(H)./$(MAIN).opt -T 1 -a n -c $(PREAMBLE_MA) -l -m MA2 -o $(O) $(INPUT) > etc/log.txt +test2-byte: $(MAIN).byte etc + @echo " HELENA -l -1 $(INPUT)" + $(H)./$(MAIN).byte $(TEST1) $(TEST2) > etc/log.txt + +test3: $(MAIN).opt etc + @echo " HELENA -T 3 -l $(INPUT)" + $(H)./$(MAIN).opt -l -u $(O) $(INPUT) -X -T 3 -l $(O) $(INPUT) > etc/log.txt -export-elpi elpi/$(ELPI): $(MAIN).opt etc - @echo " HELENA -l -m ELPI -o $(INPUT)" - $(H)mkdir -p elpi - $(H)./$(MAIN).opt -T 1 -a n -c $(PREAMBLE_ELPI) -l -m ELPI -o $(O) $(INPUT) > etc/log.txt +test6: $(MAIN).opt etc + @echo " HELENA -T 6 -l $(INPUT)" + $(H)./$(MAIN).opt -l -u $(O) $(INPUT) -X -T 6 -l $(O) $(INPUT) > etc/log.txt profile-fast: $(MAIN).opt etc - @echo " HELENA -o -q $(INPUTFAST) (31 TIMES)" + @echo " HELENA -u -x -y -1 $(INPUTFAST) (31 TIMES)" $(H)rm -f etc/log.txt - $(H)for T in `seq 31`; do ./$(MAIN).opt -T 1 -o -q $(O) $(INPUTFAST) >> etc/log.txt; done + $(H)for T in `seq 31`; do ./$(MAIN).opt -T 1 -u -x -y -1 $(O) $(INPUTFAST) >> etc/log.txt; done $(H)grep "at exit" etc/log.txt | sort | uniq > etc/profile.txt profile: $(MAIN).opt etc - @echo " HELENA -l -o $(INPUT) (31 TIMES)" + @echo " HELENA -l -u -1 $(INPUT) (31 TIMES)" $(H)rm -f etc/log.txt - $(H)for _ in `seq 31`; do ./$(MAIN).opt -T 1 -l -o $(O) $(INPUT) >> etc/log.txt; done + $(H)for _ in `seq 31`; do ./$(MAIN).opt $(TEST1) >> etc/log.txt; done $(H)grep "at exit" etc/log.txt | sort | uniq > etc/profile.txt +profile-opt: $(MAIN).opt etc + @echo " HELENA -l -1 $(INPUT) (31 TIMES)" + $(H)rm -f etc/log.txt + $(H)for _ in `seq 31`; do ./$(MAIN).opt $(TEST1) $(TEST2) >> etc/log.txt; done + $(H)grep "processed" etc/log.txt | sort -k 6 | uniq > etc/profile.txt + +profile-byte: $(MAIN).byte etc + @echo " HELENA -l -1 $(INPUT) (31 TIMES)" + $(H)rm -f etc/log.txt + $(H)for _ in `seq 31`; do ./$(MAIN).byte $(TEST1) $(TEST2) >> etc/log.txt; done + $(H)grep "processed" etc/log.txt | sort -k 6 | uniq > etc/profile.txt + profile-coq: $(MAIN).opt etc - @echo " COQC $(V) (31 TIMES)" + @echo " COQTOP $(V) (31 TIMES)" $(H)rm -f etc/log.txt - $(H)for _ in `seq 31`; do `which time` -p -a -o etc/log.txt $(COQC) coq/$(V); done + $(H)for _ in `seq 31`; do echo Load \"$(OUTPUT)/coq/$(V)\". | $(TIME) $(COQTOP) -q $(NULL); done $(H)grep -h user etc/log.txt | sort | uniq > etc/profile.txt -matita: matita/$(MA) +profile-coq-byte: $(MAIN).opt etc + @echo " COQTOP $(V) (31 TIMES)" + $(H)rm -f etc/log.txt + $(H)for _ in `seq 31`; do echo Load \"$(OUTPUT)/coq/$(V)\". | $(TIME) $(COQTOP).byte -q $(NULL); done + $(H)grep -h user etc/log.txt | sort | uniq > etc/profile.txt + +xml-si: $(MAIN).opt etc + @echo " HELENA -l -o -q -s 1 -u -y $(INPUT)" + $(H)./$(MAIN).opt -O $(XMLDIR) -T 1 -l -o -q -s 1 -u -y $(O) $(INPUT) > etc/log.txt + +xml-si-v3: $(MAIN).opt etc + @echo " HELENA -l -o -q -s 2 -u -y $(INPUT)" + $(H)./$(MAIN).opt -O $(XMLDIR) -T 1 -l -o -q -s 2 -u -y $(O) $(INPUT) > etc/log.txt + +xml: $(MAIN).opt etc + @echo " HELENA -l -o -q -s 1 -y $(INPUT)" + $(H)./$(MAIN).opt -l -u $(O) $(INPUT) -X -O $(XMLDIR) -T 1 -l -o -q -s 1 -y $(O) $(INPUT) > etc/log.txt + +xml-v3: $(MAIN).opt etc + @echo " HELENA -l -o -q -s 2 -y $(INPUT)" + $(H)./$(MAIN).opt -l -u $(O) $(INPUT) -X -O $(XMLDIR) -T 1 -l -o -q -s 2 -y $(O) $(INPUT) > etc/log.txt + +export-coq $(OUTPUT)/coq/$(V): $(MAIN).opt etc + @echo " HELENA -m V8 -q $(INPUT)" + $(H)./$(MAIN).opt -M $(OUTPUT) -a n -m V8 -p $(PREAMBLE_V) -q $(TEST1) > etc/log.txt + +export-matita $(OUTPUT)/matita/$(MA): $(MAIN).opt etc + @echo " HELENA -m MA2 -q $(INPUT)" + $(H)./$(MAIN).opt -M $(OUTPUT) -a n -m MA2 -p $(PREAMBLE_MA) -q $(TEST1) > etc/log.txt + +export-lp1 $(OUTPUT)/lp/$(LP1): $(MAIN).opt etc + @echo " HELENA -m LP1 -q $(INPUT)" + $(H)./$(MAIN).opt -M $(OUTPUT) -a n -m LP1 -p $(PREAMBLE_LP) -q $(TEST1) > etc/log.txt + +export-lp2 $(OUTPUT)/lp/$(LP2): $(MAIN).opt etc + @echo " HELENA -m LP2 -q $(INPUT)" + $(H)./$(MAIN).opt -M $(OUTPUT) -a n -m LP2 -p $(PREAMBLE_LP) -q $(TEST1) > etc/log.txt + +export-tj2 $(OUTPUT)/lp/$(TJ2): $(MAIN).opt etc + @echo " HELENA -m TJ2 -q $(INPUT)" + $(H)./$(MAIN).opt -M $(OUTPUT) -a n -m TJ2 -p $(PREAMBLE_LP) -q $(TEST1) > etc/log.txt + +export-tj3 $(OUTPUT)/lp/$(TJ3): $(MAIN).opt etc + @echo " HELENA -m TJ3 -q $(INPUT)" + $(H)./$(MAIN).opt -M $(OUTPUT) -a n -m TJ3 -p $(PREAMBLE_LP) -q $(TEST1) > etc/log.txt + +matita: $(OUTPUT)/matita/$(MA) @echo " MATITA $(MA)" $(H)cd matita && $(MATITA) $(MA) -matitac: matita/$(MA) +matitac: $(OUTPUT)/matita/$(MA) @echo " MATITAC $(MA)" $(H)cd matita && $(MATITAC) $(MA) #profile-matita: $(MAIN).opt etc -# @echo " HELENA -o $(INPUT) (1 TIMES)" +# @echo " HELENA -u $(INPUT) (1 TIMES)" # $(H)rm -f etc/log.txt -# $(H)for T in `seq 1`; do ./$(MAIN).opt -T 1 -a n -l -m $(PREAMBLE) -o -x $(INPUT) >> etc/log.txt; done +# $(H)for T in `seq 1`; do ./$(MAIN).opt -T 1 -M $(OUTPUT) -a n -l -m $(PREAMBLE) -o -u $(INPUT) >> etc/log.txt; done # $(H)grep "at exit" etc/log.txt | sort | uniq > etc/profile-new.txt + +include Makefile.common