diff options
author | Eric Blake <ebb9@byu.net> | 2008-03-04 20:54:45 +0100 |
---|---|---|
committer | Jim Meyering <meyering@redhat.com> | 2008-03-04 20:54:45 +0100 |
commit | 07bc841590ceccf8eac9a98d55001bb0412f5299 (patch) | |
tree | 56499039658655ddcfee2cf51b2a4da2f9608665 | |
parent | dd647e78ca073723c0e3c2d7de243be0b7ab2108 (diff) | |
download | coreutils-07bc841590ceccf8eac9a98d55001bb0412f5299.tar.xz |
Reinstate GNUmakefile patch, but with workaround for automake.
* 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.
-rw-r--r-- | GNUmakefile | 3 | ||||
-rw-r--r-- | Makefile.am | 5 | ||||
-rw-r--r-- | configure.ac | 16 |
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 |