-# $Id: Makefile.in,v 1.7 2007/08/23 09:36:04 rjones Exp $
+# 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@
+MAKENSIS = @MAKENSIS@
+OCAMLDOC = @OCAMLDOC@
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
+SUBDIRS = @subdirs@
all opt depend install:
for d in $(SUBDIRS); do \
clean:
for d in . $(SUBDIRS); do \
- (cd $$d; rm -f *.cmi *.cmo *.cmx *.cma *.cmxa *.o *.a *.so *.opt *~ core); \
+ (cd $$d; rm -f *.cmi *.cmo *.cmx *.cma *.cmxa *.o *.a *.so *.opt *~ *.dll *.exe core); \
done
rm -f examples/list_domains
+ rm -f examples/node_info
rm -f mlvirsh/mlvirsh
- rm -f mlvirtmanager/mlvirtmanager
+ rm -f virt-ctrl/virt-ctrl
rm -f virt-top/virt-top
+ rm -f virt-df/virt-df
-distclean:
- rm -f config.h config.log config.status configure META
+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 virt-ctrl/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
+
+# Windows installer (requires NSIS).
+
+WININSTALLER := $(PACKAGE)-$(VERSION).exe
+
+ifneq ($(MAKENSIS),)
+wininstaller: $(WININSTALLER)
+
+$(WININSTALLER): wininstaller.nsis all opt
+ "$(MAKENSIS)" \
+ //DPACKAGE=$(PACKAGE) //DVERSION=$(VERSION) \
+ //DOUTFILE=$@ $<
+ ls -l $@
+endif
+
+# Update configure and rerun.
+
+configure: force
+ autoreconf
+ CFLAGS=-g \
+ ./configure \
+ --enable-debug=yes --with-libvirt=/home/rjones/local
# Distribution.
ls -l $(PACKAGE)-$(VERSION).tar.gz
check-manifest:
- @for d in `find -type d -name CVS | grep -v '^\./debian/'`; \
- do \
- b=`dirname $$d`/; \
- awk -F/ '$$1 != "D" {print $$2}' $$d/Entries | \
- sed -e "s|^|$$b|" -e "s|^\./||"; \
- done | sort > .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
-# Developer documentation (in html/ subdirectory).
+# Do a release (update the website).
-doc:
- rm -rf html
- mkdir html
- -cd libvirt; \
- ocamlfind ocamldoc $(OCAMLDOCFLAGS) -d ../html \
- libvirt.{ml,mli} libvirt_version.{ml,mli}
+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/
+
+# Upload Windows binary installer to main website.
+
+winupload:
+ scp $(WININSTALLER) 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
\ No newline at end of file