X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FDEVEL%2Focaml-http%2FMakefile;h=572a7f2584f050b328534219697c338a0c0f1e7b;hb=4167cea65ca58897d1a3dbb81ff95de5074700cc;hp=90ab28781a500ab06f3721cc8ce253d47feabf9b;hpb=113bef6891e9ddaba7d81addbc1b2182fb234913;p=helm.git diff --git a/helm/DEVEL/ocaml-http/Makefile b/helm/DEVEL/ocaml-http/Makefile index 90ab28781..572a7f258 100644 --- a/helm/DEVEL/ocaml-http/Makefile +++ b/helm/DEVEL/ocaml-http/Makefile @@ -1,15 +1,26 @@ include Makefile.defs -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 +MODULES = \ + http_constants http_types http_parser_sanity http_misc http_common \ + http_tcp_server http_parser http_message http_request http_daemon \ + http_response http_user_agent + 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_request http_daemon http_response -PUBLIC_IMPL = http_types -DESTDIR = $(shell $(OCAMLFIND) printconf stdlib) +PUBLIC_MODULES = \ + http_types \ + http_common \ + http_message \ + http_request \ + http_daemon \ + http_response \ + http_user_agent +OCAMLDOC_STUFF = *.mli +DOCDIR = doc/html +DOTDIR = doc/dot +TEXDIR = doc/latex +DESTDIR = $(shell $(OCAMLFIND) printconf destdir) all: all_non_mt all_mt opt: opt_non_mt opt_mt @@ -18,9 +29,20 @@ opt_non_mt: http.cmxa all_mt: http_mt.cma opt_mt: http_mt.cmxa world: all opt -doc: *.mli - $(OCAMLDOC) -html -d doc/html \ - *.mli $(patsubst %, %.ml, $(PUBLIC_IMPL)) +doc: all $(DOCDIR)/index.html $(DOTDIR)/ocaml-http.ps $(TEXDIR)/ocaml-http.ps $(OCAMLDOC_STUFF) +$(DOCDIR)/index.html: + $(OCAMLDOC) -html -d $(DOCDIR) $(OCAMLDOC_STUFF) +$(TEXDIR)/ocaml-http.tex: $(OCAMLDOC_STUFF) + $(OCAMLDOC) -latex -o $@ $^ +$(TEXDIR)/ocaml-http.ps: $(TEXDIR)/ocaml-http.tex + cd $(TEXDIR); \ + latex ocaml-http; \ + latex ocaml-http; \ + dvips ocaml-http +$(DOTDIR)/ocaml-http.ps: $(DOTDIR)/ocaml-http.dot + $(DOT) -Tps $< > $@ +$(DOTDIR)/ocaml-http.dot: *.ml *.mli + $(OCAMLDOC) -dot -o $(DOTDIR)/ocaml-http.dot *.ml *.mli examples: $(MAKE) -C examples/ @@ -38,7 +60,6 @@ depend: $(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/ @@ -74,18 +95,25 @@ clean: done rm -f {mt,non_mt}/$(THREADED_SRV).mli docclean: - rm -f doc/html/*.html doc/html/*.css -distclean: clean docclean + -rm -f \ + $(DOCDIR)/*.html $(DOCDIR)/*.css \ + $(DOTDIR)/*.dot $(DOTDIR)/*.ps \ + $(TEXDIR)/*.{dvi,ps,ps.gz,pdf,aux,log,out,toc,tmp,haux,sty,tex} +distclean: clean $(MAKE) -C examples/ distclean - -rm -f META + rm -f META dist: distreal distrm -distreal: distclean depend +distdoc: all doc if [ -d $(DISTDIR) ]; then rm -rf $(DISTDIR); else true; fi - mkdir $(DISTDIR) + mkdir -p $(DISTDIR)/doc/ + cp -r doc/html/ $(DISTDIR)/doc/ + cp doc/dot/ocaml-http.ps $(DISTDIR)/doc/modules.ps + cp doc/latex/ocaml-http.ps $(DISTDIR)/doc/ +distreal: distdoc distclean depend for f in \ $(patsubst %, %.ml, $(MODULES)) \ $(patsubst %, %.mli, $(MODULES) $(THREADED_SRV)) \ - mt/ non_mt/ $(EXTRA_DIST) examples/ debian/; \ + mt/ non_mt/ $(EXTRA_DIST) examples/ debian/; \ do \ cp -r $$f $(DISTDIR)/; \ done @@ -94,19 +122,16 @@ distreal: distclean depend tar cvzf $(DISTDIR).tar.gz $(DISTDIR)/ distrm: rm -rf $(DISTDIR)/ -deb: distreal +deb: docclean 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 + $(wildcard *.cma *.cmxa *.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 deb distreal distrm -