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