BIN_DIR = /usr/local/bin
REQUIRES = lablgtkmathview helm-cic_textual_parser helm-tex_cic_textual_parser \
- helm-cic_proof_checking helm-xml gdome2-xslt helm-cic_unification \
- helm-mathql helm-mathql_interpreter helm-mathql_generator \
- helm-tactics threads hbugs-client mathml-editor
+ 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
OCAMLFIND = ocamlfind
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: styles gTopLevel
-opt: styles gTopLevel.opt
+all: styles gTopLevel regtest
+opt: styles gTopLevel.opt regtest.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 = \
- xml2Gdome.ml xml2Gdome.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 mQueryLevels.ml \
- mQueryLevels2.mli mQueryLevels2.ml mQueryGenerator.ml misc.ml misc.mli \
- disambiguate.ml disambiguate.mli termEditor.ml termEditor.mli \
- texTermEditor.ml texTermEditor.mli applyStylesheets.ml \
- applyStylesheets.mli termViewer.ml termViewer.mli invokeTactics.ml \
- invokeTactics.mli hbugs.ml hbugs.mli gTopLevel.ml
-
-TOPLEVELOBJS = \
- xml2Gdome.cmo doubleTypeInference.cmo cic2acic.cmo cic2Xml.cmo \
- proofEngine.cmo logicalOperations.cmo sequentPp.cmo \
- mQueryLevels2.cmo misc.cmo disambiguate.cmo \
- termEditor.cmo texTermEditor.cmo applyStylesheets.cmo termViewer.cmo \
- invokeTactics.cmo hbugs.cmo gTopLevel.cmo
+ $(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 stylesheets && for i in *.xsl ; do ln -s ../stylesheets/$$i ../styles/$$i ; done)
- (cd stylesheets/generated && for i in *.xsl ; do ln -s ../stylesheets/generated/$$i ../../styles/$$i ; done)
- rm styles/rootcontent.xsl
- ln -s ../rootcontent.xsl styles/rootcontent.xsl
-
+ (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:
$(TOPLEVELOBJS:.cmo=.cmx)): $(LIBRARIES_OPT)
clean:
- rm -f *.cm[iox] *.o gTopLevel gTopLevel.opt
-
+ 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)
+tests/%.cic.test: tests/%.cic
+ ./regtest -gen $<
+test:
+ ./regtest $(TESTS)
ifneq ($(MAKECMDGOALS), depend)
include .depend