BIN_DIR = /usr/local/bin
-REQUIRES = lablgtkmathview helm-cic_textual_parser helm-cic_proof_checking \
- helm-xml gdome2-xslt helm-cic_unification helm-mathql \
- helm-mathql_interpreter
-PREDICATES = "gnome,init"
+REQUIRES = lablgtkmathview helm-cic_textual_parser helm-tex_cic_textual_parser \
+ helm-cic_proof_checking helm-xml gdome2-xslt helm-cic_unification \
+ helm-tactics helm-mathql helm-mathql_interpreter \
+ helm-mquery_generator threads hbugs-client mathml-editor
+PREDICATES = "gnome,init,glade"
OCAMLOPTIONS = -package "$(REQUIRES)" -predicates "$(PREDICATES)" -pp camlp4o
-OCAMLC = ocamlfind ocamlc $(OCAMLOPTIONS)
-OCAMLOPT = ocamlfind ocamlopt $(OCAMLOPTIONS)
+OCAMLFIND = ocamlfind
+OCAMLC = $(OCAMLFIND) ocamlc -thread $(OCAMLOPTIONS)
+OCAMLOPT = $(OCAMLFIND) ocamlopt -thread $(OCAMLOPTIONS)
OCAMLDEP = ocamldep -pp camlp4o
LIBRARIES = $(shell ocamlfind query -recursive -predicates "byte $(PREDICATES)" -format "%d/%a" $(REQUIRES))
all: gTopLevel
opt: gTopLevel.opt
-DEPOBJS = xml2Gdome.ml xml2Gdome.mli proofEngineTypes.ml proofEngineHelpers.ml \
- proofEngineReduction.ml proofEngineReduction.mli \
- proofEngineStructuralRules.ml proofEngineStructuralRules.mli \
- tacticals.ml tacticals.mli reductionTactics.ml reductionTactics.mli \
- primitiveTactics.ml primitiveTactics.mli variousTactics.ml \
- variousTactics.mli introductionTactics.ml introductionTactics.mli \
- eliminationTactics.ml eliminationTactics.mli negationTactics.ml \
- negationTactics.mli equalityTactics.ml equalityTactics.mli ring.ml \
- ring.mli fourier.ml fourierR.ml fourierR.mli proofEngine.ml \
- proofEngine.mli doubleTypeInference.ml doubleTypeInference.mli \
- cic2acic.ml cic2acic.mli cic2Xml.ml cic2Xml.mli logicalOperations.ml \
- logicalOperations.mli sequentPp.ml sequentPp.mli mQueryGenerator.mli \
- mQueryLevels.ml mQueryLevels2.mli mQueryLevels2.ml mQueryGenerator.ml\
- disambiguate.ml disambiguate.mli gTopLevel.ml
+DEPOBJS = \
+ xml2Gdome.ml xml2Gdome.mli proofEngine.ml proofEngine.mli \
+ doubleTypeInference.ml doubleTypeInference.mli cic2acic.ml cic2acic.mli\
+ cic2Xml.ml cic2Xml.mli logicalOperations.ml logicalOperations.mli \
+ sequentPp.ml sequentPp.mli mQueryGenerator.mli mQueryLevels.ml \
+ mQueryLevels2.mli mQueryLevels2.ml mQueryGenerator.ml misc.ml misc.mli \
+ disambiguate.ml disambiguate.mli termEditor.ml termEditor.mli \
+ texTermEditor.ml texTermEditor.mli applyStylesheets.ml \
+ applyStylesheets.mli termViewer.ml termViewer.mli invokeTactics.ml \
+ invokeTactics.mli hbugs.ml hbugs.mli gTopLevel.ml
-TOPLEVELOBJS = xml2Gdome.cmo proofEngineTypes.cmo proofEngineHelpers.cmo \
- proofEngineReduction.cmo proofEngineStructuralRules.cmo \
- tacticals.cmo reductionTactics.cmo primitiveTactics.cmo \
- variousTactics.cmo introductionTactics.cmo \
- eliminationTactics.cmo negationTactics.cmo equalityTactics.cmo \
- ring.cmo fourier.cmo fourierR.cmo proofEngine.cmo \
- doubleTypeInference.cmo cic2acic.cmo cic2Xml.cmo \
- logicalOperations.cmo sequentPp.cmo mQueryLevels.cmo \
- mQueryLevels2.cmo mQueryGenerator.cmo disambiguate.cmo \
- gTopLevel.cmo
+TOPLEVELOBJS = \
+ xml2Gdome.cmo doubleTypeInference.cmo cic2acic.cmo cic2Xml.cmo \
+ proofEngine.cmo logicalOperations.cmo sequentPp.cmo \
+ mQueryLevels2.cmo misc.cmo disambiguate.cmo \
+ termEditor.cmo texTermEditor.cmo applyStylesheets.cmo termViewer.cmo \
+ invokeTactics.cmo hbugs.cmo gTopLevel.cmo
depend:
$(OCAMLDEP) $(DEPOBJS) > .depend
$(OCAMLOPT) -linkpkg -o gTopLevel.opt $(TOPLEVELOBJS:.cmo=.cmx)
.SUFFIXES: .ml .mli .cmo .cmi .cmx
-.ml.cmo: $(LIBRARIES)
+.ml.cmo:
$(OCAMLC) -c $<
-.mli.cmi: $(LIBRARIES)
+.mli.cmi:
$(OCAMLC) -c $<
-.ml.cmx: $(LIBRARIES_OPT)
+.ml.cmx:
$(OCAMLOPT) -c $<
+$(TOPLEVELOBJS): $(LIBRARIES)
+$(TOPLEVELOBJS:.cmo=.cmx)): $(LIBRARIES_OPT)
+
clean:
rm -f *.cm[iox] *.o gTopLevel gTopLevel.opt
.PHONY: install uninstall clean
-include .depend
+ifneq ($(MAKECMDGOALS), depend)
+ include .depend
+endif