#
# 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
+
+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 \
typemap
-CLEANFILES = *~ examples/*~ t/*~
-
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 \
+ TMPDIR=$(top_builddir)
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