summaryrefslogtreecommitdiffstats
path: root/Makefile.in
blob: 703d14eec0e68609400e9a66b2decb9e6a4ebc66 (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
# 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@

OCAMLDOC        = @OCAMLDOC@
OCAMLDOCFLAGS	:= -html -sort

SUBDIRS		= @subdirs@

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 *~ *.dll core); \
	done
	rm -f examples/list_domains
	rm -f mlvirsh/mlvirsh
	rm -f mlvirtmanager/mlvirtmanager
	rm -f virt-top/virt-top
	rm -f virt-df/virt-df

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).

ifneq ($(OCAMLDOC),)
doc:
	rm -rf html
	mkdir html
	-cd libvirt; \
	$(OCAMLDOC) $(OCAMLDOCFLAGS) -d ../html \
	  libvirt.{ml,mli} libvirt_version.{ml,mli}
endif

# 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/websites

release_stage_3:
	rm -f $(WEBSITE)/ocaml-libvirt/html/*.{html,css}
	cp html/*.{html,css} $(WEBSITE)/ocaml-libvirt/html/
	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

# Upload to main website.

upload:
	cd $(WEBSITE)/ocaml-libvirt && \
	scp ChangeLog.txt index.html README.txt Screenshot*.png \
	  libvirt.org:/data/www/libvirt.org/ocaml && \
	scp css/*.css \
	  libvirt.org:/data/www/libvirt.org/ocaml/css/ && \
	scp html/*.html html/*.css \
	  libvirt.org:/data/www/libvirt.org/ocaml/html/
	scp $(PACKAGE)-$(VERSION).tar.gz libvirt.org:/data/ftp/libvirt/ocaml/

force:

.PHONY: all opt depend install clean distclean configure dist check-manifest \
	release release_stage_2 release_stage_3 force