]> matita.cs.unibo.it Git - helm.git/commitdiff
added ocamlfind trick to trigger rebuild when some library's .cma has
authorStefano Zacchiroli <zack@upsilon.cc>
Wed, 16 Apr 2003 10:05:09 +0000 (10:05 +0000)
committerStefano Zacchiroli <zack@upsilon.cc>
Wed, 16 Apr 2003 10:05:09 +0000 (10:05 +0000)
been changed

helm/hbugs/broker/Makefile
helm/hbugs/client/Makefile
helm/hbugs/common/Makefile
helm/hbugs/tutors/Makefile

index a5b1e9af5d3fd1beb6844fcc6d2dcd9c19f62c8e..fe1bf71e95ca0c8db7612101d1f11a81f562061d 100644 (file)
@@ -20,6 +20,8 @@ CTL = ./hbugs_broker_ctl.sh
 
 OBJS = $(patsubst %,%.cmo,$(MODULES))
 OBJSOPT = $(patsubst %,%.cmx,$(MODULES))
+DEPS = $(shell $(OCAMLFIND) query -recursive -predicates byte -format "%d/%a" $(REQUIRES))
+DEPSOPT = $(shell $(OCAMLFIND) query -recursive -predicates native -format "%d/%a" $(REQUIRES))
 
 all: byte
 byte: $(NAME)
@@ -41,6 +43,8 @@ depend:
 %.cmx: %.ml %.cmi
        $(OCAMLOPT) -c $<
 include Makefile.overrides
+$(OBJS): $(DEPS)
+$(OBJSOPT): $(DEPSOPT)
 $(NAME): $(OBJS) $(NAME).ml
        $(OCAMLC) -linkpkg -thread -o $@ $^
 $(NAME).opt: $(OBJSOPT) $(NAME).ml
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
index 3a3d96821d8a2f8f0b1f5e622254569590a761a0..94c354f044a880981bc56b95ac2a524ae18e43eb 100644 (file)
@@ -18,6 +18,8 @@ MODULES =     \
 
 OBJS = $(patsubst %,%.cmo,$(MODULES))
 OBJSOPT = $(patsubst %,%.cmx,$(MODULES))
+DEPS = $(shell $(OCAMLFIND) query -recursive -predicates byte -format "%d/%a" $(REQUIRES))
+DEPSOPT = $(shell $(OCAMLFIND) query -recursive -predicates native -format "%d/%a" $(REQUIRES))
 
 all: byte
 byte: $(OBJS)
@@ -38,6 +40,8 @@ depend:
 %.cmx: %.ml %.cmi
        $(OCAMLOPT) -c $<
 include Makefile.overrides
+$(OBJS): $(DEPS)
+$(OBJSOPT): $(DEPSOPT)
 
 distclean: clean
 clean:
index 65c559bd56070d3a3f61500777902344c1dab100..fe6331ee4dfb8585581e7dedb629eb4829667820 100644 (file)
@@ -19,6 +19,9 @@ GENERATED_TUTORS_SRC = $(patsubst %,%.ml,$(GENERATED_TUTORS))
 COMMON = hbugs_deity.cmo hbugs_tutors_common.cmo
 COMMON_OPT = $(patsubst %.cmo,%.cmx,$(COMMON))
 
+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
 byte: $(TUTORS)
@@ -30,10 +33,10 @@ stop:
 
 $(GENERATED_TUTORS_SRC): $(TUTORS_TEMPLATE) $(TUTORS_INDEX)
        $(BUILD_TUTORS)
-%_tutor: $(COMMON) %_tutor.ml
-       $(OCAMLC) $(LINK_OPTIONS) -o $@ $^
-%_tutor.opt: $(COMMON_OPT) %_tutor.ml
-       $(OCAMLOPT) $(LINK_OPTIONS) -o $@ $^
+%_tutor: $(DEPS) $(COMMON) %_tutor.ml
+       $(OCAMLC) $(LINK_OPTIONS) -o $@ $(COMMON) $*_tutor.ml
+%_tutor.opt: $(DEPSOPT) $(COMMON_OPT) %_tutor.ml
+       $(OCAMLOPT) $(LINK_OPTIONS) -o $@ $(COMMON_OPT) $*_tutor.ml
 
 %.cmi: %.mli
        $(OCAMLC) -c $<