# This Makefile must be included by another one defining:
# $PACKAGE
-# $REQUIRES
# $PREDICATES
# $INTERFACE_FILES
# $IMPLEMENTATION_FILES
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)
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)