* configure.ac (AC_CONFIG_LINKS): Use shell variable to bypass
automake distclean rules.
* Makefile.am (distclean-local): Clean GNUmakefile in VPATH builds,
since we are bypassing automake.
* GNUmakefile (_is-dist-target): 'distclean' is not a dist target.
# Ensure that $(VERSION) is up to date for dist-related targets, but not
# for others: running autoreconf and recompiling everything isn't cheap.
ifeq (0,$(MAKELEVEL))
# Ensure that $(VERSION) is up to date for dist-related targets, but not
# for others: running autoreconf and recompiling everything isn't cheap.
ifeq (0,$(MAKELEVEL))
- _is-dist-target = $(filter dist% alpha beta major,$(MAKECMDGOALS))
+ _is-dist-target = $(filter-out %clean, \
+ $(filter dist% alpha beta major,$(MAKECMDGOALS)))
ifneq (,$(_is-dist-target))
_curr-ver := $(shell cd $(srcdir) && ./build-aux/git-version-gen \
$(srcdir)/.tarball-version)
ifneq (,$(_is-dist-target))
_curr-ver := $(shell cd $(srcdir) && ./build-aux/git-version-gen \
$(srcdir)/.tarball-version)
distcheck-hook: check-ls-dircolors
$(MAKE) my-distcheck
distcheck-hook: check-ls-dircolors
$(MAKE) my-distcheck
+# Arrange to remove the symlink to GNUmakefile in VPATH builds.
+# TODO remove this once automake vs. AC_CONFIG_LINKS issue is fixed.
+distclean-local:
+ if test x"$(VPATH)" != x ; then rm -f GNUmakefile ; fi
+
DISTCLEANFILES = VERSION
MAINTAINERCLEANFILES = THANKS-to-translators
THANKS-to-translators: po/LINGUAS THANKStt.in
DISTCLEANFILES = VERSION
MAINTAINERCLEANFILES = THANKS-to-translators
THANKS-to-translators: po/LINGUAS THANKStt.in
dnl not work in autoconf 2.61 or earlier, but we don't want to require
dnl non-maintainers to use unreleased autoconf, hence the version test.
dnl TODO remove the version check once autoconf 2.62 is released.
dnl not work in autoconf 2.61 or earlier, but we don't want to require
dnl non-maintainers to use unreleased autoconf, hence the version test.
dnl TODO remove the version check once autoconf 2.62 is released.
-
-dnl Disabled for now, since this would cause "make distclean" to
-dnl remove the sole copy of GNUmakefile in a non-VPATH build.
-dnl TODO restore once automake has been fixed to do the right thing.
-dnl m4_if(m4_version_compare([2.61a.100],
-dnl m4_defn([m4_PACKAGE_VERSION])), [1], [],
-dnl [AC_CONFIG_LINKS([GNUmakefile:GNUmakefile])])
+dnl Meanwhile, we must use a shell variable so that we bypass automake's
+dnl attempts to remove the sole copy of GNUmakefile in a non-VPATH build
+dnl during 'make distclean'.
+dnl TODO avoid the shell variable once automake is fixed.
+GNUmakefile=GNUmakefile
+m4_if(m4_version_compare([2.61a.100],
+ m4_defn([m4_PACKAGE_VERSION])), [1], [],
+ [AC_CONFIG_LINKS([$GNUmakefile:$GNUmakefile], [],
+ [GNUmakefile=$GNUmakefile])])
AC_CONFIG_FILES(
Makefile
AC_CONFIG_FILES(
Makefile