X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Flambda-delta%2FMakefile.common;h=7b8d0c3c304301991a21cc20f9f52f6ec0f74d6f;hb=de66af7241ad8ab71d5857d14570e4662f2488dc;hp=b6e08f89ea86b0e8975fb2687629ed0b2f3f3b18;hpb=9b4286fdc2d88b0d8018e5718ef055804f5cf7ac;p=helm.git diff --git a/helm/software/lambda-delta/Makefile.common b/helm/software/lambda-delta/Makefile.common index b6e08f89e..7b8d0c3c3 100644 --- a/helm/software/lambda-delta/Makefile.common +++ b/helm/software/lambda-delta/Makefile.common @@ -1,10 +1,12 @@ H=@ +DIRECTORIES = $(shell cat Make) + INCLUDES = $(DIRECTORIES:%=-I %) OCAMLDEP = ocamlfind ocamldep -native $(INCLUDES) -OCAMLOPT = ocamlfind opt -package "$(REQUIRES)" $(INCLUDES) -OCAMLLEX = ocamllex +OCAMLOPT = ocamlfind opt -linkpkg -package "$(REQUIRES)" $(INCLUDES) +OCAMLLEX = ocamllex.opt OCAMLYACC = ocamlyacc -v TAR = tar -czf $(MAIN:%=%.tgz) @@ -25,8 +27,14 @@ define MOD_TEMPLATE ) endef -$(foreach DIR,$(DIRECTORIES),$(eval $(call DIR_TEMPLATE, $(DIR)))) -$(foreach MOD,$(MODULES),$(eval $(call MOD_TEMPLATE, $(MOD)))) +define INCLUDE_TEMPLATE + ifeq ($(MAKECMDGOALS), $(1)) + include .depend.opt + endif +endef + +$(foreach DIR, $(DIRECTORIES), $(eval $(call DIR_TEMPLATE, $(DIR)))) +$(foreach MOD, $(MODULES), $(eval $(call MOD_TEMPLATE, $(MOD)))) OBJECTS = $(patsubst %.ml,%.cmx,$(SOURCES:%.mli=%.cmi)) CLEAN += $(MAIN).opt @@ -63,6 +71,6 @@ tgz: clean @echo " OCAMLOPT $<" $(H)$(OCAMLOPT) -c $< -ifeq ($(MAKECMDGOALS), $(MAIN).opt) - include .depend.opt -endif +TAGS += $(MAIN).opt + +$(foreach TAG, $(TAGS), $(eval $(call INCLUDE_TEMPLATE, $(TAG))))