Fix networking in the appliance.
[libguestfs.git] / perl / Makefile.am
index 2b5b1dd..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 \
-       guestfs_perl.c \
-       typemap \
-       perl/lib/Sys/Guestfs.pm
+       examples/README \
+       examples/LICENSE \
+       examples/*.pl \
+       lib/Sys/Guestfs/Lib.pm \
+       run-bindtests \
+       run-perl-tests \
+       t/*.t \
+       typemap
 
 if HAVE_PERL
 
 # Interfacing automake and ExtUtils::MakeMaker known to be
 # a nightmare, news at 11.
 
-TESTS = run-perl-tests
+# 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=$(top_builddir)/src/.libs \
+       LIBGUESTFS_PATH=$(top_builddir)/appliance
+
+INSTALLDIRS = site
+
+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
 
-all:
-       perl Makefile.PL
-       make -f Makefile-pl
+clean-local:
+       -$(MAKE) -f Makefile-pl clean
+       rm -f Makefile-pl
 
 install-data-hook:
-       make -f Makefile-pl DESTDIR=$(DESTDIR) install
+       $(MAKE) -f Makefile-pl DESTDIR=$(DESTDIR) install
 
 endif