]> matita.cs.unibo.it Git - helm.git/blob - helm/ocaml/paramodulation/Makefile
proofs are now built lazily at the end of the computation
[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         trie.ml \
35         path_indexing.ml \
36         discrimination_tree.ml \
37         test_indexing.ml \
38         indexing.ml \
39         saturation.ml 
40
41 TOPLEVELOBJS = $(INTERFACE_FILES:%.mli=%.cmo) \
42         trie.cmo \
43         path_indexing.cmo \
44         discrimination_tree.cmo \
45         indexing.cmo \
46         saturation.cmo
47 TESTOBJS = $(INTERFACE_FILES:%.mli=%.cmo) \
48         trie.cmo \
49         path_indexing.cmo \
50         discrimination_tree.cmo \
51         test_indexing.cmo
52 # REGTESTOBJS = $(TESTOBJS) regtest.cmo
53 # TESTLIBOBJS = $(TESTOBJS) testlibrary.cmo
54
55 $(INTERFACE_FILES:%.mli=%.cmo): $(LIBRARIES)
56 $(INTERFACE_FILES:%.mli=%.cmx): $(LIBRARIES_OPT)
57
58 depend:
59         $(OCAMLDEP) $(DEPOBJS) > .depend
60
61 saturation: $(TOPLEVELOBJS) $(LIBRARIES)
62         $(OCAMLC) -thread -linkpkg -o $@ $(TOPLEVELOBJS)
63 saturation.opt: $(TOPLEVELOBJS:.cmo=.cmx) $(LIBRARIES_OPT)
64         $(OCAMLOPT) -thread -linkpkg -o $@ $(TOPLEVELOBJS:.cmo=.cmx)
65
66 test_indexing: $(TESTOBJS) $(TEST_LIBRARIES)
67         $(OCAMLC) -linkpkg -o $@ $(TESTOBJS)
68
69 .SUFFIXES: .ml .mli .cmo .cmi .cmx
70 .ml.cmo:
71         $(OCAMLC) -c $<
72 .mli.cmi:
73         $(OCAMLC) -c $<
74 .ml.cmx:
75         $(OCAMLOPT) -c $<
76
77 $(TOPLEVELOBJS): $(LIBRARIES)
78 $(TOPLEVELOBJS:.cmo=.cmx)): $(LIBRARIES_OPT)
79
80 clean:
81         rm -f *.cm[iox] *.o saturation{,.opt} regtest{,.opt} testlibrary{,.opt}
82
83 ifneq ($(MAKECMDGOALS), depend)
84    include .depend   
85 endif
86