REQUIRES = helm-xml helm-pxp pcre pxp http COMMONOPTS = -package "$(REQUIRES)" -pp camlp4o OCAMLFIND = ocamlfind OCAMLC = $(OCAMLFIND) ocamlc -thread $(COMMONOPTS) OCAMLOPT = $(OCAMLFIND) ocamlopt -thread $(COMMONOPTS) OCAMLDEP = $(OCAMLFIND) ocamldep $(COMMONOPTS) OCAMLDOC = \ ocamldoc \ $(shell $(OCAMLFIND) query -i-format helm-xml) \ $(shell $(OCAMLFIND) query -i-format helm-pxp) \ $(shell $(OCAMLFIND) query -i-format pcre) \ $(shell $(OCAMLFIND) query -i-format pxp-engine) \ $(shell $(OCAMLFIND) query -i-format threads) \ $(shell $(OCAMLFIND) query -i-format http) MODULES = \ hbugs_types threadSafe hbugs_misc \ hbugs_common hbugs_id_generator hbugs_messages OBJS = $(patsubst %,%.cmo,$(MODULES)) OBJSOPT = $(patsubst %,%.cmx,$(MODULES)) DEPS = $(shell $(OCAMLFIND) query -recursive -predicates byte -format "%d/%a" $(REQUIRES)) DEPSOPT = $(shell $(OCAMLFIND) query -recursive -predicates native -format "%d/%a" $(REQUIRES)) all: byte byte: $(OBJS) opt: $(OBJSOPT) world: byte opt hbugs_common.dot: *.ml *.mli $(OCAMLDOC) -dot -o $@ $^ include .depend depend: $(OCAMLDEP) *.ml *.mli > .depend %.cmi: %.mli $(OCAMLC) -c $< %.cmo: %.ml %.cmi $(OCAMLC) -c $< %.cmx: %.ml %.cmi $(OCAMLOPT) -c $< include Makefile.overrides $(OBJS): $(DEPS) $(OBJSOPT): $(DEPSOPT) distclean: clean clean: rm -f *.cm[aiox] *.o $(NAME){,.opt} .PHONY: all byte opt world depend clean