X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FgTopLevel%2FMakefile;h=ebf8eeda5f3aa26a219c90805aa673fde15823e5;hb=77a4eb806ae4278bf15ee2f88e53e84347c84e81;hp=abe03e42deea4548ab18076141e04d2f86a318cc;hpb=ded0396c81ec49a45d9406becb602e1071e6820b;p=helm.git diff --git a/helm/gTopLevel/Makefile b/helm/gTopLevel/Makefile index abe03e42d..ebf8eeda5 100644 --- a/helm/gTopLevel/Makefile +++ b/helm/gTopLevel/Makefile @@ -1,20 +1,36 @@ BIN_DIR = /usr/local/bin -REQUIRES = lablgtkmathview helm-cic_textual_parser helm-tex_cic_textual_parser \ - gdome2-xslt helm-mathql_interpreter helm-mathql_generator \ - helm-tactics hbugs-client mathml-editor helm-cic_transformations \ - helm-cic_textual_parser2 +TEST_REQUIRES = \ + helm-registry \ + helm-mathql_interpreter \ + helm-mathql_generator \ + helm-tactics \ + helm-cic_transformations \ + helm-cic_textual_parser2 \ + helm-cic_textual_parser \ + helm-tex_cic_textual_parser \ + mathml-editor \ + lablgtkmathview +REQUIRES = \ + $(TEST_REQUIRES) \ + gdome2-xslt \ + hbugs-client PREDICATES = "gnome,init,glade" -OCAMLOPTIONS = -package "$(REQUIRES)" -predicates "$(PREDICATES)" -pp camlp4o +OCAMLOPTIONS = \ + -package "$(REQUIRES)" -predicates "$(PREDICATES)" -pp camlp4o -thread OCAMLFIND = ocamlfind -OCAMLC = $(OCAMLFIND) ocamlc -thread $(OCAMLOPTIONS) -OCAMLOPT = $(OCAMLFIND) ocamlopt -thread $(OCAMLOPTIONS) -OCAMLDEP = ocamldep -pp camlp4o +OCAMLDEBUGOPTIONS = -g +OCAMLC = $(OCAMLFIND) ocamlc $(OCAMLDEBUGOPTIONS) $(OCAMLOPTIONS) +OCAMLOPT = $(OCAMLFIND) ocamlopt $(OCAMLOPTIONS) +OCAMLDEP = $(OCAMLFIND) ocamldep -pp camlp4o +OCAMLDEBUG = wowcamldebug LIBRARIES = $(shell $(OCAMLFIND) query -recursive -predicates "byte $(PREDICATES)" -format "%d/%a" $(REQUIRES)) LIBRARIES_OPT = $(shell $(OCAMLFIND) query -recursive -predicates "native $(PREDICATES)" -format "%d/%a" $(REQUIRES)) +TEST_LIBRARIES = $(shell $(OCAMLFIND) query -recursive -predicates "byte $(PREDICATES)" -format "%d/%a" $(TEST_REQUIRES)) +TEST_LIBRARIES_OPT = $(shell $(OCAMLFIND) query -recursive -predicates "native $(PREDICATES)" -format "%d/%a" $(TEST_REQUIRES)) -all: styles gTopLevel regtest -opt: styles gTopLevel.opt regtest.opt +all: styles gTopLevel +opt: styles gTopLevel.opt start: $(MAKE) -C ../hbugs/ start @@ -22,18 +38,31 @@ stop: $(MAKE) -C ../hbugs/ stop INTERFACE_FILES = \ - proofEngine.mli logicalOperations.mli oldDisambiguate.mli \ - disambiguatingParser.mli termEditor.mli texTermEditor.mli xmlDiff.mli \ - chosenTransformer.mli termViewer.mli invokeTactics.mli hbugs.mli \ - chosenTermEditor.mli + proofEngine.mli \ + logicalOperations.mli \ + oldDisambiguate.mli \ + disambiguatingParser.mli \ + termEditor.mli \ + texTermEditor.mli \ + xmlDiff.mli \ + chosenTransformer.mli \ + termViewer.mli \ + invokeTactics.mli \ + hbugs.mli \ + chosenTermEditor.mli \ + helmGtkLogger.mli DEPOBJS = \ $(INTERFACE_FILES) $(INTERFACE_FILES:%.mli=%.ml) \ - gTopLevel.ml regtest.ml batchParser.ml batchParser.mli + gTopLevel.ml regtest.ml testlibrary.ml batchParser.ml batchParser.mli TOPLEVELOBJS = $(INTERFACE_FILES:%.mli=%.cmo) gTopLevel.cmo -REGTESTOBJS = \ - $(INTERFACE_FILES:%.mli=%.cmo) batchParser.cmo regtest.cmo +TESTOBJS = \ + oldDisambiguate.cmo \ + disambiguatingParser.cmo \ + batchParser.cmo +REGTESTOBJS = $(TESTOBJS) regtest.cmo +TESTLIBOBJS = $(TESTOBJS) testlibrary.cmo $(INTERFACE_FILES:%.mli=%.cmo): $(LIBRARIES) $(INTERFACE_FILES:%.mli=%.cmx): $(LIBRARIES_OPT) @@ -51,14 +80,23 @@ depend: $(OCAMLDEP) $(DEPOBJS) > .depend gTopLevel: $(TOPLEVELOBJS) $(LIBRARIES) - $(OCAMLC) -linkpkg -o $@ $(TOPLEVELOBJS) + $(OCAMLC) -thread -linkpkg -o $@ $(TOPLEVELOBJS) gTopLevel.opt: $(TOPLEVELOBJS:.cmo=.cmx) $(LIBRARIES_OPT) - $(OCAMLOPT) -linkpkg -o $@ $(TOPLEVELOBJS:.cmo=.cmx) - -regtest: $(REGTESTOBJS) $(LIBRARIES) - $(OCAMLC) -linkpkg -o $@ $(REGTESTOBJS) -regtest.opt: $(REGTESTOBJS:.cmo=.cmx) $(LIBRARIES) - $(OCAMLOPT) -linkpkg -o $@ $(REGTESTOBJS:.cmo=.cmx) + $(OCAMLOPT) -thread -linkpkg -o $@ $(TOPLEVELOBJS:.cmo=.cmx) + +testlibrary: $(TESTLIBOBJS) $(TEST_LIBRARIES) + $(OCAMLFIND) ocamlc -thread $(OCAMLDEBUGOPTIONS) -linkpkg \ + -package "$(TEST_REQUIRES)" -o $@ $(TESTLIBOBJS) +testlibrary.opt: $(TESTLIBOBJS:.cmo=.cmx) $(TEST_LIBRARIES_OPT) + $(OCAMLFIND) ocamlopt -thread -linkpkg -package "$(TEST_REQUIRES)" -o $@ \ + $(TESTLIBOBJS:.cmo=.cmx) + +regtest: $(REGTESTOBJS) $(TEST_LIBRARIES) + $(OCAMLFIND) ocamlc -thread $(OCAMLDEBUGOPTIONS) -linkpkg \ + -package "$(TEST_REQUIRES)" -o $@ $(REGTESTOBJS) +regtest.opt: $(REGTESTOBJS:.cmo=.cmx) $(TEST_LIBRARIES_OPT) + $(OCAMLFIND) ocamlopt -thread -linkpkg -package "$(TEST_REQUIRES)" -o $@ \ + $(REGTESTOBJS:.cmo=.cmx) .SUFFIXES: .ml .mli .cmo .cmi .cmx .ml.cmo: @@ -72,7 +110,7 @@ $(TOPLEVELOBJS): $(LIBRARIES) $(TOPLEVELOBJS:.cmo=.cmx)): $(LIBRARIES_OPT) clean: - rm -f *.cm[iox] *.o gTopLevel{,.opt} regtest{,.opt} + rm -f *.cm[iox] *.o gTopLevel{,.opt} regtest{,.opt} testlibrary{,.opt} install: cp gTopLevel gTopLevel.opt $(BIN_DIR) uninstall: @@ -80,13 +118,44 @@ uninstall: .PHONY: install uninstall clean test -TESTS := $(patsubst %, %.test, $(wildcard tests/*.cic)) -gentest: $(TESTS) -tests/%.cic.test: tests/%.cic - ./regtest -gen $< -test: - ./regtest $(TESTS) +INTESTS := $(wildcard tests/*.cic) +OUTTESTS := $(patsubst %, %.test, $(INTESTS)) +gentest: $(OUTTESTS) +cleantest: + rm -f $(OUTTESTS) +tests/%.cic.test: tests/%.cic regtest + time ./regtest -gen $< +test: regtest + ./regtest $(INTESTS) 2> /dev/null +test.opt: regtest.opt + ./regtest.opt $(INTESTS) 2> /dev/null +envtest: regtest + ./regtest -dump $(INTESTS) 2> /dev/null +envtest.opt: regtest.opt + ./regtest.opt -dump $(INTESTS) 2> /dev/null +librarytest: testlibrary + ./testlibrary -vars -varsprefix cic:/Coq index.txt 2>/dev/null >LOG +librarytest.opt: testlibrary.opt + ./testlibrary.opt -vars -varsprefix cic:/Coq index.txt 2>/dev/null >LOG + +MAIN = ./gTopLevel +ARGS = +debug: + echo "load_printer \"threads.cma\"" > .debug_script + $(OCAMLFIND) query -recursive -predicates "mt,byte" -a-format \ + helm-cic_unification | \ + sed 's/\(.*\)/load_printer "\1"/' \ + >> .debug_script + echo "install_printer CicMetaSubst.fppsubst" >> .debug_script + echo "install_printer CicMetaSubst.fppterm" >> .debug_script + echo "install_printer CicMetaSubst.fppmetasenv" >> .debug_script + ledit $(OCAMLDEBUG) \ + -source .debug_script \ + -I +threads \ + $(shell $(OCAMLFIND) query -recursive -i-format $(REQUIRES)) \ + $(MAIN) $(ARGS) ifneq ($(MAKECMDGOALS), depend) include .depend endif +