]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/Makefile.common.in
removed dependency on netclient, use http_client module from ocaml-http
[helm.git] / helm / ocaml / Makefile.common.in
index 62df6201cad1f59b4f7094308fbef661da0c2c5b..7d9c56d6f126a6fee8eb84f9f668d736d9932da3 100644 (file)
 
 OCAMLFIND_DEST_DIR = @OCAMLFIND_DEST_DIR@
 
-OCAMLOPTIONS = -package "$(REQUIRES)" -predicates "$(PREDICATES)" -pp camlp4o
-OCAMLC = ocamlfind ocamlc $(OCAMLOPTIONS)
-OCAMLOPT = ocamlfind ocamlopt $(OCAMLOPTIONS)
-OCAMLDEP = ocamldep
+PREPROCOPTIONS = -pp camlp4o
+PREREQ =
+OCAMLOPTIONS = -package "$(REQUIRES)" -predicates "$(PREDICATES)"
+OCAMLC = ocamlfind ocamlc $(OCAMLOPTIONS) $(PREPROCOPTIONS)
+OCAMLOPT = ocamlfind ocamlopt $(OCAMLOPTIONS) $(PREPROCOPTIONS)
+OCAMLDEP = ocamlfind ocamldep $(PREPROCOPTIONS)
 OCAMLLEX = ocamllex
 OCAMLYACC = ocamlyacc
 
@@ -29,23 +31,30 @@ OBJECTS_TO_INSTALL = $(ARCHIVE) $(ARCHIVE_OPT) $(ARCHIVE_OPT:%.cmxa=%.a) \
 DEPEND_FILES = $(INTERFACE_FILES) $(IMPLEMENTATION_FILES)
 
 $(ARCHIVE): $(IMPLEMENTATION_FILES:%.ml=%.cmo) $(LIBRARIES)
-       $(OCAMLC) -a -o $@ $(IMPLEMENTATION_FILES:%.ml=%.cmo)
+       $(OCAMLC) -a -linkall -o $@ $(IMPLEMENTATION_FILES:%.ml=%.cmo)
 
 $(ARCHIVE_OPT): $(IMPLEMENTATION_FILES:%.ml=%.cmx) $(LIBRARIES_OPT)
-       $(OCAMLOPT) -a -o $@ $(IMPLEMENTATION_FILES:%.ml=%.cmx)
+       $(OCAMLOPT) -a -linkall -o $@ $(IMPLEMENTATION_FILES:%.ml=%.cmx)
 
-all: $(IMPLEMENTATION_FILES:%.ml=%.cmo) $(ARCHIVE)
-opt: $(IMPLEMENTATION_FILES:%.ml=%.cmx) $(ARCHIVE_OPT)
+prereq: $(PREREQ)
+all: prereq $(IMPLEMENTATION_FILES:%.ml=%.cmo) $(ARCHIVE)
+opt: prereq $(IMPLEMENTATION_FILES:%.ml=%.cmx) $(ARCHIVE_OPT)
 
 depend: $(DEPEND_FILES)
        $(OCAMLDEP) $(INTERFACE_FILES) $(IMPLEMENTATION_FILES) > .depend
 
+$(PACKAGE).ps: .dep.dot
+       dot -Tps -o $@ $<
+
+.dep.dot: .depend
+       ocamldot < .depend > $@
+
 .SUFFIXES: .ml .mli .cmo .cmi .cmx .mll .mly
-.ml.cmo: $(LIBRARIES)
+.ml.cmo:
        $(OCAMLC) -c $<
-.mli.cmi: $(LIBRARIES)
+.mli.cmi:
        $(OCAMLC) -c $<
-.ml.cmx: $(LIBRARIES_OPT)
+.ml.cmx:
        $(OCAMLOPT) -c $<
 .mly.ml:
        $(OCAMLYACC) $<
@@ -54,6 +63,9 @@ depend: $(DEPEND_FILES)
 .mll.ml:
        $(OCAMLLEX) $<
 
+$(IMPLEMENTATION_FILES:%.ml=%.cmo): $(LIBRARIES)
+$(IMPLEMENTATION_FILES:%.ml=%.cmx): $(LIBRARIES_OPT)
+
 clean:
        rm -f *.cm[ioax] *.cmxa *.o *.a $(EXTRA_OBJECTS_TO_CLEAN)
 
@@ -67,4 +79,6 @@ uninstall:
 
 .PHONY: all opt depend install uninstall clean
 
-include .depend
+ifneq ($(MAKECMDGOALS), depend)
+   include .depend   
+endif