H=@
+ifeq ($(origin OCAMLPATH), undefined)
+ OCAMLFIND = OCAMLPATH=../components/METAS ocamlfind
+else
+ OCAMLFIND = ocamlfind
+endif
+
+LDDLURL = http://helm.cs.unibo.it/lambda-delta/static/lddl
+LDDLDIR = mowgli:/projects/helm/public_html/lambda-delta/static/lddl
+DOWNDIR = mowgli:/projects/helm/public_html/lambda-delta/download
+XMLDIR = mowgli:/projects/helm/public_html/lambda-delta/xml
+LOCALLDDLDIR = ../../../public_html/lddl
+
+DIRECTORIES = $(addprefix $(SRC)/,$(shell cat $(SRC)/Make))
INCLUDES = $(DIRECTORIES:%=-I %)
-OCAMLDEP = ocamlfind ocamldep -native $(INCLUDES)
-OCAMLOPT = ocamlfind opt -package "$(REQUIRES)" $(INCLUDES)
-OCAMLLEX = ocamllex
+OCAMLDEP = $(OCAMLFIND) ocamldep -native $(INCLUDES)
+OCAMLOPT = $(OCAMLFIND) opt $(OCAMLOPTIONS) -linkpkg -package "$(REQUIRES)" $(INCLUDES)
+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
$(H)$(OCAMLDEP) $^ > .depend.opt
clean:
- @echo " CLEAN . $(DIRECTORIES)"
+ @echo " CLEAN . $(SRC)"
$(H)find -name "*~" | xargs $(RM) $(CLEAN)
-tgz: clean
- @echo " TAR -czf $(MAIN:%=%.tgz) . $(DIRECTORIES)"
- $(H)find -name "Make*" | xargs $(TAR) $(KEEP)
+lint-xml: $(XMLS)
+ @echo XMLLINT --valid
+ $(H)$(XMLLINT) --valid $^
+
+#tgz: clean
+# @echo " TAR -czf $(MAIN:%=%.tgz) . $(DIRECTORIES)"
+# $(H)find -name "Make*" | xargs $(TAR) $(KEEP)
%.ml %.mli: %.mly
@echo " OCAMLYACC $<"
@echo " OCAMLOPT $<"
$(H)$(OCAMLOPT) -c $<
-ifeq ($(MAKECMDGOALS), $(MAIN).opt)
- include .depend.opt
-endif
+TAGS += $(MAIN).opt
+
+$(foreach TAG, $(TAGS), $(eval $(call INCLUDE_TEMPLATE, $(TAG))))