-BIN_DIR = /usr/local/bin
+PACKAGE = paramodulation
-TEST_REQUIRES = \
+REQUIRES = \
helm-registry \
- helm-tactics \
helm-cic_transformations \
+ helm-tactics \
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
+ mysql
INTERFACE_FILES = \
utils.mli \
- inference.mli
+ inference.mli
-DEPOBJS = \
- $(INTERFACE_FILES) $(INTERFACE_FILES:%.mli=%.ml) \
+IMPLEMENTATION_FILES = $(INTERFACE_FILES:%.mli=%.ml) \
+ trie.ml \
+ path_indexing.ml \
+ discrimination_tree.ml \
indexing.ml \
- saturation.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
+# saturate_main.ml
+# test_indexing.ml
-$(INTERFACE_FILES:%.mli=%.cmo): $(LIBRARIES)
-$(INTERFACE_FILES:%.mli=%.cmx): $(LIBRARIES_OPT)
-depend:
- $(OCAMLDEP) $(DEPOBJS) > .depend
+include ../Makefile.common
-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 $<
+paramodulation.cmo: $(IMPLEMENTATION_FILES:%.ml=%.cmo)
+ $(OCAMLC) -pack -o $@ $(IMPLEMENTATION_FILES:%.ml=%.cmo)
-$(TOPLEVELOBJS): $(LIBRARIES)
-$(TOPLEVELOBJS:.cmo=.cmx)): $(LIBRARIES_OPT)
+paramodulation.cmx: $(IMPLEMENTATION_FILES:%.ml=%.cmx)
+ $(OCAMLOPT) -pack -o $@ $(IMPLEMENTATION_FILES:%.ml=%.cmx)
-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
+$(ARCHIVE): paramodulation.cmo $(LIBRARIES)
+ $(OCAMLC) $(OCAMLARCHIVEOPTIONS) -a -o $@ \
+ paramodulation.cmo
-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 $@ $<
+$(ARCHIVE_OPT): paramodulation.cmx $(LIBRARIES_OPT)
+ $(OCAMLOPT) $(OCAMLARCHIVEOPTIONS) -a -o $@ \
+ paramodulation.cmx
-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)
+PARAMOD_OBJS = $(IMPLEMENTATION_FILES:%.ml=%.cmo) \
+ saturate_main.cmo
+PARAMOD_OBJS_OPT = $(IMPLEMENTATION_FILES:%.ml=%.cmx) \
+ saturate_main.cmx
-ifneq ($(MAKECMDGOALS), depend)
- include .depend
-endif
+saturate: $(PARAMOD_OBJS) $(LIBRARIES)
+ $(OCAMLC) -thread -linkpkg -o $@ $(PARAMOD_OBJS)
+saturate.opt: $(PARAMOD_OBJS_OPT) $(LIBRARIES)
+ $(OCAMLOPT) -thread -linkpkg -o $@ $(PARAMOD_OBJS_OPT)