ACLOCAL_AMFLAGS = -I m4
# Basic source for the library.
-SUBDIRS = gnulib/lib images src examples po
+SUBDIRS = gnulib/lib images generator src examples po
if ENABLE_DAEMON
SUBDIRS += daemon
SUBDIRS += gnulib/tests capitests regressions test-tool
# Guestfish.
-SUBDIRS += fish
+SUBDIRS += fish
+
+# virt-tools in C.
+SUBDIRS += cat inspector
# Language bindings.
if HAVE_PERL
if HAVE_HASKELL
SUBDIRS += haskell
endif
-
-# Virt-inspector, tools and guestmount.
-if HAVE_INSPECTOR
-SUBDIRS += inspector
+if HAVE_PHP
+SUBDIRS += php
endif
+# Unconditional because nothing is built yet.
+SUBDIRS += csharp
+
+# Perl tools and guestmount.
if HAVE_TOOLS
SUBDIRS += tools
endif
SUBDIRS += fuse
endif
+# po-docs must come after tools, inspector.
+SUBDIRS += po-docs
+
EXTRA_DIST = \
$(generator_built) \
html/pod.css \
--htmldir html \
--outfile $@
-html/guestfish.1.html: fish/guestfish.pod fish/guestfish-actions.pod
+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' \
html/recipes.html \
html/pod.css html/recipes.css
-TEXTFILES = README TODO HACKING
+TEXTFILES = BUGS HACKING README RELEASE-NOTES TODO
WEBSITEDIR = $(HOME)/d/redhat/websites/libguestfs
$(top_srcdir)/update-bugs > BUGS-t
mv BUGS-t BUGS
cp BUGS $(distdir)/BUGS
+ git log --pretty="format:%an" | sort -u | \
+ grep -v rjones | \
+ grep -v "Richard Jones" \
+ > AUTHORS-t
+ mv AUTHORS-t AUTHORS
+ cp AUTHORS $(distdir)/AUTHORS
# Update the list of translatable files in po/POTFILES.in.
all-local:
grep -v '/guestfs_protocol.c' | \
grep -v '/rc_protocol.c' | \
grep -v 'appliance/debian/root' | \
+ grep -v '^po-docs/' | \
LC_ALL=C sort | \
sed 's,^\./,,' > po/POTFILES.in
# is NOT a substitute for proper testing!
quickcheck:
- LIBGUESTFS_PATH=appliance \
- test-tool/libguestfs-test-tool \
- --helper test-tool/libguestfs-test-tool-helper
+ test-tool/run-test-tool-locally
-# Binary distribution.
-# Note we remove the supermin appliance and adjust some
-# directories to make them non-Fedora-specific.
+# 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.
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)
+ 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 {} \;
- (cd $(BINTMPDIR) && tar zcf - .) \
- > libguestfs-$(VERSION)-$(host_cpu).tar.gz
+ $(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
+ cp cat/virt-cat.static $(BINTMPDIR)$(bindir)/virt-cat
+ $(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