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 PREDICATES = "gnome,init,glade" OCAMLOPTIONS = -package "$(REQUIRES)" -predicates "$(PREDICATES)" -pp camlp4o 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: 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 = \ $(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 $@ $(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) .SUFFIXES: .ml .mli .cmo .cmi .cmx .ml.cmo: $(OCAMLC) -c $< .mli.cmi: $(OCAMLC) -c $< .ml.cmx: $(OCAMLOPT) -c $< $(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 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: time ./regtest $(INTESTS) envtest: time ./regtest -dump $(INTESTS) ifneq ($(MAKECMDGOALS), depend) include .depend endif