On all HP-UX and Tru64 boxen I have access to, distdir.test fails like this:
$ make dist # in VPATH build, which is part of the distcheck stage | No suffix list. | Make: Don't know how to make ./joe. Stop. Removing the leading `./' from EXTRA_DIST = ./joe [...] fixes that on these hosts, so IMHO that should be considered necessary for portable Makefiles. The only remaining problem child I know about is Solaris 2.6 `make', which has more problems with VPATH for files in subdirs: (distdir.test) | make check-local | test -f ../foo/bar | test -f ../woo/doo | test -f ../joe | test -f ../dada | make: Fatal error: Don't know how to make target `foo/bar' | Current working directory | /tmp/build-sparc-sun-solaris2.6/tests/testSubDir/distdir-1.0/_build | *** Error code 1 | make: Fatal error: Command failed for target `distcheck' | FAIL: ../../automake-1.9a/tests/distdir.test (similar failure in extra6.test) | + mkdir foo2 | + mkdir foo2/bar2 | + touch foo2/bar2/baz2 | + mkdir baz2 | + touch baz2/foo2 | + make check | make: Fatal error: Don't know how to make target `foo/bar' | FAIL: ../../automake-1.9a/tests/extra6.test (and pr9.test) | && make distcleancheck | checking for a BSD-compatible install... ../support/install-sh -c | checking whether build environment is sane... yes | checking for gawk... no | checking for mawk... no | checking for nawk... nawk | checking whether make sets $(MAKE)... yes | configure: creating ./config.status | config.status: creating Makefile | make: Fatal error: Don't know how to make target `support/install-sh' | Current working directory /tmp/build-sparc-sun-solaris2.6/tests/testSubDir/pr9-0/_build | *** Error code 1 | make: Fatal error: Command failed for target `distcheck' | + exit 1 | FAIL: ../../automake-1.9a/tests/pr9.test (and subpkg3.test) | Making uninstall in subpkg | make: Fatal error: Don't know how to make target `subpkg/foobar' | Current working directory /tmp/build-sparc-sun-solaris2.6/tests/testSubDir/subpkg3-1.0/_build | *** Error code 1 | make: Fatal error: Command failed for target `distcheck' | FAIL: ../../automake-1.9a/tests/subpkg3.test Luckily all of these are fixed in Solaris >=2.7. Yay! So I'm bound to think we should ignore Solaris 2.6 issues here -- after all, GNU make compiles and runs fine on this system -- and just go with the patch below to fix the remaining failures. Do you think it's ok to require that `./file' should not be used? Should it be documented in automake.texi? Alternatively, should EXTRA_DIST be rewritten by Automake to kill leading "./"? Cheers, Ralf * tests/distdir.test: Do not use leading `./' in EXTRA_DIST for files in the source tree. Fixes failures with HP-UX and Tru64 make. Index: tests/distdir.test =================================================================== RCS file: /cvs/automake/automake/tests/distdir.test,v retrieving revision 1.9 diff -u -r1.9 distdir.test --- tests/distdir.test 5 Jan 2006 23:32:35 -0000 1.9 +++ tests/distdir.test 8 May 2006 20:08:34 -0000 @@ -19,7 +19,9 @@ # Boston, MA 02110-1301, USA. # Test to make sure subdirs in EXTRA_DIST work. Also tests to make -# sure "./" is ignored and *srcdir properly handled. +# sure *srcdir is properly handled. Note that using `./', as in +# EXTRA_DIST = ./joe +# does not work portably: it fails with HP-UX and Tru64 make. . ./defs || exit 1 @@ -28,7 +30,7 @@ echo AC_OUTPUT >>configure.in cat > Makefile.am << 'END' -EXTRA_DIST = foo/bar ./joe $(top_srcdir)/woo/doo $(srcdir)/dada +EXTRA_DIST = foo/bar joe $(top_srcdir)/woo/doo $(srcdir)/dada check-local: test -f $(srcdir)/foo/bar test -f $(srcdir)/woo/doo