]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/DEVEL/ocaml-http/Makefile
- the mathql interpreter is not helm-dependent any more
[helm.git] / helm / DEVEL / ocaml-http / Makefile
index 5a63b43229ef13c96c9d2ab99b2ab9c788caa71a..488ae4082a11f47a9a23c20bc3b8e7866d09d76e 100644 (file)
@@ -1,13 +1,19 @@
 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
+       http_types http_constants http_parser_sanity http_misc http_common      \
+       http_tcp_server 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_message http_request http_daemon http_response
+PUBLIC_IMPL = http_types
+OCAMLDOC_STUFF = *.mli $(patsubst %, %.ml, $(PUBLIC_IMPL))
+DOCDIR = doc/html
+DOTDIR = doc/dot
+TEXDIR = doc/latex
 DESTDIR = $(shell $(OCAMLFIND) printconf stdlib) 
 
 all: all_non_mt all_mt
@@ -17,8 +23,14 @@ 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
+doc: $(DOTDIR)/ocaml-http.ps $(TEXDIR)/ocaml-http.tex $(OCAMLDOC_STUFF)
+       $(OCAMLDOC) -html -d $(DOCDIR) $(OCAMLDOC_STUFF)
+$(TEXDIR)/ocaml-http.tex: $(OCAMLDOC_STUFF)
+       $(OCAMLDOC) -latex -o $@ $^
+$(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/
@@ -72,19 +84,24 @@ clean:
        done
        rm -f {mt,non_mt}/$(THREADED_SRV).mli
 docclean:
-       rm -f doc/html/*.html doc/html/*.css
+       rm -f   \
+               $(DOCDIR)/*.html $(DOCDIR)/*.css        \
+               $(DOTDIR)/*.dot $(DOTDIR)/*.ps  \
+               $(TEXDIR)/*.tex
 distclean: clean docclean
        $(MAKE) -C examples/ distclean
-       -rm -f META
+       rm -f META
 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)/
@@ -96,11 +113,12 @@ deb: distreal
 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 deb distreal distrm
-