]> matita.cs.unibo.it Git - helm.git/blob - helm/www/lambdadelta/bin/Makefile.common
update in basic_2
[helm.git] / helm / www / lambdadelta / bin / Makefile.common
1 H=@
2
3 OCAMLOPTIONS = -linkpkg -package \"$(REQUIRES)\" $(CAMLOPTIONS)
4 OCAMLFIND = OCAMLPATH=$(OCAMLPATH) ocamlfind
5 OCAMLC = $(OCAMLFIND) ocamlc -g $(OCAMLOPTIONS)
6 OCAMLOPT = $(OCAMLFIND) opt $(OCAMLOPTIONS)
7
8 CAMLP_FEATURES = $(F:%=-D%)
9
10 AMLS = $(wildcard *.aml)
11
12 define BUILD_TEMPLATE
13 $(1).all:
14         @echo "  OCAMLBUILD $(1)"
15         $(H)ocamlbuild $$(BUILDOPTIONS) -ocamlc "$$(OCAMLC)" -ocamlopt "$$(OCAMLOPT)" -yaccflags "-v" -pp "$$(CAMLP)" $(1)
16
17 .PHONY: $(1).all
18 endef
19
20 all:: $(AMLS:%.aml=%.ml) $(EXECS:%=%.native.all)
21
22 byte:: $(AMLS:%.aml=%.ml) $(EXECS:%=%.byte.all)
23
24 $(foreach EXEC, $(EXECS), $(eval $(call BUILD_TEMPLATE,$(EXEC:%=%.native))))
25
26 $(foreach EXEC, $(EXECS), $(eval $(call BUILD_TEMPLATE,$(EXEC:%=%.byte))))
27
28 clean::
29         @echo "  OCAMLBUILD -clean"
30         $(H)ocamlbuild -clean
31         $(H)$(RM) $(AMLS:%.aml=%.ml) *~
32
33 .PHONY: all clean
34
35 %.ml: %.aml
36         $(H)$(ALPHA) < $< > $@