summaryrefslogtreecommitdiffstats
path: root/Makefile.in
blob: 489a5e92c48ef83f3affa66522abca95cb590d82 (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
# $Id: Makefile.in,v 1.7 2007/08/23 09:36:04 rjones Exp $

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:
	rm -f config.h config.log config.status configure META
	rm -rf autom4te.cache
	rm -f 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