maint: support new Automake versioning scheme in tagging/uploading rules
[platform/upstream/automake.git] / Makefile.am
index 030c2eb..15b87c9 100644 (file)
@@ -73,6 +73,11 @@ EXTRA_DIST += \
   syntax-checks.mk \
   HACKING
 
+# For some tests or targets, we need to have the just-build automake and
+# aclocal scripts avaiable on PATH.
+extend_PATH = \
+  { PATH='$(abs_builddir)/t/wrap'$(PATH_SEPARATOR)$$PATH && export PATH; }
+
 # Make versioned links.  We only run the transform on the root name;
 # then we make a versioned link with the transformed base name.  This
 # seemed like the most reasonable approach.
@@ -283,7 +288,7 @@ dist_automake_ac_DATA = \
   m4/minuso.m4 \
   m4/missing.m4 \
   m4/mkdirp.m4 \
-  m4/obsolete-err.m4 \
+  m4/obsolete.m4 \
   m4/options.m4 \
   m4/python.m4 \
   m4/runlog.m4 \
@@ -332,7 +337,7 @@ TAP_LOG_DRIVER = AM_TAP_AWK='$(AWK)' $(SHELL) $(srcdir)/lib/tap-driver.sh
 
 AM_TAP_LOG_DRIVER_FLAGS = --merge
 
-EXTRA_DIST += t/README t/ax/is t/ax/is_newest
+EXTRA_DIST += t/README t/ax/is t/ax/is_newest t/ax/deltree.pl
 
 ## Will be updated later.
 TESTS =
@@ -519,6 +524,12 @@ check-no-trailing-backslash-in-recipes:
          CONFIG_SHELL='$(abs_top_builddir)/t/ax/shell-no-trail-bslash'
 .PHONY: check-no-trailing-backslash-in-recipes
 
+# Automake-generated Makefiles should work when run with parallel make.
+check-parallel:
+       $(AM_V_GEN)$(MAKE) $(AM_MAKEFLAGS) check \
+         AM_TESTSUITE_MAKE="$${AM_TESTSUITE_MAKE-$${MAKE-make}} -j4"
+.PHONY: check-parallel
+
 ## Checking the list of tests.
 test_subdirs = t t/pm contrib/t
 include $(srcdir)/t/CheckListOfTests.am
@@ -540,16 +551,7 @@ EXTRA_DIST += $(perf_TESTS)
 clean-local: clean-local-check
 .PHONY: clean-local-check
 clean-local-check:
-## Directories candidate to be test directories match this wildcard.
-       @globs='t/*.dir t/*/*.dir */t/*.dir */t/*/*.dir'; \
-## The 'nullglob' bash option is not portable, so use perl.
-       dirs=`$(PERL) -e "print join(' ', glob('$$globs'));"` || exit 1; \
-       if test -n "$$dirs"; then \
-## Errors in find are acceptable, errors in rm are not.
-           find $$dirs -type d ! -perm -700 -exec chmod u+rwx {} ';'; \
-           echo " rm -rf $$dirs"; \
-           rm -rf $$dirs || exit 1; \
-       fi
+       $(AM_V_GEN)$(PERL) $(srcdir)/t/ax/deltree.pl t/*.dir t/*/*.dir */t/*.dir
 
 
 ## ---------------- ##
@@ -574,8 +576,7 @@ EXTRA_DIST += doc/help2man
 update_mans = \
   $(AM_V_GEN): \
     && $(MKDIR_P) doc \
-    && PATH="$(abs_builddir)/t/wrap$(PATH_SEPARATOR)$$PATH" \
-    && export PATH \
+    && $(extend_PATH) \
     && $(PERL) $(srcdir)/doc/help2man --output=$@
 
 doc/aclocal.1 doc/automake.1:
@@ -615,22 +616,25 @@ amhello_configury = \
 dist_noinst_DATA += $(amhello_sources)
 dist_doc_DATA = $(srcdir)/doc/amhello-1.0.tar.gz
 
+setup_autotools_paths = { \
+  $(extend_PATH) \
+    && ACLOCAL=aclocal-$(APIVERSION) && export ACLOCAL \
+    && AUTOMAKE=automake-$(APIVERSION) && export AUTOMAKE \
+    && AUTOCONF='$(am_AUTOCONF)' && export AUTOCONF \
+    && AUTOM4TE='$(am_AUTOM4TE)' && export AUTOM4TE \
+    && AUTORECONF='$(am_AUTORECONF)' && export AUTORECONF \
+    && AUTOHEADER='$(am_AUTOHEADER)' && export AUTOHEADER \
+    && AUTOUPDATE='$(am_AUTOUPDATE)' && export AUTOUPDATE \
+    && true; \
+}
+
 # We depend on configure.ac so that we regenerate the tarball
 # whenever the Automake version changes.
-# aclocal-$(APIVERSION) and automake-$(APIVERSION) are generated by
-# configure in 't/wrap'.
 $(srcdir)/doc/amhello-1.0.tar.gz: $(amhello_sources) $(srcdir)/configure.ac
        $(AM_V_GEN)tmp=amhello-output.tmp \
-         && PATH="$(abs_top_builddir)/t/wrap$(PATH_SEPARATOR)$$PATH" \
-         && export PATH \
          && $(am__cd) $(srcdir)/doc/amhello \
-         && ACLOCAL=aclocal-$(APIVERSION) && export ACLOCAL \
-         && AUTOMAKE=automake-$(APIVERSION) && export AUTOMAKE \
-         && AUTOCONF='$(am_AUTOCONF)' && export AUTOCONF \
-         && AUTOM4TE='$(am_AUTOM4TE)' && export AUTOM4TE \
-         && AUTORECONF='$(am_AUTORECONF)' && export AUTORECONF \
-         && AUTOHEADER='$(am_AUTOHEADER)' && export AUTOHEADER \
-         && AUTOUPDATE='$(am_AUTOUPDATE)' && export AUTOUPDATE \
+         && : Make our aclocal and automake avaiable before system ones. \
+         && $(setup_autotools_paths) \
          && ( \
            { $(AM_V_P) || exec 5>&2 >$$tmp 2>&1; } \
              && $(am_AUTORECONF) -vfi \