# 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@ MAKENSIS = @MAKENSIS@ OCAMLDOC = @OCAMLDOC@ OCAMLDOCFLAGS := -html -sort SUBDIRS = libvirt examples all opt depend install-opt install-byte: 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 *.exe core); \ done rm -f libvirt/libvirt_c.c rm -f examples/list_domains rm -f examples/node_info rm -f examples/get_cpu_stats rm -f examples/domain_events rm -f examples/get_all_domain_stats 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 Make.rules rm -f libvirt/Makefile rm -f examples/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. dist: ChangeLog $(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: git ls-files | sort > .check-manifest; \ sort MANIFEST > .orig-manifest; \ diff -u .orig-manifest .check-manifest; rv=$$?; \ rm -f .orig-manifest .check-manifest; \ exit $$rv ChangeLog: hg log --style changelog > $@.new mv $@.new $@ # 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 # 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