VERSION = 0.2.1 NAME = http_getter DISTDIR = http-getter-$(VERSION) EXTRA_DIST = AUTHORS COPYING NEWS README BUGS DOCS = doc/http_getter.conf.xml.sample REQUIRES = http dbm pcre netclient pxp shell threads zip 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 http) \ $(shell $(OCAMLFIND) query -i-format dbm) \ $(shell $(OCAMLFIND) query -i-format pcre) \ $(shell $(OCAMLFIND) query -i-format netclient) \ $(shell $(OCAMLFIND) query -i-format pxp) \ $(shell $(OCAMLFIND) query -i-format shell) \ $(shell $(OCAMLFIND) query -i-format threads) \ $(shell $(OCAMLFIND) query -i-format zip) MODULES = \ http_getter_debugger threadSafe \ http_getter_types zack http_getter_misc http_getter_const \ http_getter_env http_getter_common http_getter_map \ http_getter_cache OBJS = $(patsubst %,%.cmo,$(MODULES)) OBJSOPT = $(patsubst %,%.cmx,$(MODULES)) all: byte byte: $(NAME) opt: $(NAME).opt world: byte opt include .depend depend: $(OCAMLDEP) *.ml *.mli > .depend %.cmi: %.mli $(OCAMLC) -c $< %.cmo: %.ml %.cmi $(OCAMLC) -c $< %.cmx: %.ml %.cmi $(OCAMLOPT) -c $< include Makefile.overrides $(NAME).cmo: $(NAME).ml $(OCAMLC) -c $< $(NAME).cmx: $(NAME).ml $(OCAMLOPT) -c $< $(NAME): $(OBJS) $(NAME).ml $(OCAMLC) -linkpkg -thread -o $@ $^ $(NAME).opt: $(OBJSOPT) $(NAME).ml $(OCAMLOPT) -linkpkg -thread -o $@ $^ http_getter.dot: *.ml *.mli $(OCAMLDOC) -dot -o $@ $^ distclean: clean clean: rm -f *.cm[aiox] *.o $(NAME){,.opt} *.dot dist: distclean depend if [ -d $(DISTDIR) ]; then rm -rf $(DISTDIR); else true; fi mkdir $(DISTDIR)/ mkdir $(DISTDIR)/doc cp $(DOCS) $(DISTDIR)/doc/ for m in $(patsubst %, %.mli, $(MODULES)); do \ if [ "$$m" != "http_getter_types.mli" ]; then \ cp $$m $(DISTDIR)/; \ fi; \ done cp \ $(patsubst %, %.ml, $(MODULES)) \ $(NAME).ml \ Makefile Makefile.overrides .depend \ $(DISTDIR)/ cp $(EXTRA_DIST) $(DISTDIR)/ tar cvzf $(DISTDIR).tar.gz $(DISTDIR)/ rm -rf $(DISTDIR)/ distcheck: dist tar xvzf $(DISTDIR).tar.gz cd $(DISTDIR); make rm -rf $(DISTDIR) .PHONY: all byte dist distcheck opt world depend clean distclean