MAIN = helena SRC = src REQUIRES = unix str helm-ng_kernel OCAMLOPTIONS = -rectypes KEEP = README CLEAN = etc/log.txt etc/profile.txt TAGS = test-si-fast test-si test2 test3 test6 \ profile-fast profile profile-coq profile-coq-byte \ xml-si xml-si-v3 xml xml-v3 \ 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 COQTOP = coqtop MATITAC = ../../../../matita/matita/matitac.opt MATITA = ../../../../matita/matita/matita.opt XMLDIR = ../../www/lambdadelta INPUT = examples/automath/grundlagen_2.aut INPUTFAST = examples/automath/grundlagen_1.aut MA = grundlagen_2.ma V = grundlagen_2.v LP1 = grundlagen_21.elpi LP2 = grundlagen_22.elpi TJ2 = grundlagen_22.mod TJ2 = grundlagen_23.mod PREAMBLE_MA = ../matita/matita.ma.templ PREAMBLE_V = coq/grundlagen.template PREAMBLE_LP = lp/lp.template ALL_FEATURES = LEXER PARSER TRACE SUMMARY EXPAND MANAGER OBJECTS PREPROCESS QUOTE STAGE TYPE TEST1 = -T 1 -l -u -1 $(O) $(INPUT) TEST2 = -X -T 2 -l -1 $(O) $(INPUT) all: .depend.opt .depend.byte @$(CALLMAKE) $(MAIN).opt F="$(ALL_FEATURES)" @$(CALLMAKE) $(MAIN).byte F="$(ALL_FEATURES)" opt: .depend.opt @$(CALLMAKE) F="$(ALL_FEATURES)" $(MAIN).opt byte: .depend.byte @$(CALLMAKE) F="$(ALL_FEATURES)" $(MAIN).byte test-si-fast: $(MAIN).opt etc @echo " HELENA -q -u -x -y -1 $(INPUTFAST)" $(H)./$(MAIN).opt -T 1 -q -u -x -y -1 $(O) $(INPUTFAST) > 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)" ./$(MAIN).opt $(TEST1) > etc/log.txt test2: $(MAIN).opt etc @echo " HELENA -l -1 $(INPUT)" ./$(MAIN).opt $(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 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 -q -u -x $(INPUTFAST) (31 TIMES)" $(H)rm -f etc/log.txt $(H)for T in `seq 31`; do ./$(MAIN).opt -T 1 -q -u -x -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 -u $(INPUT) (31 TIMES)" $(H)rm -f etc/log.txt $(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 $(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 $(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 " COQTOP $(V) (31 TIMES)" $(H)rm -f etc/log.txt $(H)for _ in `seq 31`; do echo Load \"coq/$(V)\". | $(TIME) $(COQTOP) -q $(NULL); done $(H)grep -h user etc/log.txt | sort | uniq > etc/profile.txt 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 \"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 -s 1 -u -y $(INPUT)" $(H)./$(MAIN).opt -O $(XMLDIR) -T 1 -l -o -s 1 -u -y $(O) $(INPUT) > etc/log.txt xml-si-v3: $(MAIN).opt etc @echo " HELENA -l -o -s 2 -u -y $(INPUT)" $(H)./$(MAIN).opt -O $(XMLDIR) -T 1 -l -o -s 2 -u -y $(O) $(INPUT) > etc/log.txt xml: $(MAIN).opt etc @echo " HELENA -l -o -s 1 -y $(INPUT)" $(H)./$(MAIN).opt -l -u $(O) $(INPUT) -X -O $(XMLDIR) -T 1 -l -o -s 1 -y $(O) $(INPUT) > etc/log.txt xml-v3: $(MAIN).opt etc @echo " HELENA -l -o -s 2 $(INPUT)" $(H)./$(MAIN).opt -l -u $(O) $(INPUT) -X -O $(XMLDIR) -T 1 -l -o -s 2 -y $(O) $(INPUT) > etc/log.txt export-coq coq/$(V): $(MAIN).opt etc @echo " HELENA -m V8 $(INPUT)" $(H)./$(MAIN).opt -a n -m V8 -p $(PREAMBLE_V) $(TEST1) > etc/log.txt export-matita matita/$(MA): $(MAIN).opt etc @echo " HELENA -m MA2 $(INPUT)" $(H)./$(MAIN).opt -a n -m MA2 -p $(PREAMBLE_MA) $(TEST1) > etc/log.txt export-lp1 lp/$(LP1): $(MAIN).opt etc @echo " HELENA -m LP1 $(INPUT)" $(H)./$(MAIN).opt -a n -m LP1 -p $(PREAMBLE_LP) $(TEST1) > etc/log.txt export-lp2 lp/$(LP2): $(MAIN).opt etc @echo " HELENA -m LP2 $(INPUT)" $(H)./$(MAIN).opt -a n -m LP2 -p $(PREAMBLE_LP) $(TEST1) > etc/log.txt export-tj2 lp/$(TJ2): $(MAIN).opt etc @echo " HELENA -m TJ2 $(INPUT)" $(H)./$(MAIN).opt -a n -m TJ2 -p $(PREAMBLE_LP) $(TEST1) > etc/log.txt export-tj3 lp/$(TJ3): $(MAIN).opt etc @echo " HELENA -m TJ3 $(INPUT)" $(H)./$(MAIN).opt -a n -m TJ3 -p $(PREAMBLE_LP) $(TEST1) > etc/log.txt matita: matita/$(MA) @echo " MATITA $(MA)" $(H)cd matita && $(MATITA) $(MA) matitac: matita/$(MA) @echo " MATITAC $(MA)" $(H)cd matita && $(MATITAC) $(MA) #profile-matita: $(MAIN).opt etc # @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 -u $(INPUT) >> etc/log.txt; done # $(H)grep "at exit" etc/log.txt | sort | uniq > etc/profile-new.txt