]> matita.cs.unibo.it Git - helm.git/blob - helm/gTopLevel/Makefile
Major module reorganization:
[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 misc.ml misc.mli \
24         disambiguate.ml disambiguate.mli termEditor.ml termEditor.mli \
25         applyStylesheets.ml applyStylesheets.mli termViewer.ml \
26         termViewer.mli invokeTactics.ml invokeTactics.mli gTopLevel.ml
27
28 TOPLEVELOBJS = \
29         xml2Gdome.cmo proofEngine.cmo doubleTypeInference.cmo cic2acic.cmo \
30         cic2Xml.cmo logicalOperations.cmo sequentPp.cmo mQueryLevels.cmo \
31         mQueryLevels2.cmo mQueryGenerator.cmo misc.cmo disambiguate.cmo \
32         termEditor.cmo applyStylesheets.cmo termViewer.cmo invokeTactics.cmo \
33         gTopLevel.cmo
34
35 depend:
36         $(OCAMLDEP) $(DEPOBJS) > .depend
37
38 gTopLevel: $(TOPLEVELOBJS) $(LIBRARIES)
39         $(OCAMLC) -linkpkg -o gTopLevel $(TOPLEVELOBJS)
40
41 gTopLevel.opt: $(TOPLEVELOBJS:.cmo=.cmx) $(LIBRARIES_OPT)
42         $(OCAMLOPT) -linkpkg -o gTopLevel.opt $(TOPLEVELOBJS:.cmo=.cmx)
43
44 .SUFFIXES: .ml .mli .cmo .cmi .cmx
45 .ml.cmo: $(LIBRARIES)
46         $(OCAMLC) -c $<
47 .mli.cmi: $(LIBRARIES)
48         $(OCAMLC) -c $<
49 .ml.cmx: $(LIBRARIES_OPT)
50         $(OCAMLOPT) -c $<
51
52 clean:
53         rm -f *.cm[iox] *.o gTopLevel gTopLevel.opt
54
55 install:
56         cp gTopLevel gTopLevel.opt $(BIN_DIR)
57
58 uninstall:
59         rm -f $(BIN_DIR)/gTopLevel $(BIN_DIR)/gTopLevel.opt
60
61 .PHONY: install uninstall clean
62
63 include .depend