Finally got distcheck working again.
authorRobert Collins <robertc@robertcollins.net>
Sat, 19 Sep 2009 04:52:16 +0000 (14:52 +1000)
committerRobert Collins <robertc@robertcollins.net>
Sat, 19 Sep 2009 04:52:16 +0000 (14:52 +1000)
Makefile.am
perl/Makefile.PL.in

index 04be7ff47eb815475af471b7feef70d29f4fcc72..a146a94bda4ec4221ffdee9de05f57fb86a27446 100644 (file)
@@ -10,7 +10,7 @@ EXTRA_DIST =  \
        c++/README \
        c++/cppunit-subunit-1.10.2.patch \
        perl/diff-subunit \
-       perl/Makefile.PL \
+       perl/Makefile.PL.in \
        perl/lib/Subunit/Diff.pm \
        perl/lib/Subunit.pm \
        python/subunit/__init__.py \
@@ -86,10 +86,10 @@ c_tests_test_child_LDADD = $(tests_LDADD)
 
 
 all-local: perl/Makefile
-       cd perl && $(MAKE) all
+       $(MAKE) -C perl all
 
 check-local: perl/Makefile
-       cd perl && $(MAKE) check
+       $(MAKE) -C perl check
 
 clean-local:
        find . -name "*.pyc" | xargs -r rm
@@ -97,18 +97,24 @@ clean-local:
 
 # Remove perl dir for VPATH builds.
 distclean-local:
-       -rmdir perl
-       -rm perl/Makefile.PL
+       -rmdir perl > /dev/null
+       -rm perl/Makefile.PL > /dev/null
 
-# NB: Installs to a perl lib dir, not usr/bin.
 install-exec-local: perl/Makefile
-       cd perl && $(MAKE) install
+       $(MAKE) -C perl install
 
 mostlyclean-local:
        rm -rf perl/blib
        rm -rf perl/pm_to_blib
 
+# 'uninstall' perl files during distcheck
+uninstall-local:
+       if [ "_inst" = `basename ${prefix}` ]; then \
+         $(MAKE) -C perl uninstall_distcheck; \
+           rm -f "$(DESTDIR)$(bindir)"/diff-subunit; \
+       fi
+
 perl/Makefile: perl/Makefile.PL
        mkdir -p perl
-       cd perl && perl @abs_top_srcdir@/perl/Makefile.PL
+       cd perl && perl Makefile.PL
        -rm perl/Makefile.old > /dev/null
index ffd8f4fba02f2b1cff448380dbe95c378e1f11df..682e683b86fcee0fd86744eff08c9ca3de1807ed 100755 (executable)
@@ -1,13 +1,20 @@
 use ExtUtils::MakeMaker;
 WriteMakefile(
+    'INSTALL_BASE' => '@prefix@',
     'NAME'     => 'Subunit',
     'VERSION' => '@SUBUNIT_VERSION@',
     'test' => { 'TESTS' => 'tests/*.pl' },
     'PMLIBDIRS' => [ 'lib' ],
-    'EXE_FILES' => [ 'diff-subunit' ],
+    'EXE_FILES' => [ '@abs_srcdir@/diff-subunit' ],
 );
 sub MY::postamble {
 <<'EOT';
 check: # test
+
+uninstall_distcheck:
+       rm -fr $(DESTINSTALLARCHLIB)
+
+VPATH = @srcdir@
+.PHONY: uninstall_distcheck
 EOT
 }