X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FDEVEL%2Focaml-http%2FMakefile;h=6c9b44ce83d605b56f65f0ac984c3264b620ab29;hb=c82a09fc52155246f8eaba28e9e6f32768505f76;hp=22eb5fb80164a2dae55ecdf2fa9ae1644aee0676;hpb=dfc2157c1067b9958c182b25df103744cc8feb27;p=helm.git diff --git a/helm/DEVEL/ocaml-http/Makefile b/helm/DEVEL/ocaml-http/Makefile index 22eb5fb80..6c9b44ce8 100644 --- a/helm/DEVEL/ocaml-http/Makefile +++ b/helm/DEVEL/ocaml-http/Makefile @@ -1,12 +1,21 @@ include Makefile.defs MODULES = http_common http_misc http_types http_request http_parser http_tcp_server 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 DESTDIR = $(shell $(OCAMLFIND) printconf stdlib) -all: http.cma -opt: http.cmxa +all: all_non_mt all_mt +opt: opt_non_mt opt_mt +all_non_mt: http.cma +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 examples: $(MAKE) -C examples/ @@ -25,9 +34,27 @@ depend: %.cmx: %.ml %.cmi $(OCAMLOPT) -c $< -http.cma: $(patsubst %,%.cmo,$(MODULES)) +non_mt/$(THREADED_SRV).cmo: non_mt/$(THREADED_SRV).ml $(THREADED_SRV).cmi + cp $(THREADED_SRV).{cmi,mli} non_mt/ + $(OCAMLC) -c $< +non_mt/$(THREADED_SRV).cmx: non_mt/$(THREADED_SRV).ml $(THREADED_SRV).cmi + cp $(THREADED_SRV).{cmi,mli} non_mt/ + $(OCAMLOPT) -c $< + +mt/$(THREADED_SRV).cmo: mt/$(THREADED_SRV).ml $(THREADED_SRV).cmi + cp $(THREADED_SRV).{cmi,mli} mt/ + $(OCAMLC) $(THREADS_FLAGS) -c $< +mt/$(THREADED_SRV).cmx: mt/$(THREADED_SRV).ml $(THREADED_SRV).cmi + cp $(THREADED_SRV).{cmi,mli} mt/ + $(OCAMLOPT) $(THREADS_FLAGS) -c $< + +http.cma: $(patsubst %,%.cmo,$(MODULES_NON_MT)) + $(OCAMLC) -a -o $@ $^ +http.cmxa: $(patsubst %,%.cmx,$(MODULES_NON_MT)) + $(OCAMLOPT) -a -o $@ $^ +http_mt.cma: $(patsubst %,%.cmo,$(MODULES_MT)) $(OCAMLC) -a -o $@ $^ -http.cmxa: $(patsubst %,%.cmx,$(MODULES)) +http_mt.cmxa: $(patsubst %,%.cmx,$(MODULES_MT)) $(OCAMLOPT) -a -o $@ $^ meta: META @@ -36,8 +63,13 @@ META: META.in clean: $(MAKE) -C examples/ clean - -rm -f *.cm[ioax] *.cmxa *.[ao] test{,.opt} -distclean: clean + for d in . mt non_mt; do \ + rm -f $$d/*.cm[ioax] $$d/*.cmxa $$d/*.[ao] $$d/test{,.opt}; \ + done + rm -f {mt,non_mt}/$(THREADED_SRV).mli +docclean: + rm -f doc/html/*.html doc/html/*.css +distclean: clean docclean $(MAKE) -C examples/ distclean -rm -f META dist: distclean depend @@ -57,5 +89,5 @@ install: META .PHONY: \ all opt world examples examples.opt depend clean distclean dist \ - install meta + install meta doc