]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/gTopLevel/Makefile
added cleantest target (removes tests/*.test)
[helm.git] / helm / gTopLevel / Makefile
index cd800f906c528a108e7b0fa5e796907c49b37e45..d668434534736a4119bad4414da72a32b43977d5 100644 (file)
@@ -1,52 +1,94 @@
 BIN_DIR = /usr/local/bin
-REQUIRES = lablgtkmathview helm-cic_textual_parser helm-cic_proof_checking \
-           helm-xml gdome2-xslt helm-cic_unification 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
+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))
+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
+all: styles gTopLevel regtest
+opt: styles gTopLevel.opt regtest.opt
 
-DEPOBJS = xml2Gdome.ml proofEngineReduction.ml proofEngine.ml cic2Xml.ml \
-          cic2acic.ml cic2acic.mli logicalOperations.ml sequentPp.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 \
-               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 
 
+DEPOBJS = \
+       $(INTERFACE_FILES) $(INTERFACE_FILES:%.mli=%.ml) \
+       gTopLevel.ml regtest.ml batchParser.ml batchParser.mli
+
+TOPLEVELOBJS = $(INTERFACE_FILES:%.mli=%.cmo) gTopLevel.cmo
+REGTESTOBJS = \
+       $(INTERFACE_FILES:%.mli=%.cmo) batchParser.cmo regtest.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)
+
+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
+
+TESTS := $(patsubst %, %.test, $(wildcard tests/*.cic))
+gentest: $(TESTS)
+cleantest:
+       rm -f $(TESTS)
+tests/%.cic.test: tests/%.cic
+       time ./regtest -gen $<
+test:
+       time ./regtest $(TESTS)
 
-include .depend
+ifneq ($(MAKECMDGOALS), depend)
+   include .depend   
+endif