diff options
Diffstat (limited to 'lib/am')
-rw-r--r-- | lib/am/configure.am | 6 | ||||
-rw-r--r-- | lib/am/distdir.am | 12 |
2 files changed, 13 insertions, 5 deletions
diff --git a/lib/am/configure.am b/lib/am/configure.am index 8f037fd1b..34ebd17ad 100644 --- a/lib/am/configure.am +++ b/lib/am/configure.am @@ -83,7 +83,11 @@ endif %?TOPDIR_P% esac; ## Avoid the "deleted header file" problem for the dependencies. -?HAVE-MAKEFILE-IN-DEPS?%MAKEFILE-IN-DEPS%: +## Add the trailing "$(am__empty)" to trick Automake into not spuriously +## complaining about "duplicated targets" in case the %MAKEFILE-IN-DEPS% +## list expands to a single target that is also declared in some +## user-defined rule. +?HAVE-MAKEFILE-IN-DEPS?%MAKEFILE-IN-DEPS% $(am__empty): DIST_COMMON += %MAKEFILE-AM% diff --git a/lib/am/distdir.am b/lib/am/distdir.am index 3441a7c98..e4b1d5ca3 100644 --- a/lib/am/distdir.am +++ b/lib/am/distdir.am @@ -431,7 +431,7 @@ distcheck: dist ## can make our new subdirs. chmod -R a-w $(distdir) chmod u+w $(distdir) - mkdir $(distdir)/_build $(distdir)/_inst + mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst ## Undo the write access. chmod a-w $(distdir) ## With GNU make, the following command will be executed even with "make -n", @@ -452,8 +452,12 @@ distcheck: dist ## Parallel BSD make may not start a new shell for each command in a recipe, ## so be sure to 'cd' back to the original directory after this. && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build \ - && ../configure \ +## If we merely used '$(distdir)/_build' here, "make distcheck" could +## sometimes fail to detect missing files in the distribution tarball, +## especially in those cases where both the generated files and their +## dependencies are explicitly in $(srcdir). See automake bug#18286. + && $(am__cd) $(distdir)/_build/sub \ + && ../../configure \ ?GETTEXT? --with-included-gettext \ ## Additional flags for configure. $(AM_DISTCHECK_CONFIGURE_FLAGS) \ @@ -462,7 +466,7 @@ distcheck: dist ## and --prefix values, so don't allow them to be overridden by the user or ## the developer. That used to be allowed, and caused issues in practice ## (in corner-case usages); see automake bug#14991. - --srcdir=.. --prefix="$$dc_install_base" \ + --srcdir=../.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ |