summaryrefslogtreecommitdiffstats
path: root/Makefile.in
blob: 9810b0bc6f636095b989882fc83e56241bae3c6f (plain)
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