H=@
+LDDLURL = http://helm.cs.unibo.it/lambda-delta/static/lddl
+LDDLDIR = /projects/helm/public_html/lambda-delta/static/lddl
+
+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)
+XMLLINT = xmllint --noout
+XSLT = xsltproc
+TAR = tar -czf etc/$(MAIN:%=%.tgz)
define DIR_TEMPLATE
MODULES += $$(addprefix $(1)/,$$(shell cat $(1)/Make))
)
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
@echo " CLEAN . $(DIRECTORIES)"
$(H)find -name "*~" | xargs $(RM) $(CLEAN)
+lint: $(XMLS)
+ @echo XMLLINT --valid
+ $(H)$(XMLLINT) --valid $^
+
tgz: clean
@echo " TAR -czf $(MAIN:%=%.tgz) . $(DIRECTORIES)"
$(H)find -name "Make*" | xargs $(TAR) $(KEEP)
@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))))