]> matita.cs.unibo.it Git - helm.git/blob - helm/uwobo/Makefile
Unsharing finally introduced (but just for object processing, not yet for terms
[helm.git] / helm / uwobo / Makefile
1 VERSION = 0.3.0
2 DISTDIR = uwobo-$(VERSION)
3 DISTTARBALL = $(DISTDIR).tar.gz
4 REQUIRES = http gdome2 gdome2-xslt pcre unix helm-registry
5 COMMONOPTS = -package "$(REQUIRES)" -pp camlp4o
6 OCAMLFIND = ocamlfind
7 OCAMLC = $(OCAMLFIND) ocamlc $(COMMONOPTS)
8 OCAMLOPT = $(OCAMLFIND) ocamlopt $(COMMONOPTS)
9 OCAMLDEP = $(OCAMLFIND) ocamldep $(COMMONOPTS)
10 OCAMLDOC =      \
11         ocamldoc        \
12                 $(shell $(OCAMLFIND) query -i-format http)      \
13                 $(shell $(OCAMLFIND) query -i-format gdome2)    \
14                 $(shell $(OCAMLFIND) query -i-format gdome2-xslt)       \
15                 $(shell $(OCAMLFIND) query -i-format pcre)      \
16                 $(shell $(OCAMLFIND) query -i-format unix)
17 MODULES = uwobo_common uwobo_styles uwobo_profiles uwobo_logger uwobo_engine
18 OBJS = $(patsubst %,%.cmo,$(MODULES))
19 OBJSOPT = $(patsubst %,%.cmx,$(MODULES))
20
21 all: byte
22 byte: uwobo
23 opt: uwobo.opt
24 world: byte opt
25
26 include .depend
27 depend:
28         $(OCAMLDEP) *.ml *.mli > .depend
29
30 %.cmi: %.mli
31         $(OCAMLC) -c $<
32 %.cmo: %.ml %.cmi
33         $(OCAMLC) -c $<
34 %.cmx: %.ml %.cmi
35         $(OCAMLOPT) -c $<
36 uwobo.cmo: uwobo.ml
37         $(OCAMLC) -c $<
38 uwobo.cmx: uwobo.ml
39         $(OCAMLOPT) -c $<
40 uwobo: $(OBJS) uwobo.ml
41         $(OCAMLC) -linkpkg -o $@ $^
42 uwobo.opt: $(OBJSOPT) uwobo.ml
43         $(OCAMLOPT) -linkpkg -o $@ $^
44
45 uwobo.dot: *.ml *.mli
46         $(OCAMLDOC) -dot -o $@ $^
47
48 distclean: clean
49 clean:
50         rm -f *.cm[aiox] *.o uwobo{,.opt,.dot}
51 dist: distclean depend
52         mkdir $(DISTDIR)/
53         cp      \
54                 $(patsubst %, %.ml, $(MODULES)) \
55                 $(patsubst %, %.mli, $(MODULES))        \
56                 uwobo.ml        \
57                 Makefile .depend        \
58                 $(DISTDIR)/
59         tar cvzf $(DISTTARBALL) $(DISTDIR)/
60         rm -rf $(DISTDIR)/
61 distcheck: $(DISTTARBALL)
62         if [ -d $(DISTDIR) ]; then rm -rf $(DISTDIR); else true; fi
63         tar xvzf $<
64         cd $(DISTDIR); make
65         rm -rf $(DISTDIR)
66
67 .PHONY: all dist distclean distcheck byte opt world depend clean
68