]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/hbugs/tutors/Makefile
split into two major parts:
[helm.git] / helm / hbugs / tutors / Makefile
index 65c559bd56070d3a3f61500777902344c1dab100..f0044dfc6ace1b922dd646705538c605097b171c 100644 (file)
@@ -1,9 +1,12 @@
 METADIR = ../meta
-REQUIRES = threads hbugs-common helm-cic_proof_checking helm-tactics helm-getter
+REQUIRES = threads hbugs-common helm-cic_proof_checking helm-getter \
+        helm-cic_textual_parser \
+        helm-mathql helm-mathql_interpreter helm-tactics  
 COMMONOPTS = -package "$(REQUIRES)" -predicates "$(PREDICATES)"
 OCAMLFIND = ocamlfind
-OCAMLC = $(OCAMLFIND) ocamlc $(COMMONOPTS)
-OCAMLOPT = $(OCAMLFIND) opt $(COMMONOPTS)
+OCAMLC = $(OCAMLFIND) ocamlc -thread $(COMMONOPTS)
+OCAMLOPT = $(OCAMLFIND) opt -thread $(COMMONOPTS)
+OCAMLDEP = $(OCAMLFIND) ocamldep -package "$(REQUIRES)"
 LINK_OPTIONS = -thread -package threads -linkpkg
 TUTORS_TEMPLATE = hbugs_tutor.TPL.ml
 TUTORS_INDEX = INDEX.xml
@@ -19,6 +22,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 +36,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 $<
@@ -47,4 +53,5 @@ clean:
 distclean: clean
        rm -f run/*
 .PHONY: all world byte opt clean start stop
+.PRECIOUS: %.cmi