]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/bin/Makefile.common
update in lambdadelta
[helm.git] / matita / matita / contribs / lambdadelta / bin / Makefile.common
diff --git a/matita/matita/contribs/lambdadelta/bin/Makefile.common b/matita/matita/contribs/lambdadelta/bin/Makefile.common
new file mode 100644 (file)
index 0000000..7f95f4a
--- /dev/null
@@ -0,0 +1,36 @@
+H=@
+
+OCAMLOPTIONS = -linkpkg -package \"$(REQUIRES)\" $(CAMLOPTIONS)
+OCAMLFIND = OCAMLPATH=$(OCAMLPATH) ocamlfind
+OCAMLC = $(OCAMLFIND) ocamlc -g $(OCAMLOPTIONS)
+OCAMLOPT = $(OCAMLFIND) opt $(OCAMLOPTIONS)
+
+CAMLP_FEATURES = $(F:%=-D%)
+
+AMLS = $(wildcard *.aml)
+
+define BUILD_TEMPLATE
+$(1).all:
+       @echo "  OCAMLBUILD $(1)"
+       $(H)ocamlbuild $$(BUILDOPTIONS) -ocamlc "$$(OCAMLC)" -ocamlopt "$$(OCAMLOPT)" -yaccflags "-v" -pp "$$(CAMLP)" $(1)
+
+.PHONY: $(1).all
+endef
+
+all:: $(AMLS:%.aml=%.ml) $(EXECS:%=%.native.all)
+
+byte:: $(AMLS:%.aml=%.ml) $(EXECS:%=%.byte.all)
+
+$(foreach EXEC, $(EXECS), $(eval $(call BUILD_TEMPLATE,$(EXEC:%=%.native))))
+
+$(foreach EXEC, $(EXECS), $(eval $(call BUILD_TEMPLATE,$(EXEC:%=%.byte))))
+
+clean::
+       @echo "  OCAMLBUILD -clean"
+       $(H)ocamlbuild -clean
+       $(H)$(RM) $(AMLS:%.aml=%.ml) *~
+
+.PHONY: all clean
+
+%.ml: %.aml
+       $(H)$(ALPHA) < $< > $@