summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--GNUmakefile3
-rw-r--r--Makefile.am5
-rw-r--r--configure.ac16
3 files changed, 16 insertions, 8 deletions
diff --git a/GNUmakefile b/GNUmakefile
index 2fce1fdb7..95758f5e5 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -45,7 +45,8 @@ _curr-ver := $(VERSION)
# 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)
diff --git a/Makefile.am b/Makefile.am
index 67f493484..28629400c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -94,6 +94,11 @@ gen-ChangeLog:
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
diff --git a/configure.ac b/configure.ac
index d55b2da50..cc4e15295 100644
--- a/configure.ac
+++ b/configure.ac
@@ -337,13 +337,15 @@ dnl Allow maintainer rules under GNU make even in VPATH builds. This does
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