]> matita.cs.unibo.it Git - helm.git/blob - helm/http_getter/Makefile
Initial revision
[helm.git] / helm / http_getter / Makefile
1 VERSION = 0.2.0
2 NAME = http_getter
3 DISTDIR = http-getter-$(VERSION)
4 REQUIRES = http dbm pcre netclient pxp shell threads zip
5 COMMONOPTS = -package "$(REQUIRES)" -pp camlp4o
6 OCAMLC = ocamlfind ocamlc $(COMMONOPTS)
7 OCAMLOPT = ocamlfind ocamlopt $(COMMONOPTS)
8 OCAMLDEP = ocamlfind ocamldep $(COMMONOPTS)
9 MODULES =       \
10         http_getter_debugger threadSafe                                                 \
11         http_getter_types http_getter_misc http_getter_const    \
12         http_getter_env http_getter_common http_getter_map              \
13         http_getter_cache
14
15 OBJS = $(patsubst %,%.cmo,$(MODULES))
16 OBJSOPT = $(patsubst %,%.cmx,$(MODULES))
17
18 all: byte
19 byte: $(NAME)
20 opt: $(NAME).opt
21 world: byte opt
22
23 include .depend
24 depend:
25         $(OCAMLDEP) *.ml *.mli > .depend
26
27 %.cmi: %.mli
28         $(OCAMLC) -c $<
29 %.cmo: %.ml %.cmi
30         $(OCAMLC) -c $<
31 %.cmx: %.ml %.cmi
32         $(OCAMLOPT) -c $<
33 include Makefile.overrides
34 $(NAME).cmo: $(NAME).ml
35         $(OCAMLC) -c $<
36 $(NAME).cmx: $(NAME).ml
37         $(OCAMLOPT) -c $<
38 $(NAME): $(OBJS) $(NAME).ml
39         $(OCAMLC) -linkpkg -thread -o $@ $^
40 $(NAME).opt: $(OBJSOPT) $(NAME).ml
41         $(OCAMLOPT) -linkpkg -thread -o $@ $^
42
43 distclean: clean
44 clean:
45         rm -f *.cm[aiox] *.o $(NAME){,.opt}
46 dist: distclean depend
47         mkdir $(DISTDIR)/
48         cp      \
49                 $(patsubst %, %.ml, $(MODULES)) \
50                 $(patsubst %, %.mli, $(MODULES))        \
51                 $(NAME).ml      \
52                 Makefile .depend        \
53                 $(DISTDIR)/
54         tar cvzf $(DISTDIR).tar.gz $(DISTDIR)/
55         rm -rf $(DISTDIR)/
56
57 .PHONY: all byte opt world depend clean
58