1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
# ocaml-libvirt
# Copyright (C) 2007 Red Hat Inc., Richard W.M. Jones
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
PACKAGE = @PACKAGE_NAME@
VERSION = @PACKAGE_VERSION@
INSTALL = @INSTALL@
pkg_lablgtk2 = @pkg_lablgtk2@
pkg_curses = @pkg_curses@
pkg_xml_light = @pkg_xml_light@
OCAMLDOCFLAGS := -html -sort
SUBDIRS := libvirt examples mlvirsh
ifeq ($(pkg_lablgtk2),yes)
SUBDIRS += mlvirtmanager
endif
ifeq ($(pkg_curses),yes)
SUBDIRS += virt-top
endif
ifeq ($(pkg_xml_light),yes)
SUBDIRS += virt-df
endif
all opt depend install:
for d in $(SUBDIRS); do \
$(MAKE) -C $$d $@; \
if [ $$? -ne 0 ]; then exit 1; fi; \
done
clean:
for d in . $(SUBDIRS); do \
(cd $$d; rm -f *.cmi *.cmo *.cmx *.cma *.cmxa *.o *.a *.so *.opt *~ core); \
done
rm -f examples/list_domains
rm -f mlvirsh/mlvirsh
rm -f mlvirtmanager/mlvirtmanager
rm -f virt-top/virt-top
distclean: clean
rm -f config.h config.log config.status configure
rm -rf autom4te.cache
rm -f META
rm -f libvirt/libvirt_version.ml
rm -f Makefile
rm -f libvirt/Makefile
rm -f examples/Makefile
rm -f mlvirsh/Makefile
rm -f mlvirtmanager/Makefile
rm -f virt-top/Makefile
rm -f virt-df/Makefile
# Developer documentation (in html/ subdirectory).
doc:
rm -rf html
mkdir html
-cd libvirt; \
ocamlfind ocamldoc $(OCAMLDOCFLAGS) -d ../html \
libvirt.{ml,mli} libvirt_version.{ml,mli}
# Update configure and rerun.
configure: force
autoreconf
CFLAGS=-g \
./configure \
--enable-debug=yes --with-libvirt=/home/rjones/local
# Distribution.
dist:
$(MAKE) check-manifest
rm -rf $(PACKAGE)-$(VERSION)
mkdir $(PACKAGE)-$(VERSION)
tar -cf - -T MANIFEST | tar -C $(PACKAGE)-$(VERSION) -xf -
$(INSTALL) -m 0755 configure $(PACKAGE)-$(VERSION)/
tar zcf $(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)-$(VERSION)
rm -rf $(PACKAGE)-$(VERSION)
ls -l $(PACKAGE)-$(VERSION).tar.gz
check-manifest:
hg manifest | sort > .check-manifest; \
sort MANIFEST > .orig-manifest; \
diff -u .orig-manifest .check-manifest; rv=$$?; \
rm -f .orig-manifest .check-manifest; \
exit $$rv
# Do a release (update the website).
release: configure
$(MAKE) release_stage_2
release_stage_2: clean all opt doc dist
$(MAKE) release_stage_3
WEBSITE = ../redhat/et-website
release_stage_3:
rm -f $(WEBSITE)/ocaml-libvirt/html/*.{html,css}
cp html/*.{html,css} $(WEBSITE)/ocaml-libvirt/html/
cp $(PACKAGE)-$(VERSION).tar.gz $(WEBSITE)/ocaml-libvirt/
cp README $(WEBSITE)/ocaml-libvirt/README.txt
cp ChangeLog $(WEBSITE)/ocaml-libvirt/ChangeLog.txt
cp virt-top/virt-top.txt $(WEBSITE)/virt-top/
cp ChangeLog $(WEBSITE)/virt-top/ChangeLog.txt
force:
.PHONY: all opt depend install clean distclean configure dist check-manifest \
release release_stage_2 release_stage_3 force
|