# libguestfs
-# Copyright (C) 2009-2010 Red Hat Inc.
+# Copyright (C) 2009-2011 Red Hat Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
include $(top_srcdir)/subdir-rules.mk
endif
# Tests and the test-tool.
-SUBDIRS += gnulib/tests capitests regressions test-tool
+SUBDIRS += gnulib/tests capitests caution regressions extratests test-tool
# Guestfish.
SUBDIRS += fish
# virt-tools in C.
-SUBDIRS += cat inspector
+SUBDIRS += align cat df edit inspector rescue
# Language bindings.
if HAVE_PERL
-SUBDIRS += perl
+SUBDIRS += perl perl/examples
endif
if HAVE_OCAML
SUBDIRS += ocaml ocaml/examples
endif
if HAVE_PYTHON
-SUBDIRS += python
+SUBDIRS += python python/examples
endif
if HAVE_RUBY
-SUBDIRS += ruby
+SUBDIRS += ruby ruby/examples
endif
if HAVE_JAVA
-SUBDIRS += java
+SUBDIRS += java java/examples
endif
if HAVE_HASKELL
SUBDIRS += haskell
if HAVE_PHP
SUBDIRS += php
endif
+if HAVE_ERLANG
+SUBDIRS += erlang erlang/examples
+endif
# Unconditional because nothing is built yet.
SUBDIRS += csharp
-# Perl tools and guestmount.
+# virt-resize (new version) and virt-sparsify are written in OCaml.
+if HAVE_OCAML
+SUBDIRS += resize sparsify
+endif
+
+# Perl tools.
if HAVE_TOOLS
SUBDIRS += tools
endif
+# guestmount
if HAVE_FUSE
SUBDIRS += fuse
endif
+# virt-tools in shell. This uses guestmount and virt-inspector.
+if HAVE_FUSE
+SUBDIRS += clone
+endif
+
# po-docs must come after tools, inspector.
+if HAVE_PO4A
SUBDIRS += po-docs
+endif
EXTRA_DIST = \
$(generator_built) \
+ BUGS HACKING RELEASE-NOTES ROADMAP TODO \
+ .gitignore \
+ bugs-in-changelog.sh \
+ autogen.sh \
+ bindtests \
+ contrib/autobuild/autobuild.sh \
+ contrib/guestfsd-in-wine.sh \
+ contrib/intro/libguestfs-intro.html \
+ contrib/intro/overview.svg \
+ contrib/intro/talk.txt \
+ contrib/intro/tools.svg \
+ contrib/README \
+ contrib/visualize-alignment/.gitignore \
+ contrib/visualize-alignment/guestfish-add-mount.qtr \
+ contrib/visualize-alignment/guestfish-lv-ext4-4k.qtr \
+ contrib/visualize-alignment/guestfish-lv-ext4-4k-write-hello.qtr \
+ contrib/visualize-alignment/guestfish-N-fs-10M-aligned-part-disk.qtr \
+ contrib/visualize-alignment/guestfish-N-fs-10M.qtr \
+ contrib/visualize-alignment/guestfish-write-hello.qtr \
+ contrib/visualize-alignment/qemu-0.13-trace-block-device-access.patch \
+ contrib/visualize-alignment/README \
+ contrib/visualize-alignment/tracetops.ml \
+ debian/.gitignore \
+ debian/changelog \
+ debian/compat \
+ debian/control \
+ debian/copyright \
+ debian/docs \
+ debian/guestfish.dirs \
+ debian/guestfish.install \
+ debian/guestfsd.dirs \
+ debian/guestfsd.install \
+ debian/guestmount.dirs \
+ debian/guestmount.install \
+ debian/libguestfs-dev.dirs \
+ debian/libguestfs-dev.install \
+ debian/libguestfs-doc.docs \
+ debian/libguestfs-perl.examples \
+ debian/libguestfs-perl.install \
+ debian/libguestfs-tools.dirs \
+ debian/libguestfs-tools.install \
+ debian/libguestfs0.dirs \
+ debian/libguestfs0.install \
+ debian/patches/series \
+ debian/python-guestfs.install \
+ debian/pyversions \
+ debian/rules \
+ debian/shlibs.local \
+ debian/watch \
html/pod.css \
- BUGS HACKING RELEASE-NOTES TODO \
libguestfs.pc libguestfs.pc.in \
- recipes/LICENSE \
- recipes/README \
- recipes/*.html \
- recipes/*.sh \
- recipes/*.example \
- html/recipes.css \
- make-recipes.sh \
- contrib/README \
- bindtests \
- .gitignore \
- m4/.gitignore
-
-# HTML versions of manual pages.
-
-noinst_DATA = html/guestfs.3.html html/guestfish.1.html
-
-html/guestfs.3.html: src/guestfs.pod \
- src/guestfs-actions.pod \
- src/guestfs-availability.pod \
- src/guestfs-structs.pod
- mkdir -p html
- sed \
- -e '/@ACTIONS@/rsrc/guestfs-actions.pod' \
- -e 's/@ACTIONS@//' \
- -e '/@AVAILABILITY@/rsrc/guestfs-availability.pod' \
- -e 's/@AVAILABILITY@//' \
- -e '/@STRUCTS@/rsrc/guestfs-structs.pod' \
- -e 's/@STRUCTS@//' \
- < $< | \
- pod2html \
- --css 'pod.css' \
- --title "libguestfs API documentation" \
- --htmldir html \
- --outfile $@
-
-html/guestfish.1.html: fish/guestfish.pod fish/guestfish-actions.pod fish/guestfish-commands.pod
- mkdir -p html
- sed \
- -e '/@ACTIONS@/rfish/guestfish-actions.pod' -e 's/@ACTIONS@//' \
- -e '/@FISH_COMMANDS@/rfish/guestfish-commands.pod' -e 's/@FISH_COMMANDS@//' \
- < $< | \
- pod2html \
- --css 'pod.css' \
- --title "guestfish, libguestfs filesystem interactive shell" \
- --htmldir html \
- --outfile $@
-
-# Recipes web page.
-html/recipes.html: $(wildcard recipes/*.sh) $(wildcard recipes/*.html) $(wildcard recipes/*.example) Makefile make-recipes.sh
- mkdir -p html
- rm -f $@ $@-t
- sh make-recipes.sh recipes/*.sh > $@-t
- mv $@-t $@
+ libtool-kill-dependency_libs.sh \
+ logo/fish.svg logo/fish.png \
+ m4/.gitignore \
+ run \
+ update-bugs.sh
HTMLFILES = \
html/guestfs.3.html \
+ html/guestfs-examples.3.html \
+ html/guestfs-erlang.3.html \
+ html/guestfs-java.3.html \
+ html/guestfs-ocaml.3.html \
+ html/guestfs-perl.3.html \
+ html/guestfs-python.3.html \
+ html/guestfs-recipes.1.html \
+ html/guestfs-ruby.3.html \
+ html/guestfs-testing.1.html \
html/guestfish.1.html \
html/guestmount.1.html \
+ html/virt-alignment-scan.1.html \
html/virt-cat.1.html \
+ html/virt-copy-in.1.html \
+ html/virt-copy-out.1.html \
html/virt-df.1.html \
html/virt-edit.1.html \
+ html/virt-filesystems.1.html \
html/virt-inspector.1.html \
html/virt-list-filesystems.1.html \
html/virt-list-partitions.1.html \
html/virt-make-fs.1.html \
html/virt-rescue.1.html \
html/virt-resize.1.html \
+ html/virt-sparsify.1.html \
+ html/virt-sysprep.1.html \
html/virt-tar.1.html \
- html/virt-win-reg.1.html \
- html/recipes.html \
- html/pod.css html/recipes.css
+ html/virt-tar-in.1.html \
+ html/virt-tar-out.1.html \
+ html/virt-win-reg.1.html
-TEXTFILES = BUGS HACKING README RELEASE-NOTES TODO
+TEXTFILES = BUGS README RELEASE-NOTES ROADMAP TODO
WEBSITEDIR = $(HOME)/d/redhat/websites/libguestfs
dist-hook:
$(top_srcdir)/build-aux/gitlog-to-changelog > ChangeLog
cp ChangeLog $(distdir)/ChangeLog
- $(top_srcdir)/update-bugs > BUGS-t
+ $(top_srcdir)/update-bugs.sh > BUGS-t
mv BUGS-t BUGS
cp BUGS $(distdir)/BUGS
git log --pretty="format:%an" | sort -u | \
grep -v '/rc_protocol.c' | \
grep -v 'appliance/debian/root' | \
grep -v '^po-docs/' | \
+ grep -v '^images/' | \
LC_ALL=C sort | \
sed 's,^\./,,' > po/POTFILES.in
# Make clean.
-CLEANFILES = $(fs_DATA) \
- emptydisk \
+CLEANFILES = \
pod2htm?.tmp \
- html/*.html \
- guestfs.3 guestfish.1
-
-clean-local:
- rm -rf initramfs
+ html/*.html
# If you don't want to run all of the tests ('make check') then this
# will just run libguestfs-test-tool for a quick check. Note this
# is NOT a substitute for proper testing!
quickcheck:
- test-tool/run-test-tool-locally
+ ./run test-tool/libguestfs-test-tool $(QUICKCHECK_TEST_TOOL_ARGS)
-# Mostly static binary distribution.
-#
-# Some binaries are relinked partially statically. You can make these
-# binaries "more static" by making sure that as many foo-static
-# packages are installed as possible.
-#
-# We remove the supermin appliance and adjust some directories to make
-# them non-Fedora-specific.
+# Run extra-tests in extratests/ subdirectory.
+
+extra-tests:
+ make -C extratests $@
+
+# Make binary distribution.
BINTMPDIR = /tmp/libguestfs-bin
bindist:
mkdir $(BINTMPDIR)
$(MAKE)
$(MAKE) DESTDIR=$(BINTMPDIR) install
- rm -r $(BINTMPDIR)$(libdir)/guestfs/supermin.d
- rm $(BINTMPDIR)$(libdir)/guestfs/kmod.whitelist
- mv $(BINTMPDIR)$(prefix)/lib64/* $(BINTMPDIR)$(libdir)
- mv $(BINTMPDIR)/usr/lib64/* $(BINTMPDIR)$(libdir)
-find $(BINTMPDIR) -type d -exec rmdir --ignore-fail-on-non-empty {} \;
- $(MAKE) -C fish guestfish.static
- cp fish/guestfish.static $(BINTMPDIR)$(bindir)/guestfish
- $(MAKE) -C fuse guestmount.static
- cp fuse/guestmount.static $(BINTMPDIR)$(bindir)/guestmount
- $(MAKE) -C test-tool libguestfs-test-tool.static
- cp test-tool/libguestfs-test-tool.static $(BINTMPDIR)$(bindir)/libguestfs-test-tool
- $(MAKE) -C cat virt-cat.static virt-ls.static
- cp cat/virt-cat.static $(BINTMPDIR)$(bindir)/virt-cat
- cp cat/virt-ls.static $(BINTMPDIR)$(bindir)/virt-ls
- $(MAKE) -C inspector virt-inspector.static
- cp inspector/virt-inspector.static $(BINTMPDIR)$(bindir)/virt-inspector
(cd $(BINTMPDIR) && tar cf - .) | \
- gzip -c -9 > libguestfs-$(VERSION)-$(host_cpu).tar.gz
+ gzip -c -9 > libguestfs-$(VERSION)-$(DISTRO)-$(host_cpu).tar.gz