Version 1.0.8.
[virt-top.git] / Make.rules.in
1 # ocaml-libvirt
2 # Copyright (C) 2007-2009 Red Hat Inc., Richard W.M. Jones
3 #
4 # This library is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU Lesser General Public
6 # License as published by the Free Software Foundation; either
7 # version 2 of the License, or (at your option) any later version.
8 #
9 # This library is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 # Lesser General Public License for more details.
13 #
14 # You should have received a copy of the GNU Lesser General Public
15 # License along with this library; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
17
18 # This file is included by Makefiles in subdirectories.
19
20 OCAMLFIND       = @OCAMLFIND@
21 OCAMLDEP        = @OCAMLDEP@
22 OCAMLC          = @OCAMLC@
23 OCAMLOPT        = @OCAMLOPT@
24
25 # Common rules for building OCaml objects.
26
27 ifneq ($(OCAMLFIND),)
28 .mli.cmi:
29         $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) $(OCAMLCPACKAGES) -c $<
30 .ml.cmo:
31         $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) $(OCAMLCPACKAGES) -c $<
32 .ml.cmx:
33         $(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) $(OCAMLOPTPACKAGES) -c $<
34 else
35 .mli.cmi:
36         $(OCAMLC) $(OCAMLCFLAGS) $(OCAMLCINCS) -c $<
37 .ml.cmo:
38         $(OCAMLC) $(OCAMLCFLAGS) $(OCAMLCINCS) -c $<
39 .ml.cmx:
40         $(OCAMLOPT) $(OCAMLOPTFLAGS) $(OCAMLOPTINCS) -c $<
41 endif
42
43 %.ml %.mli: %.mly
44         ocamlyacc $<
45 .mll.ml:
46         ocamllex $<
47
48 # Dependencies.
49
50 depend: .depend
51
52 ifneq ($(OCAMLFIND),)
53 .depend: $(wildcard *.mli) $(wildcard *.ml)
54         rm -f $@ $@-t
55         $(OCAMLFIND) ocamldep $(OCAMLCPACKAGES) $(OCAMLDEPFLAGS) $^ | \
56           sed 's/ :/:/' | \
57           sed 's/ *$$//' | \
58           sed -e :a -e '/ *\\$$/N; s/ *\\\n */ /; ta' | \
59           sort > $@-t
60         mv $@-t $@
61 else
62 .depend: $(wildcard *.mli) $(wildcard *.ml)
63         rm -f $@ $@-t
64         $(OCAMLDEP) $(OCAMLCINCS) $(OCAMLDEPFLAGS) $^ | \
65           sed 's/ :/:/' | \
66           sed 's/ *$$//' | \
67           sed -e :a -e '/ *\\$$/N; s/ *\\\n */ /; ta' | \
68           sort > $@-t
69         mv $@-t $@
70 endif
71
72 ifeq ($(wildcard .depend),.depend)
73 include .depend
74 endif
75
76 .PHONY: depend dist check-manifest dpkg doc
77
78 .SUFFIXES:      .cmo .cmi .cmx .ml .mli .mll .mly