Imported version 0.3 from old CVS repository.
[ocaml-augeas.git] / Makefile.in
1 # Augeas OCaml bindings.
2 # Copyright (C) 2008 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 # $Id: Makefile.in,v 1.2 2008/05/06 10:48:20 rjones Exp $
19
20 PACKAGE         = @PACKAGE_NAME@
21 VERSION         = @PACKAGE_VERSION@
22
23 OCAMLFIND       = @OCAMLFIND@
24 OCAMLMKLIB      = @OCAMLMKLIB@
25 OCAMLDOC        = @OCAMLDOC@
26 INSTALL         = @INSTALL@
27
28 CC              = @CC@
29 CFLAGS          = @CFLAGS@ -fPIC -I$(shell ocamlc -where)
30 LDFLAGS         = @LDFLAGS@
31 LIBS            = @LIBS@
32
33 OCAMLCFLAGS     = -g
34 OCAMLCPACKAGES  =
35 OCAMLOPTFLAGS   =
36 OCAMLOPTPACKAGES =
37
38 OCAMLDOCFLAGS   = -html -sort
39
40 export LIBRARY_PATH = .
41
42 all:    mlaugeas.cma mlaugeas.cmxa test_augeas
43
44 mlaugeas.cma: augeas_c.o augeas.cmo
45         ocamlmklib $(LDFLAGS) $(LIBS) -o mlaugeas $^
46
47 mlaugeas.cmxa: augeas_c.o augeas.cmx
48         ocamlmklib $(LDFLAGS) $(LIBS) -o mlaugeas $^
49
50 # Test program.
51
52 test_augeas: test_augeas.cmo test_root
53         $(OCAMLFIND) ocamlc -o $@ mlaugeas.cma $<
54
55 test_root:
56         rm -rf $@
57         mkdir $@
58         cp /etc/hosts $@/
59
60 # Clean.
61
62 clean:
63         rm -f core *~ *.cmi *.cmo *.cmx *.cma *.cmxa *.a *.o *.so *.opt
64         rm -f test_augeas
65         rm -rf test_root
66
67 # Documentation.
68
69 ifneq ($(OCAMLDOC),)
70 doc:
71         rm -rf html
72         mkdir html
73         $(OCAMLDOC) $(OCAMLDOCFLAGS) -d html augeas.mli augeas.ml
74 endif
75
76 # Install.
77
78 install:
79         ocamlfind install augeas META *.mli *.cmx *.cma *.cmxa *.a *.cmi
80
81 # Standard rules.
82
83 .mli.cmi:
84         $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) $(OCAMLCPACKAGES) -c $<
85 .ml.cmo:
86         $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) $(OCAMLCPACKAGES) -c $<
87 .ml.cmx:
88         $(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) $(OCAMLOPTPACKAGES) -c $<
89
90 depend: .depend
91
92 .depend: augeas.mli augeas.ml
93         rm -f .depend
94         $(OCAMLFIND) ocamldep $(OCAMLCPACKAGES) $^ > $@
95
96 ifeq ($(wildcard .depend),.depend)
97 include .depend
98 endif
99
100 # Distribution.
101
102 dist:
103         $(MAKE) check-manifest
104         rm -rf $(PACKAGE)-$(VERSION)
105         mkdir $(PACKAGE)-$(VERSION)
106         tar -cf - -T MANIFEST | tar -C $(PACKAGE)-$(VERSION) -xf -
107         $(INSTALL) -m 0755 configure $(PACKAGE)-$(VERSION)/
108         $(INSTALL) -m 0644 config.h.in $(PACKAGE)-$(VERSION)/
109         tar zcf $(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)-$(VERSION)
110         rm -rf $(PACKAGE)-$(VERSION)
111         ls -l $(PACKAGE)-$(VERSION).tar.gz
112
113 check-manifest:
114         @for d in `find -type d -name CVS`; do \
115         b=`dirname $$d`/; \
116         awk -F/ '$$1 != "D" {print $$2}' $$d/Entries | \
117         sed -e "s|^|$$b|" -e "s|^\./||"; \
118         done | sort > .check-manifest; \
119         sort MANIFEST > .orig-manifest; \
120         diff -u .orig-manifest .check-manifest; rv=$$?; \
121         rm -f .orig-manifest .check-manifest; \
122         exit $$rv
123
124 .PHONY: depend dist check-manifest dpkg doc
125
126 .SUFFIXES:      .cmo .cmi .cmx .ml .mli .mll