2 # Copyright (C) 2007 Red Hat Inc., Richard W.M. Jones
4 # This library is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU Lesser General Public
6 # License as published by the Free Software Foundation; either
7 # version 2 of the License, or (at your option) any later version.
9 # This library is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 # Lesser General Public License for more details.
14 # You should have received a copy of the GNU Lesser General Public
15 # License along with this library; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 PACKAGE = @PACKAGE_NAME@
19 VERSION = @PACKAGE_VERSION@
26 OCAMLDOCFLAGS := -html -sort
28 SUBDIRS = libvirt mlvirsh examples
30 all opt depend install-opt install-byte:
31 for d in $(SUBDIRS); do \
33 if [ $$? -ne 0 ]; then exit 1; fi; \
37 for d in . $(SUBDIRS); do \
38 (cd $$d; rm -f *.cmi *.cmo *.cmx *.cma *.cmxa *.o *.a *.so *.opt *~ *.dll *.exe core); \
40 rm -f examples/list_domains
41 rm -f examples/node_info
45 rm -f config.h config.log config.status configure
48 rm -f libvirt/libvirt_version.ml
51 rm -f libvirt/Makefile
52 rm -f examples/Makefile
53 rm -f mlvirsh/Makefile
54 rm -f mlvirsh/mlvirsh_gettext.ml
57 # Developer documentation (in html/ subdirectory).
64 $(OCAMLDOC) $(OCAMLDOCFLAGS) -d ../html \
65 libvirt.{ml,mli} libvirt_version.{ml,mli}
68 # Windows installer (requires NSIS).
70 WININSTALLER := $(PACKAGE)-$(VERSION).exe
73 wininstaller: $(WININSTALLER)
75 $(WININSTALLER): wininstaller.nsis all opt
77 //DPACKAGE=$(PACKAGE) //DVERSION=$(VERSION) \
82 # Update configure and rerun.
88 --enable-debug=yes --with-libvirt=/home/rjones/local
93 $(MAKE) check-manifest
94 rm -rf $(PACKAGE)-$(VERSION)
95 mkdir $(PACKAGE)-$(VERSION)
96 tar -cf - -T MANIFEST | tar -C $(PACKAGE)-$(VERSION) -xf -
97 $(INSTALL) -m 0755 configure $(PACKAGE)-$(VERSION)/
98 tar zcf $(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)-$(VERSION)
99 rm -rf $(PACKAGE)-$(VERSION)
100 ls -l $(PACKAGE)-$(VERSION).tar.gz
103 hg manifest | sort > .check-manifest; \
104 sort MANIFEST > .orig-manifest; \
105 diff -u .orig-manifest .check-manifest; rv=$$?; \
106 rm -f .orig-manifest .check-manifest; \
110 hg log --style changelog > $@.new
113 # Do a release (update the website).
116 $(MAKE) release_stage_2
118 release_stage_2: clean all opt doc dist
119 $(MAKE) release_stage_3
121 WEBSITE = ../redhat/websites
124 rm -f $(WEBSITE)/ocaml-libvirt/html/*.{html,css}
125 cp html/*.{html,css} $(WEBSITE)/ocaml-libvirt/html/
126 cp README $(WEBSITE)/ocaml-libvirt/README.txt
127 cp ChangeLog $(WEBSITE)/ocaml-libvirt/ChangeLog.txt
129 # Upload to main website.
132 cd $(WEBSITE)/ocaml-libvirt && \
133 scp ChangeLog.txt index.html README.txt Screenshot*.png \
134 libvirt.org:/data/www/libvirt.org/ocaml && \
136 libvirt.org:/data/www/libvirt.org/ocaml/css/ && \
137 scp html/*.html html/*.css \
138 libvirt.org:/data/www/libvirt.org/ocaml/html/
139 scp $(PACKAGE)-$(VERSION).tar.gz libvirt.org:/data/ftp/libvirt/ocaml/
141 # Upload Windows binary installer to main website.
144 scp $(WININSTALLER) libvirt.org:/data/ftp/libvirt/ocaml/
148 .PHONY: all opt depend install clean distclean configure dist check-manifest \
149 release release_stage_2 release_stage_3 force