include Makefile.defs
-MODULES = http_common http_misc http_types http_request http_parser http_tcp_server http_daemon http_response
+MODULES = \
+ http_types http_constants http_tcp_server http_parser_sanity \
+ http_misc http_common http_parser http_message http_request \
+ http_daemon http_response
THREADED_SRV = http_threaded_tcp_server
MODULES_MT = $(patsubst http_tcp_server, mt/$(THREADED_SRV) http_tcp_server, $(MODULES))
MODULES_NON_MT = $(patsubst http_tcp_server, non_mt/$(THREADED_SRV) http_tcp_server, $(MODULES))
-PUBLIC_MODULES = http_common http_types http_request http_daemon http_response
+PUBLIC_MODULES = http_common http_request http_daemon http_response
+PUBLIC_IMPL = http_types
DESTDIR = $(shell $(OCAMLFIND) printconf stdlib)
all: all_non_mt all_mt
opt_mt: http_mt.cmxa
world: all opt
doc: *.mli
- $(OCAMLDOC) -html -d doc/html *.mli
+ $(OCAMLDOC) -html -d doc/html \
+ *.mli $(patsubst %, %.ml, $(PUBLIC_IMPL))
examples:
$(MAKE) -C examples/
$(OCAMLC) -c $<
%.cmx: %.ml %.cmi
$(OCAMLOPT) -c $<
+include Makefile.overrides
non_mt/$(THREADED_SRV).cmo: non_mt/$(THREADED_SRV).ml $(THREADED_SRV).cmi
cp $(THREADED_SRV).{cmi,mli} non_mt/
distclean: clean docclean
$(MAKE) -C examples/ distclean
-rm -f META
-dist: distclean depend
+dist: distreal distrm
+distreal: distclean depend
+ if [ -d $(DISTDIR) ]; then rm -rf $(DISTDIR); else true; fi
mkdir $(DISTDIR)
- cp -r \
- $(patsubst %, %.ml, $(MODULES)) \
- $(patsubst %, %.mli, $(MODULES) $(THREADED_SRV)) \
- mt/ non_mt/ $(EXTRA_DIST) examples/ debian/ \
- $(DISTDIR)/
+ for f in \
+ $(patsubst %, %.ml, $(MODULES)) \
+ $(patsubst %, %.mli, $(MODULES) $(THREADED_SRV)) \
+ mt/ non_mt/ $(EXTRA_DIST) examples/ debian/; \
+ do \
+ cp -r $$f $(DISTDIR)/; \
+ done
-find $(DISTDIR)/ -type d -name CVS -exec rm -rf {} \;
-find $(DISTDIR)/ -type f -name ".cvs*" -exec rm -f {} \;
tar cvzf $(DISTDIR).tar.gz $(DISTDIR)/
+distrm:
+ rm -rf $(DISTDIR)/
+deb: distreal
+ (cd $(DISTDIR)/ && debuild)
rm -rf $(DISTDIR)/
install: META
$(OCAMLFIND) install -destdir $(DESTDIR) $(PKGNAME) \
$(patsubst %, %.mli, $(PUBLIC_MODULES)) \
+ $(patsubst %, %.ml, $(PUBLIC_IMPL)) \
$(patsubst %, %.cmi, $(PUBLIC_MODULES)) \
+ $(patsubst %, %.cmi, $(PUBLIC_IMPL)) \
http{,_mt}.cm{,x}a http{,_mt}.a META
.PHONY: \
all opt world all_non_mt all_mt opt_non_mt opt_mt \
examples examples.opt depend clean distclean dist \
- install meta doc
+ install meta doc deb distreal distrm