BIN_DIR = /usr/local/bin TEST_REQUIRES = \ helm-registry \ helm-tactics \ helm-cic_transformations \ helm-cic_textual_parser2 \ # helm-mathql_interpreter \ # helm-mathql_generator \ # helm-xmldiff # lablgtk2 \ # mathml-editor \ # lablgtkmathview \ # mysql REQUIRES = $(TEST_REQUIRES) #gdome2-xslt helm-hbugs lablgtk2.init lablgtk2.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)) 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: saturation opt: saturation.opt start: $(MAKE) -C ../hbugs/ start stop: $(MAKE) -C ../hbugs/ stop INTERFACE_FILES = \ utils.mli \ inference.mli DEPOBJS = \ $(INTERFACE_FILES) $(INTERFACE_FILES:%.mli=%.ml) \ indexing.ml \ saturation.ml TOPLEVELOBJS = $(INTERFACE_FILES:%.mli=%.cmo) \ indexing.cmo \ saturation.cmo # TESTOBJS = \ # disambiguatingParser.cmo \ # batchParser.cmo # REGTESTOBJS = $(TESTOBJS) regtest.cmo # TESTLIBOBJS = $(TESTOBJS) testlibrary.cmo $(INTERFACE_FILES:%.mli=%.cmo): $(LIBRARIES) $(INTERFACE_FILES:%.mli=%.cmx): $(LIBRARIES_OPT) depend: $(OCAMLDEP) $(DEPOBJS) > .depend saturation: $(TOPLEVELOBJS) $(LIBRARIES) $(OCAMLC) -thread -linkpkg -o $@ $(TOPLEVELOBJS) saturation.opt: $(TOPLEVELOBJS:.cmo=.cmx) $(LIBRARIES_OPT) $(OCAMLOPT) -thread -linkpkg -o $@ $(TOPLEVELOBJS:.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 saturation{,.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 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 typecheck_uri: typecheck_uri.ml $(OCAMLFIND) ocamlc -thread -package helm-cic_proof_checking -linkpkg -o $@ $< typecheck_uri.opt: typecheck_uri.ml $(OCAMLFIND) opt -thread -package helm-cic_proof_checking -linkpkg -o $@ $< 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