-BIN_DIR = /usr/local/bin
+PACKAGE = paramodulation
-TEST_REQUIRES = \
+REQUIRES = \
helm-registry \
- helm-tactics \
helm-cic_transformations \
- helm-cic_textual_parser2
-
-REQUIRES = $(TEST_REQUIRES)
-
-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
+ helm-tactics \
+ helm-cic_textual_parser2 \
+ 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 \
- test_path_indexing.ml
+ saturation.ml
+
+# saturate_main.ml
+# test_indexing.ml
+
-TOPLEVELOBJS = $(INTERFACE_FILES:%.mli=%.cmo) \
- path_indexing.cmo \
- indexing.cmo \
- saturation.cmo
-TESTOBJS = $(INTERFACE_FILES:%.mli=%.cmo) \
- path_indexing.cmo \
- test_path_indexing.cmo
-# REGTESTOBJS = $(TESTOBJS) regtest.cmo
-# TESTLIBOBJS = $(TESTOBJS) testlibrary.cmo
+include ../Makefile.common
-$(INTERFACE_FILES:%.mli=%.cmo): $(LIBRARIES)
-$(INTERFACE_FILES:%.mli=%.cmx): $(LIBRARIES_OPT)
-depend:
- $(OCAMLDEP) $(DEPOBJS) > .depend
+paramodulation.cmo: $(IMPLEMENTATION_FILES:%.ml=%.cmo)
+ $(OCAMLC) -pack -o $@ $(IMPLEMENTATION_FILES:%.ml=%.cmo)
-saturation: $(TOPLEVELOBJS) $(LIBRARIES)
- $(OCAMLC) -thread -linkpkg -o $@ $(TOPLEVELOBJS)
-saturation.opt: $(TOPLEVELOBJS:.cmo=.cmx) $(LIBRARIES_OPT)
- $(OCAMLOPT) -thread -linkpkg -o $@ $(TOPLEVELOBJS:.cmo=.cmx)
+paramodulation.cmx: $(IMPLEMENTATION_FILES:%.ml=%.cmx)
+ $(OCAMLOPT) -pack -o $@ $(IMPLEMENTATION_FILES:%.ml=%.cmx)
-test_path_indexing: $(TESTOBJS) $(TEST_LIBRARIES)
- $(OCAMLC) -linkpkg -o $@ $(TESTOBJS)
-.SUFFIXES: .ml .mli .cmo .cmi .cmx
-.ml.cmo:
- $(OCAMLC) -c $<
-.mli.cmi:
- $(OCAMLC) -c $<
-.ml.cmx:
- $(OCAMLOPT) -c $<
+$(ARCHIVE): paramodulation.cmo $(LIBRARIES)
+ $(OCAMLC) $(OCAMLARCHIVEOPTIONS) -a -o $@ \
+ paramodulation.cmo
-$(TOPLEVELOBJS): $(LIBRARIES)
-$(TOPLEVELOBJS:.cmo=.cmx)): $(LIBRARIES_OPT)
+$(ARCHIVE_OPT): paramodulation.cmx $(LIBRARIES_OPT)
+ $(OCAMLOPT) $(OCAMLARCHIVEOPTIONS) -a -o $@ \
+ paramodulation.cmx
-clean:
- rm -f *.cm[iox] *.o saturation{,.opt} regtest{,.opt} testlibrary{,.opt}
+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)