]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/hbugs/client/Makefile
added ocamlfind trick to trigger rebuild when some library's .cma has
[helm.git] / helm / hbugs / client / Makefile
index 4ac9af006d6ecea07c50ec4c946a1697dcdf4525..19491ded7ec174af636dd9be416be9e0ce2911ed 100644 (file)
@@ -5,6 +5,10 @@ PREDICATES = glade init
 COMMONOPTS = -package "$(REQUIRES)" -predicates "$(PREDICATES)"
 OCAMLC = OCAMLPATH="$(METADIR)" ocamlfind ocamlc $(COMMONOPTS)
 OCAMLOPT = OCAMLPATH="$(METADIR)" ocamlfind ocamlopt $(COMMONOPTS)
+OCAMLFIND = ocamlfind
+
+DEPS = $(shell $(OCAMLFIND) query -recursive -predicates byte -format "%d/%a" $(REQUIRES))
+DEPSOPT = $(shell $(OCAMLFIND) query -recursive -predicates native -format "%d/%a" $(REQUIRES))
 
 all: byte
 world: byte opt
@@ -23,10 +27,10 @@ hbugs_client.cmo: hbugs_client.ml hbugs_client.cmi
        $(OCAMLC) -c $<
 hbugs_client.cmx: hbugs_client.ml hbugs_client.cmi
        $(OCAMLOPT) -c $<
-$(NAME): hbugs_client_gui.cmo $(NAME).cmo main.ml
-       $(OCAMLC) -thread -package threads -linkpkg -o $@ $^
-$(NAME).opt: hbugs_client_gui.cmx $(NAME).cmx main.ml
-       $(OCAMLOPT) -thread -package threads -linkpkg -o $@ $^
+$(NAME): $(DEPS) hbugs_client_gui.cmo $(NAME).cmo main.ml
+       $(OCAMLC) -thread -package threads -linkpkg -o $@ hbugs_client_gui.cmo $(NAME).cmo main.ml
+$(NAME).opt: $(DEPSOPT) hbugs_client_gui.cmx $(NAME).cmx main.ml
+       $(OCAMLOPT) -thread -package threads -linkpkg -o $@ hbugs_client_gui.cmx $(NAME).cmx main.ml
 clean:
        rm -f *.cm[aixo] *.cmxa *.[oa] $(NAME){,.opt} hbugs_client_gui.ml
 distclean: clean