X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FgTopLevel%2FMakefile;h=ebf8eeda5f3aa26a219c90805aa673fde15823e5;hb=77a4eb806ae4278bf15ee2f88e53e84347c84e81;hp=781704b65dbc0f2d418a60d6f45bcfe2be5ab017;hpb=185fc93ada03ee7e736c90adf165a4f396fb2eba;p=helm.git diff --git a/helm/gTopLevel/Makefile b/helm/gTopLevel/Makefile index 781704b65..ebf8eeda5 100644 --- a/helm/gTopLevel/Makefile +++ b/helm/gTopLevel/Makefile @@ -1,51 +1,161 @@ BIN_DIR = /usr/local/bin -REQUIRES = lablgtkmathview helm-cic_textual_parser helm-cic_proof_checking \ - helm-xml gdome2-xslt helm-cic_unification -PREDICATES = -OCAMLOPTIONS = -package "$(REQUIRES)" -predicates "$(PREDICATES)" -pp camlp4o -OCAMLC = ocamlfind ocamlc $(OCAMLOPTIONS) -OCAMLOPT = ocamlfind ocamlopt $(OCAMLOPTIONS) -OCAMLDEP = ocamldep -pp camlp4o +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 -thread +OCAMLFIND = ocamlfind +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)) +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: gTopLevel -opt: gTopLevel.opt +all: styles gTopLevel +opt: styles gTopLevel.opt -DEPOBJS = xml2Gdome.ml proofEngineReduction.ml proofEngine.ml cic2Xml.ml \ - cic2acic.ml logicalOperations.ml sequentPp.ml mathql.ml mquery.mli mquery.ml gTopLevel.ml +start: + $(MAKE) -C ../hbugs/ start +stop: + $(MAKE) -C ../hbugs/ stop -TOPLEVELOBJS = xml2Gdome.cmo proofEngineReduction.cmo proofEngine.cmo \ - cic2Xml.cmo cic2acic.cmo logicalOperations.cmo sequentPp.cmo \ - mathql.cmo mquery.cmo gTopLevel.cmo +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 \ + helmGtkLogger.mli +DEPOBJS = \ + $(INTERFACE_FILES) $(INTERFACE_FILES:%.mli=%.ml) \ + gTopLevel.ml regtest.ml testlibrary.ml batchParser.ml batchParser.mli + +TOPLEVELOBJS = $(INTERFACE_FILES:%.mli=%.cmo) gTopLevel.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) + +styles: + @echo "***********************************************************************" + @if [ -d stylesheets -a -d meta_stylesheets ] ; then echo -e "* stylesheets and metastylesheets found: *\\n* I will create the request hyperlinks in styles *" ; else echo -e "* stylesheets or meta_stylesheets not found: *\\n* you should check-out the two directories from the MoWGLI repository *" ; exit -1 ; fi + @echo "***********************************************************************" + mkdir styles + (cd styles && for i in ../stylesheets/*.xsl ; do ln -s $$i; done) + (cd styles && for i in ../stylesheets/generated/*.xsl ; do ln -s $$i; done) + (cd styles && rm rootcontent.xsl && ln -s ../rootcontent.xsl) + depend: $(OCAMLDEP) $(DEPOBJS) > .depend gTopLevel: $(TOPLEVELOBJS) $(LIBRARIES) - $(OCAMLC) -linkpkg -o gTopLevel $(TOPLEVELOBJS) - + $(OCAMLC) -thread -linkpkg -o $@ $(TOPLEVELOBJS) gTopLevel.opt: $(TOPLEVELOBJS:.cmo=.cmx) $(LIBRARIES_OPT) - $(OCAMLOPT) -linkpkg -o gTopLevel.opt $(TOPLEVELOBJS:.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: $(LIBRARIES) +.ml.cmo: $(OCAMLC) -c $< -.mli.cmi: $(LIBRARIES) +.mli.cmi: $(OCAMLC) -c $< -.ml.cmx: $(LIBRARIES_OPT) +.ml.cmx: $(OCAMLOPT) -c $< -clean: - rm -f *.cm[iox] *.o gTopLevel gTopLevel.opt +$(TOPLEVELOBJS): $(LIBRARIES) +$(TOPLEVELOBJS:.cmo=.cmx)): $(LIBRARIES_OPT) +clean: + rm -f *.cm[iox] *.o gTopLevel{,.opt} regtest{,.opt} testlibrary{,.opt} install: cp gTopLevel gTopLevel.opt $(BIN_DIR) - uninstall: rm -f $(BIN_DIR)/gTopLevel $(BIN_DIR)/gTopLevel.opt -.PHONY: install uninstall clean +.PHONY: install uninstall clean test + +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 -include .depend