]> matita.cs.unibo.it Git - helm.git/blob - helm/ocaml/paramodulation/Makefile
various updates, removed proofs for now because they are the real bottleneck!!
[helm.git] / helm / ocaml / paramodulation / Makefile
1 BIN_DIR = /usr/local/bin
2
3 TEST_REQUIRES = \
4         helm-registry \
5         helm-tactics \
6         helm-cic_transformations \
7         helm-cic_textual_parser2 
8
9 REQUIRES = $(TEST_REQUIRES)
10
11 OCAMLOPTIONS = \
12         -package "$(REQUIRES)" -predicates "$(PREDICATES)" #-pp camlp4o -thread
13 OCAMLFIND = ocamlfind
14 OCAMLDEBUGOPTIONS = -g
15 OCAMLC = $(OCAMLFIND) ocamlc $(OCAMLDEBUGOPTIONS) $(OCAMLOPTIONS)
16 OCAMLOPT = $(OCAMLFIND) ocamlopt $(OCAMLOPTIONS)
17 OCAMLDEP = $(OCAMLFIND) ocamldep #-pp camlp4o
18 OCAMLDEBUG = wowcamldebug
19
20 LIBRARIES = $(shell $(OCAMLFIND) query -recursive -predicates "byte $(PREDICATES)" -format "%d/%a" $(REQUIRES))
21 LIBRARIES_OPT = $(shell $(OCAMLFIND) query -recursive -predicates "native $(PREDICATES)" -format "%d/%a" $(REQUIRES))
22 TEST_LIBRARIES = $(shell $(OCAMLFIND) query -recursive -predicates "byte $(PREDICATES)" -format "%d/%a" $(TEST_REQUIRES))
23 TEST_LIBRARIES_OPT = $(shell $(OCAMLFIND) query -recursive -predicates "native $(PREDICATES)" -format "%d/%a" $(TEST_REQUIRES))
24
25 all: saturation
26 opt: saturation.opt
27
28 INTERFACE_FILES = \
29         utils.mli \
30         inference.mli 
31
32 DEPOBJS = \
33         $(INTERFACE_FILES) $(INTERFACE_FILES:%.mli=%.ml) \
34         path_indexing.ml \
35         discrimination_tree.ml \
36         test_indexing.ml \
37         indexing.ml \
38         saturation.ml 
39
40 TOPLEVELOBJS = $(INTERFACE_FILES:%.mli=%.cmo) \
41         trie.cmo \
42         path_indexing.cmo \
43         discrimination_tree.cmo \
44         indexing.cmo \
45         saturation.cmo
46 TESTOBJS = $(INTERFACE_FILES:%.mli=%.cmo) \
47         trie.cmo \
48         path_indexing.cmo \
49         discrimination_tree.cmo \
50         test_indexing.cmo
51 # REGTESTOBJS = $(TESTOBJS) regtest.cmo
52 # TESTLIBOBJS = $(TESTOBJS) testlibrary.cmo
53
54 $(INTERFACE_FILES:%.mli=%.cmo): $(LIBRARIES)
55 $(INTERFACE_FILES:%.mli=%.cmx): $(LIBRARIES_OPT)
56
57 depend:
58         $(OCAMLDEP) $(DEPOBJS) > .depend
59
60 saturation: $(TOPLEVELOBJS) $(LIBRARIES)
61         $(OCAMLC) -thread -linkpkg -o $@ $(TOPLEVELOBJS)
62 saturation.opt: $(TOPLEVELOBJS:.cmo=.cmx) $(LIBRARIES_OPT)
63         $(OCAMLOPT) -thread -linkpkg -o $@ $(TOPLEVELOBJS:.cmo=.cmx)
64
65 test_indexing: $(TESTOBJS) $(TEST_LIBRARIES)
66         $(OCAMLC) -linkpkg -o $@ $(TESTOBJS)
67
68 .SUFFIXES: .ml .mli .cmo .cmi .cmx
69 .ml.cmo:
70         $(OCAMLC) -c $<
71 .mli.cmi:
72         $(OCAMLC) -c $<
73 .ml.cmx:
74         $(OCAMLOPT) -c $<
75
76 $(TOPLEVELOBJS): $(LIBRARIES)
77 $(TOPLEVELOBJS:.cmo=.cmx)): $(LIBRARIES_OPT)
78
79 clean:
80         rm -f *.cm[iox] *.o saturation{,.opt} regtest{,.opt} testlibrary{,.opt}
81
82 ifneq ($(MAKECMDGOALS), depend)
83    include .depend   
84 endif
85