]> matita.cs.unibo.it Git - helm.git/blob - helm/gTopLevel/Makefile
e4ece089e7b50aea1c6241e51e1e66b5dc0cf78e
[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-mathql \
4            helm-mathql_interpreter
5 PREDICATES = "gnome,init"
6 OCAMLOPTIONS = -package "$(REQUIRES)" -predicates "$(PREDICATES)" -pp camlp4o
7 OCAMLC = ocamlfind ocamlc $(OCAMLOPTIONS)
8 OCAMLOPT = ocamlfind ocamlopt $(OCAMLOPTIONS)
9 OCAMLDEP = ocamldep -pp camlp4o
10
11 LIBRARIES = $(shell ocamlfind query -recursive -predicates "byte $(PREDICATES)" -format "%d/%a" $(REQUIRES))
12 LIBRARIES_OPT = $(shell ocamlfind query -recursive -predicates "native $(PREDICATES)" -format "%d/%a" $(REQUIRES))
13
14 all: gTopLevel
15 opt: gTopLevel.opt
16
17 DEPOBJS = xml2Gdome.ml xml2Gdome.mli proofEngineTypes.ml proofEngineHelpers.ml \
18           proofEngineReduction.ml proofEngineReduction.mli \
19           proofEngineStructuralRules.ml proofEngineStructuralRules.mli \
20           tacticals.ml tacticals.mli reductionTactics.ml reductionTactics.mli \
21           primitiveTactics.ml primitiveTactics.mli variousTactics.ml variousTactics.mli \
22           introductionTactics.ml introductionTactics.mli eliminationTactics.ml eliminationTactics.mli \
23           negationTactics.ml negationTactics.mli equalityTactics.ml equalityTactics.mli \
24           ring.ml ring.mli fourier.ml fourierR.ml fourierR.mli\
25           proofEngine.ml proofEngine.mli \
26           doubleTypeInference.ml doubleTypeInference.mli cic2acic.ml \
27           cic2acic.mli cic2Xml.ml cic2Xml.mli logicalOperations.ml \
28           logicalOperations.mli sequentPp.ml sequentPp.mli mQueryGenerator.mli \
29           mQueryLevels.ml mQueryLevels2.mli mQueryLevels2.ml mQueryGenerator.ml gTopLevel.ml
30
31 TOPLEVELOBJS = xml2Gdome.cmo proofEngineTypes.cmo proofEngineHelpers.cmo \
32                proofEngineReduction.cmo proofEngineStructuralRules.cmo \
33                tacticals.cmo reductionTactics.cmo primitiveTactics.cmo \
34                variousTactics.cmo introductionTactics.cmo eliminationTactics.cmo \
35                negationTactics.cmo equalityTactics.cmo ring.cmo fourier.cmo fourierR.cmo \
36                proofEngine.cmo doubleTypeInference.cmo cic2acic.cmo \
37                cic2Xml.cmo logicalOperations.cmo sequentPp.cmo \
38                mQueryLevels.cmo mQueryLevels2.cmo mQueryGenerator.cmo \
39                gTopLevel.cmo
40
41 depend:
42         $(OCAMLDEP) $(DEPOBJS) > .depend
43
44 gTopLevel: $(TOPLEVELOBJS) $(LIBRARIES)
45         $(OCAMLC) -linkpkg -o gTopLevel $(TOPLEVELOBJS)
46
47 gTopLevel.opt: $(TOPLEVELOBJS:.cmo=.cmx) $(LIBRARIES_OPT)
48         $(OCAMLOPT) -linkpkg -o gTopLevel.opt $(TOPLEVELOBJS:.cmo=.cmx)
49
50 .SUFFIXES: .ml .mli .cmo .cmi .cmx
51 .ml.cmo: $(LIBRARIES)
52         $(OCAMLC) -c $<
53 .mli.cmi: $(LIBRARIES)
54         $(OCAMLC) -c $<
55 .ml.cmx: $(LIBRARIES_OPT)
56         $(OCAMLOPT) -c $<
57
58 clean:
59         rm -f *.cm[iox] *.o gTopLevel gTopLevel.opt
60
61 install:
62         cp gTopLevel gTopLevel.opt $(BIN_DIR)
63
64 uninstall:
65         rm -f $(BIN_DIR)/gTopLevel $(BIN_DIR)/gTopLevel.opt
66
67 .PHONY: install uninstall clean
68
69 include .depend