]> matita.cs.unibo.it Git - helm.git/blob - helm/gTopLevel/Makefile
cf12d3121fc885ded1ef55ba4d0076e65a4c6a5c
[helm.git] / helm / gTopLevel / Makefile
1 BIN_DIR = /usr/local/bin
2 REQUIRES = lablgtkmathview helm-cic_textual_parser helm-cic_proof_checking \
3            helm-xml gdome2-xslt helm-cic_unification helm-tactics helm-mathql \
4            helm-mathql_interpreter
5 PREDICATES = "gnome,init,glade"
6 OCAMLOPTIONS = -package "$(REQUIRES)" -predicates "$(PREDICATES)" -pp camlp4o
7 OCAMLFIND = ocamlfind
8 OCAMLC = $(OCAMLFIND) ocamlc $(OCAMLOPTIONS)
9 OCAMLOPT = $(OCAMLFIND) ocamlopt $(OCAMLOPTIONS)
10 OCAMLDEP = ocamldep -pp camlp4o
11
12 LIBRARIES = $(shell ocamlfind query -recursive -predicates "byte $(PREDICATES)" -format "%d/%a" $(REQUIRES))
13 LIBRARIES_OPT = $(shell ocamlfind query -recursive -predicates "native $(PREDICATES)" -format "%d/%a" $(REQUIRES))
14
15 all: gTopLevel
16 opt: gTopLevel.opt
17
18 DEPOBJS =       \
19         xml2Gdome.ml xml2Gdome.mli proofEngine.ml proofEngine.mli       \
20         doubleTypeInference.ml doubleTypeInference.mli cic2acic.ml cic2acic.mli \
21         cic2Xml.ml cic2Xml.mli logicalOperations.ml logicalOperations.mli       \
22         sequentPp.ml sequentPp.mli mQueryGenerator.mli mQueryLevels.ml  \
23         mQueryLevels2.mli mQueryLevels2.ml mQueryGenerator.ml disambiguate.ml   \
24         disambiguate.mli gTopLevel.ml
25
26 TOPLEVELOBJS =  \
27         xml2Gdome.cmo proofEngine.cmo doubleTypeInference.cmo cic2acic.cmo      \
28         cic2Xml.cmo logicalOperations.cmo sequentPp.cmo mQueryLevels.cmo        \
29         mQueryLevels2.cmo mQueryGenerator.cmo disambiguate.cmo gTopLevel.cmo
30
31 depend:
32         $(OCAMLDEP) $(DEPOBJS) > .depend
33
34 gTopLevel: $(TOPLEVELOBJS) $(LIBRARIES)
35         $(OCAMLC) -linkpkg -o gTopLevel $(TOPLEVELOBJS)
36
37 gTopLevel.opt: $(TOPLEVELOBJS:.cmo=.cmx) $(LIBRARIES_OPT)
38         $(OCAMLOPT) -linkpkg -o gTopLevel.opt $(TOPLEVELOBJS:.cmo=.cmx)
39
40 .SUFFIXES: .ml .mli .cmo .cmi .cmx
41 .ml.cmo: $(LIBRARIES)
42         $(OCAMLC) -c $<
43 .mli.cmi: $(LIBRARIES)
44         $(OCAMLC) -c $<
45 .ml.cmx: $(LIBRARIES_OPT)
46         $(OCAMLOPT) -c $<
47
48 clean:
49         rm -f *.cm[iox] *.o gTopLevel gTopLevel.opt
50
51 install:
52         cp gTopLevel gTopLevel.opt $(BIN_DIR)
53
54 uninstall:
55         rm -f $(BIN_DIR)/gTopLevel $(BIN_DIR)/gTopLevel.opt
56
57 .PHONY: install uninstall clean
58
59 include .depend