]> matita.cs.unibo.it Git - helm.git/blob - helm/uwobo/src/ocaml/Makefile
debian release 0.0.4-1
[helm.git] / helm / uwobo / src / ocaml / Makefile
1 VERSION = 0.0.1
2 DISTDIR = uwobo-$(VERSION)
3 REQUIRES = http gdome2 gdome2-xslt pcre unix
4 COMMONOPTS = -package "$(REQUIRES)" -pp camlp4o
5 OCAMLC = ocamlfind ocamlc $(COMMONOPTS)
6 OCAMLOPT = ocamlfind ocamlopt $(COMMONOPTS)
7 OCAMLDEP = ocamlfind ocamldep $(COMMONOPTS)
8 MODULES = uwobo_common uwobo_styles uwobo_logger uwobo_engine
9 OBJS = $(patsubst %,%.cmo,$(MODULES))
10 OBJSOPT = $(patsubst %,%.cmx,$(MODULES))
11
12 all: byte
13 byte: uwobo
14 opt: uwobo.opt
15 world: byte opt
16
17 include .depend
18 depend:
19         $(OCAMLDEP) *.ml *.mli > .depend
20
21 %.cmi: %.mli
22         $(OCAMLC) -c $<
23 %.cmo: %.ml %.cmi
24         $(OCAMLC) -c $<
25 %.cmx: %.ml %.cmi
26         $(OCAMLOPT) -c $<
27 uwobo.cmo: uwobo.ml
28         $(OCAMLC) -c $<
29 uwobo.cmx: uwobo.ml
30         $(OCAMLOPT) -c $<
31 uwobo: $(OBJS) uwobo.ml
32         $(OCAMLC) -linkpkg -o $@ $^
33 uwobo.opt: $(OBJSOPT) uwobo.ml
34         $(OCAMLOPT) -linkpkg -o $@ $^
35
36 distclean: clean
37 clean:
38         rm -f *.cm[aiox] *.o uwobo{,.opt}
39 dist: distclean depend
40         mkdir $(DISTDIR)/
41         cp      \
42                 $(patsubst %, %.ml, $(MODULES)) \
43                 $(patsubst %, %.mli, $(MODULES))        \
44                 uwobo.ml        \
45                 Makefile .depend        \
46                 $(DISTDIR)/
47         tar cvzf $(DISTDIR).tar.gz $(DISTDIR)/
48         rm -rf $(DISTDIR)/
49
50 .PHONY: all byte opt world depend clean
51