3 MODULES = http_common http_misc http_types http_request http_parser http_tcp_server http_daemon http_response
4 THREADED_SRV = http_threaded_tcp_server
5 MODULES_MT = $(patsubst http_tcp_server, mt/$(THREADED_SRV) http_tcp_server, $(MODULES))
6 MODULES_NON_MT = $(patsubst http_tcp_server, non_mt/$(THREADED_SRV) http_tcp_server, $(MODULES))
7 PUBLIC_MODULES = http_common http_types http_request http_daemon http_response
8 DESTDIR = $(shell $(OCAMLFIND) printconf stdlib)
10 all: all_non_mt all_mt
11 opt: opt_non_mt opt_mt
18 $(OCAMLDOC) -html -d doc/html *.mli
23 $(MAKE) -C examples/ opt
28 $(OCAMLDEP) *.ml *.mli > .depend
37 non_mt/$(THREADED_SRV).cmo: non_mt/$(THREADED_SRV).ml $(THREADED_SRV).cmi
38 cp $(THREADED_SRV).{cmi,mli} non_mt/
40 non_mt/$(THREADED_SRV).cmx: non_mt/$(THREADED_SRV).ml $(THREADED_SRV).cmi
41 cp $(THREADED_SRV).{cmi,mli} non_mt/
44 mt/$(THREADED_SRV).cmo: mt/$(THREADED_SRV).ml $(THREADED_SRV).cmi
45 cp $(THREADED_SRV).{cmi,mli} mt/
46 $(OCAMLC) $(THREADS_FLAGS) -c $<
47 mt/$(THREADED_SRV).cmx: mt/$(THREADED_SRV).ml $(THREADED_SRV).cmi
48 cp $(THREADED_SRV).{cmi,mli} mt/
49 $(OCAMLOPT) $(THREADS_FLAGS) -c $<
51 http.cma: $(patsubst %,%.cmo,$(MODULES_NON_MT))
53 http.cmxa: $(patsubst %,%.cmx,$(MODULES_NON_MT))
54 $(OCAMLOPT) -a -o $@ $^
55 http_mt.cma: $(patsubst %,%.cmo,$(MODULES_MT))
57 http_mt.cmxa: $(patsubst %,%.cmx,$(MODULES_MT))
58 $(OCAMLOPT) -a -o $@ $^
62 cat META.in | sed -e 's/@DISTVERSION@/$(DISTVERSION)/' > META
65 $(MAKE) -C examples/ clean
66 for d in . mt non_mt; do \
67 rm -f $$d/*.cm[ioax] $$d/*.cmxa $$d/*.[ao] $$d/test{,.opt}; \
69 rm -f {mt,non_mt}/$(THREADED_SRV).mli
71 rm -f doc/html/*.html doc/html/*.css
72 distclean: clean docclean
73 $(MAKE) -C examples/ distclean
75 dist: distclean depend
78 $(patsubst %, %.ml, $(MODULES)) \
79 $(patsubst %, %.mli, $(MODULES) $(THREADED_SRV)) \
80 mt/ non_mt/ $(EXTRA_DIST) examples/ debian/ \
82 -find $(DISTDIR)/ -type d -name CVS -exec rm -rf {} \;
83 -find $(DISTDIR)/ -type f -name ".cvs*" -exec rm -f {} \;
84 tar cvzf $(DISTDIR).tar.gz $(DISTDIR)/
87 $(OCAMLFIND) install -destdir $(DESTDIR) $(PKGNAME) \
88 META $(patsubst %, %.mli, $(PUBLIC_MODULES)) \
89 $(patsubst %, %.cmi, $(PUBLIC_MODULES)) http.cm{,x}a http.a
92 all opt world all_non_mt all_mt opt_non_mt opt_mt \
93 examples examples.opt depend clean distclean dist \