X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2FMakefile.common.in;h=ef569ff80cf8a9121c30364bdfc933d38111df7e;hb=b555e6b8c27c765a4611dda9528963ebff116412;hp=6b7386466e0475b134ddb94a47d8f46dfea7b6df;hpb=66cb9dbb90775e44e281cfa29429c335d41a9998;p=helm.git diff --git a/helm/ocaml/Makefile.common.in b/helm/ocaml/Makefile.common.in index 6b7386466..ef569ff80 100644 --- a/helm/ocaml/Makefile.common.in +++ b/helm/ocaml/Makefile.common.in @@ -1,6 +1,5 @@ # This Makefile must be included by another one defining: # $PACKAGE -# $REQUIRES # $PREDICATES # $INTERFACE_FILES # $IMPLEMENTATION_FILES @@ -18,6 +17,7 @@ OCAMLOPTIONS = -package "$(REQUIRES)" -predicates "$(PREDICATES)" -thread OCAMLDEBUGOPTIONS = -g OCAMLARCHIVEOPTIONS = OCAMLFIND = OCAMLPATH=$(OCAMLPATH):$$OCAMLPATH @OCAMLFIND@ +REQUIRES := $(shell $(OCAMLFIND) -query -format '%(requires)' helm-$(PACKAGE)) OCAMLC = $(OCAMLFIND) ocamlc $(OCAMLDEBUGOPTIONS) $(OCAMLOPTIONS) $(PREPROCOPTIONS) OCAMLOPT = $(OCAMLFIND) opt $(OCAMLOPTIONS) $(PREPROCOPTIONS) OCAMLDEP = $(OCAMLFIND) ocamldep -package "camlp4,$(REQUIRES)" $(SYNTAXOPTIONS) @@ -39,12 +39,14 @@ OBJECTS_TO_INSTALL = $(ARCHIVE) $(ARCHIVE_OPT) $(ARCHIVE_OPT:%.cmxa=%.a) \ DEPEND_FILES = $(INTERFACE_FILES) $(IMPLEMENTATION_FILES) $(ARCHIVE): $(IMPLEMENTATION_FILES:%.ml=%.cmo) $(LIBRARIES) + if [ $(PACKAGE) != dummy ]; then \ $(OCAMLC) $(OCAMLARCHIVEOPTIONS) -a -o $@ \ - $(IMPLEMENTATION_FILES:%.ml=%.cmo) + $(IMPLEMENTATION_FILES:%.ml=%.cmo); fi $(ARCHIVE_OPT): $(IMPLEMENTATION_FILES:%.ml=%.cmx) $(LIBRARIES_OPT) + if [ $(PACKAGE) != dummy ]; then \ $(OCAMLOPT) $(OCAMLARCHIVEOPTIONS) -a -o $@ \ - $(IMPLEMENTATION_FILES:%.ml=%.cmx) + $(IMPLEMENTATION_FILES:%.ml=%.cmx); fi prereq: $(PREREQ) all: prereq $(IMPLEMENTATION_FILES:%.ml=%.cmo) $(ARCHIVE) @@ -81,7 +83,7 @@ $(IMPLEMENTATION_FILES:%.ml=%.cmo): $(LIBRARIES) $(IMPLEMENTATION_FILES:%.ml=%.cmx): $(LIBRARIES_OPT) clean: - rm -f *.cm[ioax] *.cmxa *.o *.a $(EXTRA_OBJECTS_TO_CLEAN) + rm -f *.cm[ioax] *.cmxa *.o *.a *.annot $(EXTRA_OBJECTS_TO_CLEAN) if [ -f test ]; then rm -f test; else true; fi if [ -f test.opt ]; then rm -f test.opt; else true; fi