build: Add ./configure --disable-fuse option.
[libguestfs.git] / perl / Makefile.am
index 5d661ce..c192290 100644 (file)
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
+include $(top_srcdir)/subdir-rules.mk
+
+generator_built = \
+       Guestfs.xs \
+       lib/Sys/Guestfs.pm \
+       bindtests.pl
+
 EXTRA_DIST = \
+       $(generator_built) \
        Makefile.PL.in \
-       Guestfs.xs \
        examples/README \
        examples/LICENSE \
        examples/*.pl \
-       lib/Sys/Guestfs.pm \
+       lib/Sys/Guestfs/Lib.pm \
        run-bindtests \
        run-perl-tests \
        t/*.t \
@@ -32,18 +39,38 @@ if HAVE_PERL
 # Interfacing automake and ExtUtils::MakeMaker known to be
 # a nightmare, news at 11.
 
+# src/ dependencies
+.PHONY: src_deps
+src_deps: $(top_builddir)/src/libguestfs.la $(generator_built)
+
+# Images used by tests
+.PHONY: test_images
+test_images:
+       $(MAKE) -C $(top_builddir)/images
+
 TESTS = run-bindtests run-perl-tests
 
+$(TESTS): src_deps all appliance test_images
+
 TESTS_ENVIRONMENT = \
-       LD_LIBRARY_PATH=../src/.libs \
-       LIBGUESTFS_PATH=../appliance
+       LD_LIBRARY_PATH=$(top_builddir)/src/.libs \
+       LIBGUESTFS_PATH=$(top_builddir)/appliance
 
 INSTALLDIRS = site
 
-all:
-       perl Makefile.PL INSTALLDIRS=$(INSTALLDIRS) PREFIX=$(prefix)
+all: Makefile-pl src_deps
        $(MAKE) -f Makefile-pl
 
+Makefile-pl: Makefile.PL
+       perl Makefile.PL INSTALLDIRS=$(INSTALLDIRS) PREFIX=$(prefix)
+
+# No!  Otherwise it is deleted before the clean-local rule runs.
+#CLEANFILES = Makefile-pl
+
+clean-local:
+       -$(MAKE) -f Makefile-pl clean
+       rm -f Makefile-pl
+
 install-data-hook:
        $(MAKE) -f Makefile-pl DESTDIR=$(DESTDIR) install