-VERSION = 0.2.0
+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
-OCAMLC = ocamlfind ocamlc $(COMMONOPTS)
-OCAMLOPT = ocamlfind ocamlopt $(COMMONOPTS)
-OCAMLDEP = ocamlfind ocamldep $(COMMONOPTS)
+OCAMLFIND = ocamlfind
+OCAMLC = $(OCAMLFIND) ocamlc $(COMMONOPTS)
+OCAMLOPT = $(OCAMLFIND) ocamlopt $(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 = \
- threadSafe \
- http_getter_types http_getter_misc http_getter_env \
- http_getter_const http_getter_common http_getter_map \
+ 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))
$(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}
+ 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)) \
- $(patsubst %, %.mli, $(MODULES)) \
$(NAME).ml \
- Makefile .depend \
+ 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 opt world depend clean
+.PHONY: all byte dist distcheck opt world depend clean distclean