# 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
endif
# Tests and the test-tool.
-SUBDIRS += gnulib/tests capitests regressions test-tool
+SUBDIRS += gnulib/tests capitests caution regressions 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
+if HAVE_OCAML_PCRE
+SUBDIRS += resize
+endif
+SUBDIRS += 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/README \
+ 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
-
-# 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/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-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
# 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.
+# 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-filesystems.static virt-ls.static
- cp cat/virt-cat.static $(BINTMPDIR)$(bindir)/virt-cat
- cp cat/virt-filesystems.static $(BINTMPDIR)$(bindir)/virt-filesystems
- 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