X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fhelena%2FMakefile.common;h=dee058728411894ab75e61305863e3b766b2a72b;hb=88977b2d546e547e23b046792fe2ad8f6ff192a4;hp=1fbcd619bc4f0757f8881a2b891b094a0ac25bc1;hpb=a8a42ce5976221949b3999446eebc5d5457b81bd;p=helm.git diff --git a/helm/software/helena/Makefile.common b/helm/software/helena/Makefile.common index 1fbcd619b..dee058728 100644 --- a/helm/software/helena/Makefile.common +++ b/helm/software/helena/Makefile.common @@ -1,96 +1,58 @@ H=@ -ifeq ($(origin OCAMLPATH), undefined) - OCAMLFIND = OCAMLPATH=$(HOME)/svn/claudio/components/METAS ocamlfind -else - OCAMLFIND = ocamlfind -endif +CALLMAKE = $(MAKE) --no-print-directory -RELISE = $(MAIN:%=%_$(shell cat MakeVersion)) +OCAMLPATH ?= `readlink -f -n ./matita/components/METAS` +OCAMLFIND = OCAMLPATH=$(OCAMLPATH) ocamlfind -DOWNDIR = $(HOME)/svn/helm-stable/www/lambdadelta/download +CAMLP = -pp \"camlp5o pa_macro.cmo $(CAMLPOPTIONS)\" -DIRECTORIES = $(addprefix $(SRC)/,$(shell cat $(SRC)/Make)) - -INCLUDES = $(DIRECTORIES:%=-I %) - -OCAMLDEP = $(OCAMLFIND) ocamldep -native $(INCLUDES) -OCAMLOPT = $(OCAMLFIND) opt $(OCAMLOPTIONS) -linkpkg -package "$(REQUIRES)" $(INCLUDES) -OCAMLLEX = ocamllex.opt +OCAMLDEP = $(OCAMLFIND) ocamldep $(CAMLP) +OCAMLOPT = $(OCAMLFIND) ocamlopt $(CAMLP) $(OCAMLOPTIONS) -linkpkg -package \"$(REQUIRES)\" +OCAMLC = $(OCAMLFIND) ocamlc $(CAMLP) $(OCAMLOPTIONS) -linkpkg -package \"$(REQUIRES)\" OCAMLYACC = ocamlyacc -v -TAR = tar -czf etc/$(MAIN:%=%.tgz) - -define DIR_TEMPLATE - MODULES += $$(addprefix $(1)/,$$(shell cat $(1)/Make)) -endef - -define MOD_TEMPLATE - SOURCES += $$(if $$(wildcard $(1).ml[yi]),$(1).mli $(1).ml,$(1).ml) - CMXS += $(1).cmx - CLEAN += $(1).cmi $(1).cmx $(1).o - CLEAN += $$(if $$(wildcard $(1).ml[ly]),$(1).ml,) - CLEAN += $$(if $$(wildcard $(1).mly),$(1).mli $(1).output,) - KEEP += $$(if $$(wildcard $(1).mly),$(1).mly,\ - $$(if $$(wildcard $(1).mll),$(1).mll,\ - $$(if $$(wildcard $(1).mli),$(1).mli $(1).ml,$(1).ml)\ - )\ - ) -endef - -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)))) +OCAMLLEX = ocamllex.opt -OBJECTS = $(patsubst %.ml,%.cmx,$(SOURCES:%.mli=%.cmi)) -CLEAN += $(MAIN).opt +BUILDCMDS = -ocamldep "$(OCAMLDEP)" \ + -ocamlc "$(OCAMLC)" \ + -ocamlopt "$(OCAMLOPT)" \ + -ocamlyacc "$(OCAMLYACC)" \ + -ocamllex "$(OCAMLLEX)" -all opt: .depend.opt - @$(MAKE) --no-print-directory $(MAIN).opt +all: opt byte -$(MAIN).opt: $(OBJECTS) - @echo " OCAMLOPT -o $(MAIN).opt" - $(H)$(OCAMLOPT) -o $(MAIN).opt $(CMXS) +opt: + @echo " OCAMLBUILD $(EXEC).native" + $(H)ocamlbuild $(BUILDCMDS) $(BUILDOPTIONS) $(EXEC).native -.depend.opt: $(SOURCES) - @echo " OCAMLDEP -native" - $(H)$(OCAMLDEP) $^ > .depend.opt +byte: + @echo " OCAMLBUILD $(EXEC).byte" + $(H)ocamlbuild $(BUILDCMDS) $(BUILDOPTIONS) $(EXEC).byte clean: - @echo " CLEAN . $(SRC)" + @echo " OCAMLBUILD -clean" +# $(H)ocamlbuild -clean + $(H)$(RM) -r _build $(EXEC).native $(EXEC).byte $(H)find -name "*~" | xargs $(RM) $(CLEAN) -relise: clean - @echo " RELISE $(RELISE)" - $(H)mkdir -p $(RELISE) - $(H)$(foreach FILE, $(shell cat Make), cp --parents $(FILE) $(RELISE);) - $(H)tar -czf etc/$(RELISE).tar.gz $(RELISE) - $(H)scp etc/$(RELISE).tar.gz $(DOWNDIR) - -tgz: clean - @echo " TAR -czf $(MAIN:%=%.tgz) . $(DIRECTORIES)" - $(H)find -name "Make*" | xargs $(TAR) $(KEEP) - -etc: - @echo " MKDIR etc" - $(H)mkdir etc - -%.ml %.mli: %.mly - @echo " OCAMLYACC $<" - $(H)$(OCAMLYACC) $< -%.ml: %.mll - @echo " OCAMLLEX $<" - $(H)$(OCAMLLEX) $< -%.cmi: %.mli - @echo " OCAMLOPT $<" - $(H)$(OCAMLOPT) -c $< -%.cmx: %.ml - @echo " OCAMLOPT $<" - $(H)$(OCAMLOPT) -c $< - -TAGS += $(MAIN).opt - -$(foreach TAG, $(TAGS), $(eval $(call INCLUDE_TEMPLATE, $(TAG)))) +.PHONY: all opt byte clean $(TARGETS) + +#RELISE = $(EXEC:%=%_$(shell cat MakeVersion)) +# +#DOWNDIR = ../../www/lambdadelta/download +# +#TAR = tar -czf etc/$(EXEC:%=%.tgz) +# +#relise: clean +# @echo " RELISE $(RELISE)" +# $(H)mkdir -p $(RELISE) +# $(H)$(foreach FILE, $(shell cat Make), cp --parents $(FILE) $(RELISE);) +# $(H)tar -czf etc/$(RELISE).tar.gz $(RELISE) +# $(H)scp etc/$(RELISE).tar.gz $(DOWNDIR) +# +#tgz: clean +# @echo " TAR -czf $(EXEC:%=%.tgz) . $(DIRECTORIES)" +# $(H)find -name "Make*" | xargs $(TAR) $(KEEP) +# +#etc: +# @echo " MKDIR etc" +# $(H)mkdir -p etc