X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FgTopLevel%2FMakefile;h=7ea740bc6430e4a4017d9e09720f12791c5060d0;hb=a6d9bfd36f9ae6bce95d886eb41ea561dc0cb755;hp=0b3fd06b1ad83eec655a95feb0561ca14049aad8;hpb=5a8a7dd777c55a9907699a709760b0616b571919;p=helm.git diff --git a/helm/gTopLevel/Makefile b/helm/gTopLevel/Makefile index 0b3fd06b1..7ea740bc6 100644 --- a/helm/gTopLevel/Makefile +++ b/helm/gTopLevel/Makefile @@ -1,62 +1,105 @@ BIN_DIR = /usr/local/bin -REQUIRES = lablgtkmathview helm-cic_textual_parser helm-cic_proof_checking \ - helm-xml gdome2-xslt helm-cic_unification helm-mathql \ - helm-mathql_interpreter -PREDICATES = +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 helm-cic_cache +PREDICATES = "gnome,init,glade" OCAMLOPTIONS = -package "$(REQUIRES)" -predicates "$(PREDICATES)" -pp camlp4o -OCAMLC = ocamlfind ocamlc $(OCAMLOPTIONS) -OCAMLOPT = ocamlfind ocamlopt $(OCAMLOPTIONS) +OCAMLFIND = ocamlfind +OCAMLC = $(OCAMLFIND) ocamlc -thread $(OCAMLOPTIONS) +OCAMLOPT = $(OCAMLFIND) ocamlopt -thread $(OCAMLOPTIONS) OCAMLDEP = ocamldep -pp camlp4o -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)) - -all: gTopLevel -opt: gTopLevel.opt - -DEPOBJS = xml2Gdome.ml xml2Gdome.mli proofEngineTypes.ml proofEngineHelpers.ml \ - proofEngineReduction.ml proofEngineReduction.mli \ - proofEngineStructuralRules.ml proofEngineStructuralRules.mli \ - primitiveTactics.ml primitiveTactics.mli ring.ml ring.mli fourier.ml fourierR.ml fourierR.mli\ - proofEngine.ml proofEngine.mli \ - doubleTypeInference.ml doubleTypeInference.mli cic2acic.ml \ - cic2acic.mli cic2Xml.ml cic2Xml.mli logicalOperations.ml \ - logicalOperations.mli sequentPp.ml sequentPp.mli mQueryGenerator.mli \ - mQueryGenerator.ml gTopLevel.ml - -TOPLEVELOBJS = xml2Gdome.cmo proofEngineTypes.cmo proofEngineHelpers.cmo \ - proofEngineReduction.cmo proofEngineStructuralRules.cmo \ - primitiveTactics.cmo ring.cmo fourier.cmo fourierR.cmo proofEngine.cmo \ - doubleTypeInference.cmo cic2acic.cmo cic2Xml.cmo \ - logicalOperations.cmo sequentPp.cmo mQueryGenerator.cmo \ - gTopLevel.cmo +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)) +all: styles gTopLevel +opt: styles gTopLevel.opt + +start: + $(MAKE) -C ../hbugs/ start +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 + +DEPOBJS = \ + $(INTERFACE_FILES) $(INTERFACE_FILES:%.mli=%.ml) \ + 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 +TESTLIBOBJS = \ + $(INTERFACE_FILES:%.mli=%.cmo) 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) -linkpkg -o $@ $(TOPLEVELOBJS) gTopLevel.opt: $(TOPLEVELOBJS:.cmo=.cmx) $(LIBRARIES_OPT) - $(OCAMLOPT) -linkpkg -o gTopLevel.opt $(TOPLEVELOBJS:.cmo=.cmx) + $(OCAMLOPT) -linkpkg -o $@ $(TOPLEVELOBJS:.cmo=.cmx) + +testlibrary: $(TESTLIBOBJS) $(LIBRARIES) + $(OCAMLC) -linkpkg -o $@ $(TESTLIBOBJS) +testlibrary.opt: $(TESTLIBOBJS:.cmo=.cmx) $(LIBRARIES) + $(OCAMLOPT) -linkpkg -o $@ $(TESTLIBOBJS:.cmo=.cmx) +regtest: $(REGTESTOBJS) $(LIBRARIES) + $(OCAMLC) -linkpkg -o $@ $(REGTESTOBJS) +regtest.opt: $(REGTESTOBJS:.cmo=.cmx) $(LIBRARIES) + $(OCAMLOPT) -linkpkg -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} 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 +envtest: regtest + ./regtest -dump $(INTESTS) 2> /dev/null +librarytest: testlibrary.opt + ./testlibrary.opt - /dev/null >LOG & -include .depend +ifneq ($(MAKECMDGOALS), depend) + include .depend +endif