]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/lambda-delta/Makefile.common
- performance data added for reference
[helm.git] / helm / software / lambda-delta / Makefile.common
index c4a276b82ab2772d8a145b01e387364e21f9a5e5..7b8d0c3c304301991a21cc20f9f52f6ec0f74d6f 100644 (file)
@@ -1,10 +1,12 @@
 H=@
 
+DIRECTORIES = $(shell cat Make)
+
 INCLUDES = $(DIRECTORIES:%=-I %) 
 
 OCAMLDEP  = ocamlfind ocamldep -native $(INCLUDES)
 OCAMLOPT  = ocamlfind opt -linkpkg -package "$(REQUIRES)" $(INCLUDES)
-OCAMLLEX  = ocamllex
+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,10 +71,6 @@ tgz: clean
        @echo "  OCAMLOPT $<"
        $(H)$(OCAMLOPT) -c $<
 
-ifeq ($(MAKECMDGOALS), $(MAIN).opt)
-  include .depend.opt
-endif
+TAGS += $(MAIN).opt
 
-ifeq ($(MAKECMDGOALS), test)
-  include .depend.opt
-endif
+$(foreach TAG, $(TAGS), $(eval $(call INCLUDE_TEMPLATE, $(TAG))))