]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/www/lambdadelta/bin/Makefile.common
\lambda\delta web site update for git
[helm.git] / helm / www / lambdadelta / bin / Makefile.common
index bf944971b2884bfd72ab2c7e53acb1e808e046b2..7f95f4a23d144998904cd28bda902748bc7f5514 100644 (file)
@@ -1,27 +1,36 @@
 H=@
 
-include ../../etc/Makefile.defs
+OCAMLOPTIONS = -linkpkg -package \"$(REQUIRES)\" $(CAMLOPTIONS)
+OCAMLFIND = OCAMLPATH=$(OCAMLPATH) ocamlfind
+OCAMLC = $(OCAMLFIND) ocamlc -g $(OCAMLOPTIONS)
+OCAMLOPT = $(OCAMLFIND) opt $(OCAMLOPTIONS)
 
-DIST=$(EXEC)---$(VERSION)
-DATE=$(shell date +%y%m%d)
+CAMLP_FEATURES = $(F:%=-D%)
 
-OCAMLOPTIONS = -linkpkg -thread -rectypes -package \"$(REQUIRES)\" 
-OCAMLC = $(OCAMLFIND) ocamlc $(OCAMLOPTIONS) 
-OCAMLOPT = $(OCAMLFIND) opt $(OCAMLOPTIONS)
+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))))
 
-all: $(EXEC).native
+$(foreach EXEC, $(EXECS), $(eval $(call BUILD_TEMPLATE,$(EXEC:%=%.byte))))
 
-$(EXEC).native: $(wildcard *.ml) $(wildcard *.mli) $(wildcard *.mly) $(wildcard *.mll)
-       @echo "  OCAMLBUILD $(EXEC).native" 
-       $(H)ocamlbuild -ocamlc "$(OCAMLC)" -ocamlopt "$(OCAMLOPT)" -yaccflags "$(YACCFLAGS)" $(EXEC).native 
+clean::
+       @echo "  OCAMLBUILD -clean"
+       $(H)ocamlbuild -clean
+       $(H)$(RM) $(AMLS:%.aml=%.ml) *~
 
-clean:
-       ocamlbuild -clean
-       rm -rf $(DIST) $(DIST).tgz
+.PHONY: all clean
 
-dist:
-       mkdir -p $(DIST)/Sources
-       cp ReadMe $(DIST)
-       cp *.ml *.mli *.mll *.mly Makefile _tags $(DIST)/Sources
-       cd $(DIST); ln -s Sources/$(EXEC).native $(EXEC)
-       tar -cvzf $(DIST).tgz $(DIST)
+%.ml: %.aml
+       $(H)$(ALPHA) < $< > $@