include Makefile.defs
MODULES = \
- http_types http_constants http_parser_sanity http_misc http_common \
+ 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
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_message http_request http_daemon http_response \
+ http_types \
+ http_common \
+ http_message \
+ http_request \
+ http_daemon \
+ http_response \
http_user_agent
-PUBLIC_IMPL = http_types
-OCAMLDOC_STUFF = *.mli $(patsubst %, %.ml, $(PUBLIC_IMPL))
+OCAMLDOC_STUFF = *.mli
DOCDIR = doc/html
DOTDIR = doc/dot
TEXDIR = doc/latex
all_mt: http_mt.cma
opt_mt: http_mt.cmxa
world: all opt
-doc: $(DOTDIR)/ocaml-http.ps $(TEXDIR)/ocaml-http.tex $(OCAMLDOC_STUFF)
+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
$(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/
done
rm -f {mt,non_mt}/$(THREADED_SRV).mli
docclean:
- rm -f \
+ -rm -f \
$(DOCDIR)/*.html $(DOCDIR)/*.css \
$(DOTDIR)/*.dot $(DOTDIR)/*.ps \
- $(TEXDIR)/*.tex
+ $(TEXDIR)/*.{dvi,ps,ps.gz,pdf,aux,log,out,toc,tmp,haux,sty,tex}
distclean: clean
$(MAKE) -C examples/ distclean
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)) \
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 \