]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/hbugs/client/Makefile
fixed a typo (inside a comment)
[helm.git] / helm / hbugs / client / Makefile
index e96695dbe3e54f3efc916c59ad83ddbc8cb3782b..220a3b198d8041a57855285c69c8763e64508a37 100644 (file)
@@ -1,26 +1,38 @@
 NAME = hbugs_client
 METADIR = ../meta
-REQUIRES = lablgtk threads hbugs-common
+REQUIRES = lablgtk2 threads hbugs-common lablgtk2.glade
 PREDICATES = glade init
 COMMONOPTS = -package "$(REQUIRES)" -predicates "$(PREDICATES)"
-OCAMLC = OCAMLPATH="$(METADIR)" ocamlfind ocamlc $(COMMONOPTS)
-OCAMLOPT = OCAMLPATH="$(METADIR)" ocamlfind ocamlopt $(COMMONOPTS)
+OCAMLC = OCAMLPATH="$(METADIR)" ocamlfind ocamlc -thread $(COMMONOPTS)
+OCAMLOPT = OCAMLPATH="$(METADIR)" ocamlfind ocamlopt -thread $(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
 byte: $(NAME)
 opt: $(NAME).opt
 
-gui.ml: hbugs_gui.glade
-       lablgladecc $< > $@
-gui.cmo: gui.ml
+hbugs_client_gui.ml: hbugs_gui.glade
+       lablgladecc2 $< > $@.tmp
+       mv $@.tmp $@
+hbugs_client_gui.cmo: hbugs_client_gui.ml
        $(OCAMLC) -c $<
-gui.cmx: gui.ml
+hbugs_client_gui.cmx: hbugs_client_gui.ml
        $(OCAMLOPT) -c $<
-$(NAME): gui.cmo $(NAME).ml
-       $(OCAMLC) -thread -package threads -linkpkg -o $@ $^
-$(NAME).opt: gui.cmx $(NAME).ml
-       $(OCAMLOPT) -thread -package threads -linkpkg -o $@ $^
+hbugs_client.cmi: hbugs_client.mli
+       $(OCAMLC) -c $<
+hbugs_client.cmo: hbugs_client.ml hbugs_client.cmi
+       $(OCAMLC) -thread -c $<
+hbugs_client.cmx: hbugs_client.ml hbugs_client.cmi
+       $(OCAMLOPT) -thread -c $<
+$(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} gui.ml
+       rm -f *.cm[aixo] *.cmxa *.[oa] $(NAME){,.opt} hbugs_client_gui.ml
+distclean: clean
 .PHONY: all world byte opt clean