automake-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Automake-commit] [SCM] GNU Automake branch, master, updated. v1.13.1d-1


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, master, updated. v1.13.1d-185-g0dd95c8
Date: Fri, 10 May 2013 12:46:00 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Automake".

http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=0dd95c8d51099aaca08fab7815e2c536908250e2

The branch, master has been updated
       via  0dd95c8d51099aaca08fab7815e2c536908250e2 (commit)
       via  0736c67c71d2d8611d48abb253a9058736bd18bd (commit)
       via  2df8f3fe34f325ba5504ff5f6fa380a98989673c (commit)
       via  a5a167fc64027b33c29675651ade27e3a27b0882 (commit)
       via  126cd5242844fa9511cb6709fc5df72bf1851d14 (commit)
       via  5a37b0e7bf899d9b7d3835c176da926064b75bb2 (commit)
       via  66ab18aedf422dd2a463112acc8310779a7f703e (commit)
       via  53201da1387982ab0cc726e2aa79555c023111bf (commit)
       via  4ccf9a8034c597f33ce9592f06533e3cd096fd99 (commit)
       via  ce70cf4b95a486f712fab0af865f6c005139fafe (commit)
       via  c8f106c772e608b25aa6a3aa8eeeb0119e097ab2 (commit)
      from  1a1c3ac44cf1d831a8b460888c7402d9fec70023 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 0dd95c8d51099aaca08fab7815e2c536908250e2
Merge: 1a1c3ac 0736c67
Author: Stefano Lattarini <address@hidden>
Date:   Fri May 10 13:33:52 2013 +0200

    Merge branch 'maint'
    
    * maint:
      automake: typofix in comments: s/AC_CONFIG_HEADER/AC_CONFIG_HEADERS/
      am: prefer a shorter idiom where possible
      cosmetics: fix few typos, grammaros and missing whitespace
      fixup: remove an obsolete comment
      docs: we still don't have the promised better Java interface
      build: move automake and aclocal in 'bin' subdir
      build: break up monolithic Makefile.am in subdir-specific fragments
    
    + Extra non-trivial edits:
    
    * m4/Makefile.inc (dist_automake_ac_DATA): Drop lead-dot.m4 and
    mkdirp.m4.
    * lib/Automake/Makefile.inc (dist_perllib_DATA): Drop Configure_ac.pm.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

-----------------------------------------------------------------------

Summary of changes:
 .gitignore                                 |    4 +-
 Makefile.am                                |  639 ++--------------------------
 THANKS                                     |    1 +
 bin/Makefile.inc                           |   70 +++
 aclocal.in => bin/aclocal.in               |    0
 automake.in => bin/automake.in             |    6 +-
 {lib => bin}/gen-perl-protos               |    0
 bootstrap.sh                               |   12 +-
 configure.ac                               |    2 +-
 lib/am/footer.am => contrib/t/Makefile.inc |   21 +-
 contrib/t/local.am                         |   25 --
 doc/Makefile.inc                           |  116 +++++
 doc/automake.texi                          |    8 +-
 lib/Automake/Makefile.inc                  |   56 +++
 lib/Makefile.inc                           |   68 +++
 lib/am/Makefile.inc                        |   65 +++
 lib/am/check.am                            |    2 +-
 lib/am/header-vars.am                      |    7 +-
 lib/am/library.am                          |    1 +
 lib/am/ltlibrary.am                        |    1 +
 lib/am/program.am                          |    1 +
 lib/am/remake-hdr.am                       |    6 +-
 m4/Makefile.inc                            |   77 ++++
 maintainer/rename-tests                    |    2 +-
 maintainer/syntax-checks.mk                |   34 +-
 t/Makefile.inc                             |  274 ++++++++++++
 t/ax/tap-setup.sh                          |    2 +-
 t/wrap/aclocal.in                          |    2 +-
 t/wrap/automake.in                         |    2 +-
 29 files changed, 815 insertions(+), 689 deletions(-)
 create mode 100644 bin/Makefile.inc
 rename aclocal.in => bin/aclocal.in (100%)
 rename automake.in => bin/automake.in (99%)
 rename {lib => bin}/gen-perl-protos (100%)
 copy lib/am/footer.am => contrib/t/Makefile.inc (63%)
 delete mode 100644 contrib/t/local.am
 create mode 100644 doc/Makefile.inc
 create mode 100644 lib/Automake/Makefile.inc
 create mode 100644 lib/Makefile.inc
 create mode 100644 lib/am/Makefile.inc
 create mode 100644 m4/Makefile.inc
 create mode 100644 t/Makefile.inc

diff --git a/.gitignore b/.gitignore
index 4b509d7..f13fd21 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,8 +10,8 @@
 /config.status
 /config.status.lineno
 /configure.lineno
-/aclocal
-/automake
+/bin/aclocal
+/bin/automake
 /runtest
 /doc/.dirstamp
 /doc/automake*.info
diff --git a/Makefile.am b/Makefile.am
index 3933497..143308a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -22,11 +22,22 @@ CLEANFILES =
 DISTCLEANFILES =
 MAINTAINERCLEANFILES =
 EXTRA_DIST =
+TAGS_FILES =
+dist_noinst_DATA =
+nodist_noinst_DATA =
+dist_noinst_SCRIPTS =
+nodist_noinst_SCRIPTS =
 
 ## ------------ ##
 ##  Top level.  ##
 ## ------------ ##
 
+EXTRA_DIST += \
+  bootstrap.sh \
+  GNUmakefile \
+  HACKING \
+  PLANS
+
 # We want a handful of substitutions to be fully-expanded by make;
 # then use config.status to substitute the remainder where a single
 # expansion is sufficient.  We use a funny notation here to avoid
@@ -58,62 +69,11 @@ generated_file_finalize = $(AM_V_at) \
   fi; \
   chmod a-w address@hidden && mv -f address@hidden $@
 
-bin_SCRIPTS = automake aclocal
-
-CLEANFILES += $(bin_SCRIPTS)
-AUTOMAKESOURCES = automake.in aclocal.in
-
-TAGS_FILES = $(AUTOMAKESOURCES)
-
-EXTRA_DIST += \
-  $(AUTOMAKESOURCES) \
-  bootstrap.sh \
-  GNUmakefile \
-  HACKING \
-  PLANS
-
 # 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.
-install-exec-hook:
-       @$(POST_INSTALL)
-       @for p in $(bin_SCRIPTS); do \
-         f=`echo $$p | sed '$(transform)'`; \
-         fv="$$f-$(APIVERSION)"; \
-         rm -f "$(DESTDIR)$(bindir)/$$fv"; \
-         echo " $(LN) '$(DESTDIR)$(bindir)/$$f' '$(DESTDIR)$(bindir)/$$fv'"; \
-         $(LN) "$(DESTDIR)$(bindir)/$$f" "$(DESTDIR)$(bindir)/$$fv"; \
-       done
-
-uninstall-hook:
-       @for p in $(bin_SCRIPTS); do \
-         f=`echo $$p | sed '$(transform)'`; \
-         fv="$$f-$(APIVERSION)"; \
-         rm -f "$(DESTDIR)$(bindir)/$$fv"; \
-       done
-
-# These files depend on Makefile so they are rebuilt if $(VERSION),
-# $(datadir) or other do_subst'ituted variables change.
-automake: automake.in
-aclocal: aclocal.in
-automake aclocal: Makefile lib/gen-perl-protos
-       $(AM_V_GEN)rm -f $@ address@hidden address@hidden \
-## Common substitutions.
-         && address@hidden && $(do_subst) <$(srcdir)/$$in >address@hidden \
-## Auto-compute prototypes of perl subroutines.
-         && $(PERL) -w $(srcdir)/lib/gen-perl-protos address@hidden > 
address@hidden \
-         && mv -f address@hidden address@hidden \
-## We can't use '$(generated_file_finalize)' here, because currently
-## Automake contains occurrences of unexpanded @substitutions@ in
-## comments, and that is perfectly legit.
-         && chmod a+x,a-w address@hidden && mv -f address@hidden $@
-EXTRA_DIST += lib/gen-perl-protos
-
 # The master location for INSTALL is lib/INSTALL.
 # This is where "make fetch" will install new versions.
 # Make sure we also update this copy.
@@ -130,560 +90,7 @@ maintainer-clean-local:
 # (as it is maintainer-specific).
 ChangeLog:
 
-
-## -------------------------------------------------------------------- ##
-##  Auxiliary scripts and files for use with "automake --add-missing".  ##
-## -------------------------------------------------------------------- ##
-
-dist_pkgvdata_DATA = \
-  lib/COPYING \
-  lib/INSTALL \
-  lib/texinfo.tex
-
-# These must all be executable when installed.  However, if we use
-# _SCRIPTS, then the program transform will be applied, which is not
-# what we want.  So we make them executable by hand.
-dist_script_DATA = \
-  lib/config.guess \
-  lib/config.sub \
-  lib/install-sh \
-  lib/mdate-sh \
-  lib/missing \
-  lib/mkinstalldirs \
-  lib/ylwrap \
-  lib/depcomp \
-  lib/compile \
-  lib/py-compile \
-  lib/ar-lib \
-  lib/test-driver \
-  lib/tap-driver.sh \
-  lib/tap-driver.pl
-
-install-data-hook:
-       @$(POST_INSTALL)
-       @for f in $(dist_script_DATA); do echo $$f; done \
-         | sed 's,^lib/,,' \
-         | ( st=0; \
-             while read f; do \
-               echo " chmod +x '$(DESTDIR)$(scriptdir)/$$f'"; \
-               chmod +x "$(DESTDIR)$(scriptdir)/$$f" || st=1; \
-             done; \
-             exit $$st )
-
-installcheck-local: installcheck-executable-scripts
-installcheck-executable-scripts:
-       @for f in $(dist_script_DATA); do echo $$f; done \
-         | sed 's,^lib/,,' \
-         | while read f; do \
-             path="$(pkgvdatadir)/$$f"; \
-             test -x "$$path" || echo $$path; \
-           done \
-         | sed 's/$$/: not executable/' \
-         | grep . 1>&2 && exit 1; exit 0
-
-
-## ---------------------------------------------------- ##
-##  Private perl modules used by automake and aclocal.  ##
-## ---------------------------------------------------- ##
-
-perllibdir = $(pkgvdatadir)/Automake
-dist_perllib_DATA = \
-  lib/Automake/ChannelDefs.pm \
-  lib/Automake/Channels.pm \
-  lib/Automake/Condition.pm \
-  lib/Automake/DisjConditions.pm \
-  lib/Automake/FileUtils.pm \
-  lib/Automake/General.pm \
-  lib/Automake/Getopt.pm \
-  lib/Automake/Item.pm \
-  lib/Automake/ItemDef.pm \
-  lib/Automake/Language.pm \
-  lib/Automake/Location.pm \
-  lib/Automake/Options.pm \
-  lib/Automake/Rule.pm \
-  lib/Automake/RuleDef.pm \
-  lib/Automake/Variable.pm \
-  lib/Automake/VarDef.pm \
-  lib/Automake/Version.pm \
-  lib/Automake/XFile.pm \
-  lib/Automake/Wrap.pm
-
-nodist_perllib_DATA = lib/Automake/Config.pm
-CLEANFILES += $(nodist_perllib_DATA)
-
-lib/Automake/Config.pm: lib/Automake/Config.in Makefile
-       $(AM_V_at)rm -f $@ address@hidden
-       $(AM_V_at)test -d lib/Automake || $(MKDIR_P) lib/Automake
-       $(AM_V_GEN)in=Config.in \
-         && $(do_subst) <$(srcdir)/lib/Automake/Config.in >address@hidden
-       $(generated_file_finalize)
-EXTRA_DIST += lib/Automake/Config.in
-
-
-## --------------------- ##
-##  Makefile fragments.  ##
-## --------------------- ##
-
-dist_am_DATA = \
-  lib/am/check.am \
-  lib/am/check2.am \
-  lib/am/clean-hdr.am \
-  lib/am/clean.am \
-  lib/am/compile.am \
-  lib/am/configure.am \
-  lib/am/data.am \
-  lib/am/dejagnu.am \
-  lib/am/depend.am \
-  lib/am/depend2.am \
-  lib/am/distdir.am \
-  lib/am/footer.am \
-  lib/am/header-vars.am \
-  lib/am/header.am \
-  lib/am/install.am \
-  lib/am/inst-vars.am \
-  lib/am/java.am \
-  lib/am/lang-compile.am \
-  lib/am/lex.am \
-  lib/am/library.am \
-  lib/am/libs.am \
-  lib/am/libtool.am \
-  lib/am/lisp.am \
-  lib/am/ltlib.am \
-  lib/am/ltlibrary.am \
-  lib/am/mans-vars.am \
-  lib/am/mans.am \
-  lib/am/program.am \
-  lib/am/progs.am \
-  lib/am/python.am \
-  lib/am/remake-hdr.am \
-  lib/am/scripts.am \
-  lib/am/subdirs.am \
-  lib/am/tags.am \
-  lib/am/texi-vers.am \
-  lib/am/texibuild.am \
-  lib/am/texinfos.am \
-  lib/am/vala.am \
-  lib/am/yacc.am
-
-
-## ------------------------------ ##
-##  Automake-provided m4 macros.  ##
-## ------------------------------ ##
-
-dist_automake_ac_DATA = \
-  m4/amversion.m4 \
-  m4/ar-lib.m4 \
-  m4/as.m4 \
-  m4/auxdir.m4 \
-  m4/cond.m4 \
-  m4/cond-if.m4 \
-  m4/depend.m4 \
-  m4/depout.m4 \
-  m4/dmalloc.m4 \
-  m4/extra-recurs.m4 \
-  m4/gcj.m4 \
-  m4/init.m4 \
-  m4/install-sh.m4 \
-  m4/lex.m4 \
-  m4/lispdir.m4 \
-  m4/maintainer.m4 \
-  m4/make.m4 \
-  m4/minuso.m4 \
-  m4/missing.m4 \
-  m4/obsolete.m4 \
-  m4/options.m4 \
-  m4/python.m4 \
-  m4/runlog.m4 \
-  m4/sanity.m4 \
-  m4/silent.m4 \
-  m4/strip.m4 \
-  m4/substnot.m4 \
-  m4/tar.m4 \
-  m4/upc.m4 \
-  m4/vala.m4
-
-automake_internal_acdir = $(automake_acdir)/internal
-dist_automake_internal_ac_DATA = m4/internal/ac-config-macro-dirs.m4
-
-dist_system_ac_DATA = m4/acdir/README
-
-# We build amversion.m4 here, instead of from config.status,
-# because config.status is rerun each time one of configure's
-# dependencies change and amversion.m4 happens to be a configure
-# dependency.  configure and amversion.m4 would be rebuilt in
-# loop otherwise.
-# Use '$(top_srcdir)/m4' for the benefit of non-GNU makes: this is
-# how amversion.m4 appears in our dependencies.
-$(top_srcdir)/m4/amversion.m4: $(srcdir)/configure.ac $(srcdir)/m4/amversion.in
-       $(AM_V_at)rm -f address@hidden $@
-       $(AM_V_GEN)in=amversion.in \
-         && $(do_subst) <$(srcdir)/m4/amversion.in >address@hidden
-       $(generated_file_finalize)
-EXTRA_DIST += m4/amversion.in
-
-
-## ------------ ##
-##  Testsuite.  ##
-## ------------ ##
-
-# Run the tests with a proper shell detected at configure time.
-LOG_COMPILER = $(AM_TEST_RUNNER_SHELL)
-
-TEST_EXTENSIONS = .pl .sh .tap
-SH_LOG_COMPILER = $(LOG_COMPILER)
-TAP_LOG_COMPILER = $(LOG_COMPILER)
-PL_LOG_COMPILER = $(PERL)
-AM_PL_LOG_FLAGS = -Mstrict -I $(builddir)/lib -I $(srcdir)/lib -w
-
-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
-
-## Will be updated later.
-TESTS =
-
-# Some testsuite-influential variables should be overridable from the
-# test scripts, but not from the environment.
-# Keep this in sync with the similar list in 't/ax/runtest.in'.
-AM_TESTS_ENVIRONMENT = \
-  for v in \
-    required \
-    am_test_protocol \
-    am_serial_tests \
-    am_test_prefer_config_shell \
-    am_original_AUTOMAKE \
-    am_original_ACLOCAL \
-    am_test_lib_sourced \
-    test_lib_sourced \
-  ; do \
-    eval test x"\$${$$v}" = x || unset $$v; \
-  done;
-# We want warning messages and explanations for skipped tests to go to
-# the console if possible, so set up 'stderr_fileno_' properly.
-AM_TESTS_FD_REDIRECT = 9>&2
-AM_TESTS_ENVIRONMENT += stderr_fileno_=9; export stderr_fileno_;
-
-# For sourcing of extra "shell libraries" by our test scripts.  As per
-# POSIX, sourcing a file with '.' will cause it to be looked up in $PATH
-# in case it is given with a relative name containing no slashes.
-AM_TESTS_ENVIRONMENT += \
-  if test $(srcdir) != .; then \
-    PATH='$(abs_srcdir)/t/ax'$(PATH_SEPARATOR)$$PATH; \
-  fi; \
-  PATH='$(abs_builddir)/t/ax'$(PATH_SEPARATOR)$$PATH; \
-  export PATH;
-
-# Hand-written tests.
-
-include $(srcdir)/t/list-of-tests.mk
-
-TESTS += $(handwritten_TESTS)
-EXTRA_DIST += $(handwritten_TESTS)
-
-# Automatically-generated tests wrapping hand-written ones.
-# Also, automatically-computed dependencies for tests.
-
-include $(srcdir)/t/testsuite-part.am
-
-TESTS += $(generated_TESTS)
-EXTRA_DIST += $(generated_TESTS)
-
-$(srcdir)/t/testsuite-part.am:
-       $(AM_V_at)rm -f t/testsuite-part.tmp $@
-       $(AM_V_GEN)$(PERL) $(srcdir)/gen-testsuite-part \
-         --srcdir $(srcdir) > t/testsuite-part.tmp
-       $(AM_V_at)chmod a-w t/testsuite-part.tmp
-       $(AM_V_at)mv -f t/testsuite-part.tmp $@
-EXTRA_DIST += gen-testsuite-part
-
-# The dependecies declared here are not truly complete, but such
-# completeness would cause more issues than it would solve.  See
-# automake bug#11347.
-$(generated_TESTS): $(srcdir)/gen-testsuite-part
-$(srcdir)/t/testsuite-part.am: $(srcdir)/gen-testsuite-part Makefile.am
-
-# Hand-written tests for stuff in 'contrib/'.
-include $(srcdir)/contrib/t/local.am
-TESTS += $(contrib_TESTS)
-EXTRA_DIST += $(contrib_TESTS)
-
-# Static dependencies valid for each test case (also further
-# extended later).  Note that use 'noinst_' rather than 'check_'
-# as the prefix, because we really want them to be built by
-# "make all".  This makes it easier to run the test cases by
-# hand after having simply configured and built the package.
-
-nodist_noinst_SCRIPTS = \
-  t/wrap/aclocal-$(APIVERSION) \
-  t/wrap/automake-$(APIVERSION)
-
-dist_noinst_DATA = \
-  t/ax/test-init.sh \
-  t/ax/test-lib.sh \
-  t/ax/am-test-lib.sh \
-  t/ax/tap-functions.sh
-
-# Few more static dependencies.
-t/distcheck-missing-m4.log: t/ax/distcheck-hook-m4.am
-t/distcheck-outdated-m4.log: t/ax/distcheck-hook-m4.am
-EXTRA_DIST += t/ax/distcheck-hook-m4.am
-
-t/ax/test-defs.sh: t/ax/test-defs.in Makefile
-       $(AM_V_at)rm -f $@ address@hidden
-       $(AM_V_at)$(MKDIR_P) t/ax
-       $(AM_V_GEN)in=t/ax/test-defs.in \
-         && $(do_subst) <$(srcdir)/$$in >address@hidden
-       $(generated_file_finalize)
-EXTRA_DIST += t/ax/test-defs.in
-CLEANFILES += t/ax/test-defs.sh
-nodist_noinst_DATA = t/ax/test-defs.sh
-
-## Will be updated soon.
-noinst_SCRIPTS =
-
-t/ax/shell-no-trail-bslash: t/ax/shell-no-trail-bslash.in Makefile
-       $(AM_V_at)rm -f $@ address@hidden
-       $(AM_V_GEN)in=t/ax/shell-no-trail-bslash.in \
-         && $(MKDIR_P) t/ax \
-         && $(do_subst) <$(srcdir)/$$in >address@hidden \
-         && chmod a+x address@hidden
-       $(generated_file_finalize)
-EXTRA_DIST += t/ax/shell-no-trail-bslash.in
-CLEANFILES += t/ax/shell-no-trail-bslash
-noinst_SCRIPTS += t/ax/shell-no-trail-bslash
-
-t/ax/cc-no-c-o: t/ax/cc-no-c-o.in Makefile
-       $(AM_V_at)rm -f $@ address@hidden
-       $(AM_V_GEN)in=t/ax/cc-no-c-o.in \
-         && $(MKDIR_P) t/ax \
-         && $(do_subst) <$(srcdir)/$$in >address@hidden \
-         && chmod a+x address@hidden
-       $(generated_file_finalize)
-EXTRA_DIST += t/ax/cc-no-c-o.in
-CLEANFILES += t/ax/cc-no-c-o
-noinst_SCRIPTS += t/ax/cc-no-c-o
-
-runtest: t/ax/runtest.in Makefile
-       $(AM_V_at)rm -f $@ address@hidden
-       $(AM_V_GEN)in=t/ax/runtest.in \
-         && $(MKDIR_P) t/ax \
-         && $(do_subst) <$(srcdir)/$$in >address@hidden \
-         && chmod a+x address@hidden
-       $(generated_file_finalize)
-EXTRA_DIST += t/ax/runtest.in
-CLEANFILES += runtest
-noinst_SCRIPTS += runtest
-
-# If two test scripts have the same basename, they will end up sharing
-# the same log file, leading to all sort of undefined and undesired
-# behaviours.
-check-no-repeated-test-name:
-       @LC_ALL=C; export LC_ALL; \
-        lst='$(TEST_LOGS)'; for log in $$lst; do echo $$log; done \
-          | sort | uniq -c | awk '($$1 > 1) { print }' \
-          | sed 's/\.log$$//' | grep . >&2 \
-          && { \
-            echo $@: test names listed above are duplicated >&2; \
-            exit 1; \
-          }; :
-check-local: check-no-repeated-test-name
-.PHONY: check-no-repeated-test-name
-
-# Check that our test cases are syntactically correct.
-# See automake bug#11898.
-check-tests-syntax:
-       @st=0; \
-       err () { echo "$@: $$*" >&2; st=1; }; \
-## The user might do something like "make check TESTS=t/foo" or
-## "make check TESTS_LOGS=t/foo.log" and expect (say) the test
-## 't/foo.sh' to be run; this has worked well until today, and
-## we want to continue supporting this use case.
-       bases=`for log in : $(TEST_LOGS); do echo $$log; done \
-         | sed -e '/^:$$/d' -e 's/\.log$$//'`; \
-       for bas in $$bases; do \
-         for suf in sh tap pl; do \
-           tst=$$bas.$$suf; \
-## Emulate VPATH search.
-           if test -f $$tst; then \
-             break; \
-           elif test -f $(srcdir)/$$tst; then \
-             tst=$(srcdir)/$$tst; \
-             break; \
-           else \
-             tst=''; \
-           fi; \
-         done; \
-         test -n "$$tst" || err "couldn't find test '$$bas'"; \
-## Don't check that perl tests are valid shell scripts!
-         test $$suf = pl && continue; \
-         $(AM_V_P) && echo " $(AM_TEST_RUNNER_SHELL) -n $$tst"; \
-         $(AM_TEST_RUNNER_SHELL) -n "$$tst" \
-           || err "test '$$tst' syntactically invalid"; \
-       done; \
-       exit $$st
-check-local: check-tests-syntax
-.PHONY: check-tests-syntax
-
-# Recipes with a trailing backslash character (possibly followed by
-# blank characters only) can cause spurious syntax errors with at
-# least older bash versions (e.g., bash 2.05b), and can be potentially
-# be unportable to other weaker shells.  Run the testsuite in a way
-# that helps catching such problems in Automake-generated recipes.
-# See automake bug#10436.
-check-no-trailing-backslash-in-recipes:
-       $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) check \
-         CONFIG_SHELL='$(abs_top_builddir)/t/ax/shell-no-trail-bslash'
-.PHONY: check-no-trailing-backslash-in-recipes
-
-# Some compilers out there (hello, MSVC) still choke on "-c -o" being
-# passed together on the command line.  Run the whole testsuite faking
-# the presence of such a compiler, to help catch regressions that would
-# otherwise only present themselves later "in the wild".  See also the
-# long discussion about automake bug#13378.
-check-cc-no-c-o:
-       $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) check \
-         CC='$(abs_top_builddir)/t/ax/cc-no-c-o' \
-         GNU_CC='$(abs_top_builddir)/t/ax/cc-no-c-o'
-.PHONY: check-cc-no-c-o
-
-## Checking the list of tests.
-test_subdirs = t t/pm contrib/t
-include $(srcdir)/t/CheckListOfTests.am
-
-# Run the testsuite with the installed aclocal and automake.
-installcheck-local: installcheck-testsuite
-installcheck-testsuite:
-       am_running_installcheck=yes $(MAKE) $(AM_MAKEFLAGS) check
-
-# Performance tests.
-.PHONY: perf
-perf: all
-       $(MAKE) $(AM_MAKEFLAGS) TEST_SUITE_LOG='$(PERF_TEST_SUITE_LOG)' \
-                               TESTS='$(perf_TESTS)' check
-PERF_TEST_SUITE_LOG = t/perf/test-suite.log
-CLEANFILES += $(PERF_TEST_SUITE_LOG)
-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
-
-
-## ---------------- ##
-##  Documentation.  ##
-## ---------------- ##
-
-info_TEXINFOS = doc/automake.texi doc/automake-history.texi
-doc_automake_TEXINFOS = doc/fdl.texi
-doc_automake_history_TEXINFOS = doc/fdl.texi
-
-man1_MANS = \
-  doc/aclocal.1 \
-  doc/automake.1 \
-  doc/aclocal-$(APIVERSION).1 \
-  doc/automake-$(APIVERSION).1
-
-$(man1_MANS): $(srcdir)/configure.ac
-
-CLEANFILES += $(man1_MANS)
-EXTRA_DIST += doc/help2man
-
-update_mans = \
-  $(AM_V_GEN): \
-    && $(MKDIR_P) doc \
-    && $(extend_PATH) \
-    && $(PERL) $(srcdir)/doc/help2man --output=$@
-
-doc/aclocal.1 doc/automake.1:
-       $(AM_V_GEN): \
-         && $(MKDIR_P) doc \
-         && f=`echo $@ | sed 's|.*/||; s|\.1$$||; $(transform)'` \
-         && echo ".so man1/$$f-$(APIVERSION).1" > $@
-
-doc/aclocal-$(APIVERSION).1: aclocal.in aclocal lib/Automake/Config.pm
-       $(update_mans) aclocal-$(APIVERSION)
-doc/automake-$(APIVERSION).1: automake.in automake lib/Automake/Config.pm
-       $(update_mans) automake-$(APIVERSION)
-
-
-## ---------------------------- ##
-##  Example package "amhello".  ##
-## ---------------------------- ##
-
-amhello_sources = \
-  doc/amhello/configure.ac \
-  doc/amhello/Makefile.am \
-  doc/amhello/README \
-  doc/amhello/src/main.c \
-  doc/amhello/src/Makefile.am
-
-amhello_configury = \
-  aclocal.m4 \
-  autom4te.cache \
-  Makefile.in \
-  config.h.in \
-  configure \
-  depcomp \
-  install-sh \
-  missing \
-  src/Makefile.in
-
-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.
-$(srcdir)/doc/amhello-1.0.tar.gz: $(amhello_sources) $(srcdir)/configure.ac
-       $(AM_V_GEN)tmp=amhello-output.tmp \
-         && $(am__cd) $(srcdir)/doc/amhello \
-         && : Make our aclocal and automake avaiable before system ones. \
-         && $(setup_autotools_paths) \
-         && ( \
-           { $(AM_V_P) || exec 5>&2 >$$tmp 2>&1; } \
-             && $(am_AUTORECONF) -vfi \
-             && ./configure \
-             && $(MAKE) $(AM_MAKEFLAGS) distcheck \
-             && $(MAKE) $(AM_MAKEFLAGS) distclean \
-             || { \
-               if $(AM_V_P); then :; else \
-                 echo "$@: recipe failed." >&5; \
-                 echo "See file '`pwd`/$$tmp' for details" >&5; \
-               fi; \
-               exit 1; \
-             } \
-         ) \
-         && rm -rf $(amhello_configury) $$tmp \
-         && mv -f amhello-1.0.tar.gz ..
-
-
-## ------------------------------------------------- ##
-##  Third-party, obsolescent or experimental stuff.  ##
-## ------------------------------------------------- ##
-
+# Third-party, obsolescent or experimental stuff.
 EXTRA_DIST += \
   contrib/check-html.am \
   contrib/multilib/README \
@@ -693,11 +100,7 @@ EXTRA_DIST += \
   contrib/multilib/multi.m4 \
   contrib/README
 
-
-## --------------------------------------------------- ##
-##  Older files, kept mostly for historical interest.  ##
-## --------------------------------------------------- ##
-
+# Older files, kept mostly for historical interest.
 EXTRA_DIST += \
   old/ChangeLog-tests \
   old/ChangeLog.96 \
@@ -711,13 +114,21 @@ EXTRA_DIST += \
   old/ChangeLog.11 \
   old/TODO
 
-## ---------------------------------------- ##
-##  Maintainer-specific files and scripts.  ##
-## ---------------------------------------- ##
-  
+# Maintainer-specific files and scripts.
 EXTRA_DIST += \
   maintainer/am-ft \
   maintainer/am-xft \
   maintainer/rename-tests \
   maintainer/maint.mk \
   maintainer/syntax-checks.mk
+
+# Most work delegated to sub-dir makefile fragments.
+include $(srcdir)/bin/Makefile.inc
+include $(srcdir)/doc/Makefile.inc
+include $(srcdir)/lib/Makefile.inc
+include $(srcdir)/lib/Automake/Makefile.inc
+include $(srcdir)/lib/am/Makefile.inc
+include $(srcdir)/m4/Makefile.inc
+include $(srcdir)/t/Makefile.inc
+
+# vim: ft=automake noet
diff --git a/THANKS b/THANKS
index fd023e2..66b3270 100644
--- a/THANKS
+++ b/THANKS
@@ -261,6 +261,7 @@ Michael Brantley                address@hidden
 Michael Daniels                 address@hidden
 Michael Hofmann                 address@hidden
 Michael Ploujnikov              address@hidden
+Michael Zucchi                  address@hidden
 Michel de Ruiter                address@hidden
 Mike Castle                     address@hidden
 Mike Frysinger                  address@hidden
diff --git a/bin/Makefile.inc b/bin/Makefile.inc
new file mode 100644
index 0000000..280fff0
--- /dev/null
+++ b/bin/Makefile.inc
@@ -0,0 +1,70 @@
+## Copyright (C) 1995-2013 Free Software Foundation, Inc.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+## ----------------------------------- ##
+##  The automake and aclocal scripts.  ##
+## ----------------------------------- ##
+
+bin_SCRIPTS = %D%/automake %D%/aclocal
+CLEANFILES += $(bin_SCRIPTS)
+
+# Used by maintainer checks and such.
+automake_in = $(srcdir)/%D%/automake.in
+aclocal_in  = $(srcdir)/%D%/aclocal.in
+automake_script = %D%/automake
+aclocal_script  = %D%/aclocal
+
+AUTOMAKESOURCES = $(automake_in) $(aclocal_in)
+TAGS_FILES += $(AUTOMAKESOURCES)
+EXTRA_DIST += $(AUTOMAKESOURCES)
+
+# 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.
+install-exec-hook:
+       @$(POST_INSTALL)
+       @for p in $(bin_SCRIPTS); do \
+         f=`echo $$p | sed -e 's,.*/,,' -e '$(transform)'`; \
+         fv="$$f-$(APIVERSION)"; \
+         rm -f "$(DESTDIR)$(bindir)/$$fv"; \
+         echo " $(LN) '$(DESTDIR)$(bindir)/$$f' '$(DESTDIR)$(bindir)/$$fv'"; \
+         $(LN) "$(DESTDIR)$(bindir)/$$f" "$(DESTDIR)$(bindir)/$$fv"; \
+       done
+
+uninstall-hook:
+       @for p in $(bin_SCRIPTS); do \
+         f=`echo $$p | sed -e 's,.*/,,' -e '$(transform)'`; \
+         fv="$$f-$(APIVERSION)"; \
+         rm -f "$(DESTDIR)$(bindir)/$$fv"; \
+       done
+
+# These files depend on Makefile so they are rebuilt if $(VERSION),
+# $(datadir) or other do_subst'ituted variables change.
+%D%/automake: %D%/automake.in
+%D%/aclocal: %D%/aclocal.in
+%D%/automake %D%/aclocal: Makefile %D%/gen-perl-protos
+       $(AM_V_GEN)rm -f $@ address@hidden address@hidden \
+## Common substitutions.
+         && address@hidden && $(do_subst) <$(srcdir)/$$in >address@hidden \
+## Auto-compute prototypes of perl subroutines.
+         && $(PERL) -w $(srcdir)/%D%/gen-perl-protos address@hidden > 
address@hidden \
+         && mv -f address@hidden address@hidden \
+## We can't use '$(generated_file_finalize)' here, because currently
+## Automake contains occurrences of unexpanded @substitutions@ in
+## comments, and that is perfectly legit.
+         && chmod a+x,a-w address@hidden && mv -f address@hidden $@
+EXTRA_DIST += %D%/gen-perl-protos
+
+# vim: ft=automake noet
diff --git a/aclocal.in b/bin/aclocal.in
similarity index 100%
rename from aclocal.in
rename to bin/aclocal.in
diff --git a/automake.in b/bin/automake.in
similarity index 99%
rename from automake.in
rename to bin/automake.in
index 0dcf06b..acbe48f 100644
--- a/automake.in
+++ b/bin/automake.in
@@ -232,7 +232,7 @@ my $configure_ac = 'configure.ac';
 # Files found by scanning configure.ac for LIBOBJS.
 my %libsources = ();
 
-# Names used in AC_CONFIG_HEADER call.
+# Names used in AC_CONFIG_HEADERS call.
 my @config_headers = ();
 
 # Names used in AC_CONFIG_LINKS call.
@@ -248,8 +248,8 @@ my @configure_input_files = ();
 # List of files in AC_CONFIG_FILES/AC_OUTPUT without Makefile.am's,
 # and their outputs.
 my @other_input_files = ();
-# Where each AC_CONFIG_FILES/AC_OUTPUT/AC_CONFIG_LINK/AC_CONFIG_HEADER appears.
-# The keys are the files created by these macros.
+# Where each AC_CONFIG_FILES/AC_OUTPUT/AC_CONFIG_LINK/AC_CONFIG_HEADERS
+# appears.  The keys are the files created by these macros.
 my %ac_config_files_location = ();
 # The condition under which AC_CONFIG_FOOS appears.
 my %ac_config_files_condition = ();
diff --git a/lib/gen-perl-protos b/bin/gen-perl-protos
similarity index 100%
rename from lib/gen-perl-protos
rename to bin/gen-perl-protos
diff --git a/bootstrap.sh b/bootstrap.sh
index 6e49d27..c8eb5de 100755
--- a/bootstrap.sh
+++ b/bootstrap.sh
@@ -92,9 +92,9 @@ dosubst automake-$APIVERSION/Automake/Config.in \
 dosubst m4/amversion.in m4/amversion.m4
 
 # Create temporary replacement for aclocal and automake.
-for p in aclocal automake; do
+for p in bin/aclocal bin/automake; do
   dosubst $p.in $p.tmp
-  $PERL -w lib/gen-perl-protos $p.tmp > $p.tmp2
+  $PERL -w bin/gen-perl-protos $p.tmp > $p.tmp2
   mv -f $p.tmp2 $p.tmp
 done
 
@@ -106,11 +106,11 @@ mv -f t/testsuite-part.tmp t/testsuite-part.am
 # Run the autotools.  Bail out if any warning is triggered.
 # Use '-I' here so that our own *.m4 files in m4/ gets included,
 # not copied, in aclocal.m4.
-$PERL ./aclocal.tmp -Wall -Werror -I m4 \
-                    --automake-acdir=m4 --system-acdir=m4/acdir
+$PERL ./bin/aclocal.tmp -Wall -Werror -I m4 \
+                        --automake-acdir=m4 --system-acdir=m4/acdir
 $AUTOCONF -Wall -Werror
-$PERL ./automake.tmp -Wall -Werror
+$PERL ./bin/automake.tmp -Wall -Werror
 
 # Remove temporary files and directories.
 rm -rf aclocal-$APIVERSION automake-$APIVERSION
-rm -f aclocal.tmp automake.tmp
+rm -f bin/aclocal.tmp bin/automake.tmp
diff --git a/configure.ac b/configure.ac
index 497c2b7..3582089 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,7 +18,7 @@
 AC_PREREQ([2.69])
 AC_INIT([GNU Automake], [1.99a], address@hidden)
 
-AC_CONFIG_SRCDIR([automake.in])
+AC_CONFIG_SRCDIR([bin/automake.in])
 AC_CONFIG_AUX_DIR([lib])
 
 AM_SILENT_RULES([yes])
diff --git a/lib/am/footer.am b/contrib/t/Makefile.inc
similarity index 63%
copy from lib/am/footer.am
copy to contrib/t/Makefile.inc
index dbc3ae4..a92b80d 100644
--- a/lib/am/footer.am
+++ b/contrib/t/Makefile.inc
@@ -1,19 +1,26 @@
-## automake - create Makefile.in from Makefile.am
-## Copyright (C) 1994-2013 Free Software Foundation, Inc.
+## Included by top-level Makefile for Automake.
 
+## Copyright (C) 1995-2013 Free Software Foundation, Inc.
+##
 ## This program is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published by
 ## the Free Software Foundation; either version 2, or (at your option)
 ## any later version.
-
+##
 ## This program is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
-
+##
 ## You should have received a copy of the GNU General Public License
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
+## -------------------------------- ##
+##  Tests for stuff in 'contrib/'.  ##
+## -------------------------------- ##
+
+contrib_TESTS = \
+  %D%/parallel-tests-html.sh \
+  %D%/parallel-tests-html-recursive.sh \
+  %D%/help-multilib.sh \
+  %D%/multilib.sh
diff --git a/contrib/t/local.am b/contrib/t/local.am
deleted file mode 100644
index f44df9c..0000000
--- a/contrib/t/local.am
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright (C) 1995-2013 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# Automake: tests for stuff in 'contrib/'.
-
-## Relative to the top-level directory.
-contrib_testsuite_dir = contrib/t
-
-contrib_TESTS = \
-  $(contrib_testsuite_dir)/parallel-tests-html.sh \
-  $(contrib_testsuite_dir)/parallel-tests-html-recursive.sh \
-  $(contrib_testsuite_dir)/help-multilib.sh \
-  $(contrib_testsuite_dir)/multilib.sh
diff --git a/doc/Makefile.inc b/doc/Makefile.inc
new file mode 100644
index 0000000..dd477d6
--- /dev/null
+++ b/doc/Makefile.inc
@@ -0,0 +1,116 @@
+## Included by top-level Makefile for Automake.
+
+## Copyright (C) 1995-2013 Free Software Foundation, Inc.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+## ---------------- ##
+##  Documentation.  ##
+## ---------------- ##
+
+info_TEXINFOS = %D%/automake.texi %D%/automake-history.texi
+doc_automake_TEXINFOS = %D%/fdl.texi
+doc_automake_history_TEXINFOS = %D%/fdl.texi
+
+man1_MANS = \
+  %D%/aclocal.1 \
+  %D%/automake.1 \
+  %D%/aclocal-$(APIVERSION).1 \
+  %D%/automake-$(APIVERSION).1
+
+$(man1_MANS): $(top_srcdir)/configure.ac
+
+CLEANFILES += $(man1_MANS)
+EXTRA_DIST += %D%/help2man
+
+update_mans = \
+  $(AM_V_GEN): \
+    && $(MKDIR_P) %D% \
+    && $(extend_PATH) \
+    && $(PERL) $(srcdir)/%D%/help2man --output=$@
+
+%D%/aclocal.1 %D%/automake.1:
+       $(AM_V_GEN): \
+         && $(MKDIR_P) %D% \
+         && f=`echo $@ | sed 's|.*/||; s|\.1$$||; $(transform)'` \
+         && echo ".so man1/$$f-$(APIVERSION).1" > $@
+
+%D%/aclocal-$(APIVERSION).1: $(aclocal_script) lib/Automake/Config.pm
+       $(update_mans) aclocal-$(APIVERSION)
+%D%/automake-$(APIVERSION).1: $(automake_script) lib/Automake/Config.pm
+       $(update_mans) automake-$(APIVERSION)
+
+## ---------------------------- ##
+##  Example package "amhello".  ##
+## ---------------------------- ##
+
+amhello_sources = \
+  %D%/amhello/configure.ac \
+  %D%/amhello/Makefile.am \
+  %D%/amhello/README \
+  %D%/amhello/src/main.c \
+  %D%/amhello/src/Makefile.am
+
+amhello_configury = \
+  aclocal.m4 \
+  autom4te.cache \
+  Makefile.in \
+  config.h.in \
+  configure \
+  depcomp \
+  install-sh \
+  missing \
+  src/Makefile.in
+
+dist_noinst_DATA += $(amhello_sources)
+dist_doc_DATA = $(srcdir)/%D%/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.
+$(srcdir)/%D%/amhello-1.0.tar.gz: $(amhello_sources) $(srcdir)/configure.ac
+       $(AM_V_GEN)tmp=amhello-output.tmp \
+         && $(am__cd) $(srcdir)/%D%/amhello \
+         && : Make our aclocal and automake avaiable before system ones. \
+         && $(setup_autotools_paths) \
+         && ( \
+           { $(AM_V_P) || exec 5>&2 >$$tmp 2>&1; } \
+             && $(am_AUTORECONF) -vfi \
+             && ./configure \
+             && $(MAKE) $(AM_MAKEFLAGS) distcheck \
+             && $(MAKE) $(AM_MAKEFLAGS) distclean \
+             || { \
+               if $(AM_V_P); then :; else \
+                 echo "$@: recipe failed." >&5; \
+                 echo "See file '`pwd`/$$tmp' for details" >&5; \
+               fi; \
+               exit 1; \
+             } \
+         ) \
+         && rm -rf $(amhello_configury) $$tmp \
+         && mv -f amhello-1.0.tar.gz ..
+
+
+# vim: ft=automake noet
diff --git a/doc/automake.texi b/doc/automake.texi
index db7d8a5..7791169 100644
--- a/doc/automake.texi
+++ b/doc/automake.texi
@@ -7590,11 +7590,11 @@ libtool, The Libtool Manual}) with the 
@code{LTLIBRARIES} primary.
 Automake provides some minimal support for Java bytecode compilation with
 the @code{JAVA} primary (in addition to the support for compiling Java to
 native machine code; @pxref{Java Support with gcj}).  Note however that
address@hidden interface and most features described here are deprecated}; the
-next automake release will strive to provide a better and cleaner
address@hidden interface and most features described here are deprecated}.
+Future Automake releases will strive to provide a better and cleaner
 interface, which however @emph{won't be backward-compatible}; the present
-interface will probably be removed altogether in future automake releases
-(1.13 or later), so don't use it in new code.
+interface will probably be removed altogether some time after the
+introduction of the new interface (if that ever materializes).
 
 Any @file{.java} files listed in a @code{_JAVA} variable will be
 compiled with @code{JAVAC} at build time.  By default, @file{.java}
diff --git a/lib/Automake/Makefile.inc b/lib/Automake/Makefile.inc
new file mode 100644
index 0000000..0519156
--- /dev/null
+++ b/lib/Automake/Makefile.inc
@@ -0,0 +1,56 @@
+## Included by top-level Makefile for Automake.
+
+## Copyright (C) 1995-2013 Free Software Foundation, Inc.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+## ---------------------------------------------------- ##
+##  Private perl modules used by automake and aclocal.  ##
+## ---------------------------------------------------- ##
+
+perllibdir = $(pkgvdatadir)/Automake
+
+dist_perllib_DATA = \
+  %D%/ChannelDefs.pm \
+  %D%/Channels.pm \
+  %D%/Condition.pm \
+  %D%/DisjConditions.pm \
+  %D%/FileUtils.pm \
+  %D%/General.pm \
+  %D%/Getopt.pm \
+  %D%/Item.pm \
+  %D%/ItemDef.pm \
+  %D%/Language.pm \
+  %D%/Location.pm \
+  %D%/Options.pm \
+  %D%/Rule.pm \
+  %D%/RuleDef.pm \
+  %D%/Variable.pm \
+  %D%/VarDef.pm \
+  %D%/Version.pm \
+  %D%/XFile.pm \
+  %D%/Wrap.pm
+
+nodist_perllib_DATA = %D%/Config.pm
+CLEANFILES += $(nodist_perllib_DATA)
+
+%D%/Config.pm: %D%/Config.in Makefile
+       $(AM_V_at)rm -f $@ address@hidden
+       $(AM_V_at)$(MKDIR_P) %D%
+       $(AM_V_GEN)in=Config.in \
+         && $(do_subst) <$(srcdir)/%D%/Config.in >address@hidden
+       $(generated_file_finalize)
+EXTRA_DIST += %D%/Config.in
+
+# vim: ft=automake noet
diff --git a/lib/Makefile.inc b/lib/Makefile.inc
new file mode 100644
index 0000000..d1971f5
--- /dev/null
+++ b/lib/Makefile.inc
@@ -0,0 +1,68 @@
+## Included by top-level Makefile for Automake.
+
+## Copyright (C) 1995-2013 Free Software Foundation, Inc.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+## -------------------------------------------------------------------- ##
+##  Auxiliary scripts and files for use with "automake --add-missing".  ##
+## -------------------------------------------------------------------- ##
+
+dist_pkgvdata_DATA = \
+  %D%/COPYING \
+  %D%/INSTALL \
+  %D%/texinfo.tex
+
+# These must all be executable when installed.  However, if we use
+# _SCRIPTS, then the program transform will be applied, which is not
+# what we want.  So we make them executable by hand.
+dist_script_DATA = \
+  %D%/config.guess \
+  %D%/config.sub \
+  %D%/install-sh \
+  %D%/mdate-sh \
+  %D%/missing \
+  %D%/mkinstalldirs \
+  %D%/ylwrap \
+  %D%/depcomp \
+  %D%/compile \
+  %D%/py-compile \
+  %D%/ar-lib \
+  %D%/test-driver \
+  %D%/tap-driver.sh \
+  %D%/tap-driver.pl
+
+install-data-hook:
+       @$(POST_INSTALL)
+       @for f in $(dist_script_DATA); do echo $$f; done \
+         | sed 's,^%D%/,,' \
+         | ( st=0; \
+             while read f; do \
+               echo " chmod +x '$(DESTDIR)$(scriptdir)/$$f'"; \
+               chmod +x "$(DESTDIR)$(scriptdir)/$$f" || st=1; \
+             done; \
+             exit $$st )
+
+installcheck-local: installcheck-executable-scripts
+installcheck-executable-scripts:
+       @for f in $(dist_script_DATA); do echo $$f; done \
+         | sed 's,^%D%/,,' \
+         | while read f; do \
+             path="$(pkgvdatadir)/$$f"; \
+             test -x "$$path" || echo $$path; \
+           done \
+         | sed 's/$$/: not executable/' \
+         | grep . 1>&2 && exit 1; exit 0
+
+# vim: ft=automake noet
diff --git a/lib/am/Makefile.inc b/lib/am/Makefile.inc
new file mode 100644
index 0000000..da94682
--- /dev/null
+++ b/lib/am/Makefile.inc
@@ -0,0 +1,65 @@
+## Included by top-level Makefile for Automake.
+
+## Copyright (C) 1995-2013 Free Software Foundation, Inc.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+## --------------------- ##
+##  Makefile fragments.  ##
+## --------------------- ##
+
+amdir = @amdir@
+
+dist_am_DATA = \
+  %D%/check.am \
+  %D%/check2.am \
+  %D%/clean-hdr.am \
+  %D%/clean.am \
+  %D%/compile.am \
+  %D%/configure.am \
+  %D%/data.am \
+  %D%/dejagnu.am \
+  %D%/depend.am \
+  %D%/depend2.am \
+  %D%/distdir.am \
+  %D%/footer.am \
+  %D%/header-vars.am \
+  %D%/header.am \
+  %D%/install.am \
+  %D%/inst-vars.am \
+  %D%/java.am \
+  %D%/lang-compile.am \
+  %D%/lex.am \
+  %D%/library.am \
+  %D%/libs.am \
+  %D%/libtool.am \
+  %D%/lisp.am \
+  %D%/ltlib.am \
+  %D%/ltlibrary.am \
+  %D%/mans-vars.am \
+  %D%/mans.am \
+  %D%/program.am \
+  %D%/progs.am \
+  %D%/python.am \
+  %D%/remake-hdr.am \
+  %D%/scripts.am \
+  %D%/subdirs.am \
+  %D%/tags.am \
+  %D%/texi-vers.am \
+  %D%/texibuild.am \
+  %D%/texinfos.am \
+  %D%/vala.am \
+  %D%/yacc.am
+
+# vim: ft=automake noet
diff --git a/lib/am/check.am b/lib/am/check.am
index b39395c..7012d5a 100644
--- a/lib/am/check.am
+++ b/lib/am/check.am
@@ -238,7 +238,7 @@ am__set_TESTS_bases = \
        $(MAKE) $(AM_MAKEFLAGS) $<
 
 # Leading 'am--fnord' is there to ensure the list of targets does not
-# exand to empty, as could happen e.g. with make check TESTS=''.
+# expand to empty, as could happen e.g. with make check TESTS=''.
 am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
 am--force-recheck:
        @:
diff --git a/lib/am/header-vars.am b/lib/am/header-vars.am
index 4b9cc04..1a6f28e 100644
--- a/lib/am/header-vars.am
+++ b/lib/am/header-vars.am
@@ -33,8 +33,7 @@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n 
'$(MAKELEVEL)'
 
 ## Shell code that determines whether the current make instance is
 ## running with a given one-letter option (e.g., -k, -n) that takes
-## no argument.  Actually, the only supported option at the moment
-## is '-n' (support for '-k' will be added soon).
+## no argument.
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -53,7 +52,7 @@ am__make_running_with_option = \
 ## brittle, but is the best we can do.
     case $$MAKEFLAGS in \
 ## If we run "make TESTS='snooze nap'", FreeBSD make will export MAKEFLAGS
-## to " TESTS=foo\ nap", so that the simpler loop below (on word-splitted
+## to " TESTS=foo\ nap", so that the simpler loop below (on word-split
 ## $$MAKEFLAGS) would see a "make flag" equal to "nap", and would wrongly
 ## misinterpret that as and indication that make is running in dry mode.
 ## This has already happened in practice.  So we need this hack.
@@ -111,7 +110,7 @@ am__make_dryrun = (target_option=n; 
$(am__make_running_with_option))
 
 ## Shell code that determines whether make is running in "keep-going mode"
 ## ("make -k") or not.  Useful in rules that must recursively descend into
-## subdirectories, and decide whther to stop at the first error or not.
+## subdirectories, and decide whether to stop at the first error or not.
 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 
 ## Some derived variables that have been found to be useful.
diff --git a/lib/am/library.am b/lib/am/library.am
index 2462984..c01d221 100644
--- a/lib/am/library.am
+++ b/lib/am/library.am
@@ -13,6 +13,7 @@
 
 ## You should have received a copy of the GNU General Public License
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
 %LIBRARY%: $(%XLIBRARY%_OBJECTS) $(%XLIBRARY%_DEPENDENCIES) 
$(EXTRA_%XLIBRARY%_DEPENDENCIES) %DIRSTAMP%
        %SILENT%-rm -f %LIBRARY%
        %VERBOSE%$(%XLIBRARY%_AR) %LIBRARY% $(%XLIBRARY%_OBJECTS) 
$(%XLIBRARY%_LIBADD)
diff --git a/lib/am/ltlibrary.am b/lib/am/ltlibrary.am
index 0c6f4c6..642d032 100644
--- a/lib/am/ltlibrary.am
+++ b/lib/am/ltlibrary.am
@@ -13,5 +13,6 @@
 
 ## You should have received a copy of the GNU General Public License
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
 %LTLIBRARY%: $(%XLTLIBRARY%_OBJECTS) $(%XLTLIBRARY%_DEPENDENCIES) 
$(EXTRA_%XLTLIBRARY%_DEPENDENCIES) %DIRSTAMP%
        %VERBOSE%$(%XLINK%) %RPATH% $(%XLTLIBRARY%_OBJECTS) 
$(%XLTLIBRARY%_LIBADD) $(LIBS)
diff --git a/lib/am/program.am b/lib/am/program.am
index c3b7962..131c4a9 100644
--- a/lib/am/program.am
+++ b/lib/am/program.am
@@ -13,6 +13,7 @@
 
 ## You should have received a copy of the GNU General Public License
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
 %PROGRAM%%EXEEXT%: $(%XPROGRAM%_OBJECTS) $(%XPROGRAM%_DEPENDENCIES) 
$(EXTRA_%XPROGRAM%_DEPENDENCIES) %DIRSTAMP%
 ## Remove program before linking.  Otherwise the link will fail if the
 ## program is running somewhere.  FIXME: this could be a loss if
diff --git a/lib/am/remake-hdr.am b/lib/am/remake-hdr.am
index f2a203f..979427d 100644
--- a/lib/am/remake-hdr.am
+++ b/lib/am/remake-hdr.am
@@ -15,9 +15,9 @@
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 %CONFIG_H%: %STAMP%
-## Recover from removal of CONFIG_HEADER
-       @if test ! -f $@; then rm -f %STAMP%; else :; fi
-       @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) %STAMP%; else :; fi
+## Recover from removal of CONFIG_HEADER.
+       @test -f $@ || rm -f %STAMP%
+       @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) %STAMP%
 
 
 %STAMP%: %CONFIG_H_DEPS% $(top_builddir)/config.status
diff --git a/m4/Makefile.inc b/m4/Makefile.inc
new file mode 100644
index 0000000..ac7067d
--- /dev/null
+++ b/m4/Makefile.inc
@@ -0,0 +1,77 @@
+## Included by top-level Makefile for Automake.
+
+## Copyright (C) 1995-2013 Free Software Foundation, Inc.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+## ------------------------------ ##
+##  Automake-provided m4 macros.  ##
+## ------------------------------ ##
+
+system_acdir = @system_acdir@
+automake_acdir = @automake_acdir@
+
+dist_automake_ac_DATA = \
+  %D%/amversion.m4 \
+  %D%/ar-lib.m4 \
+  %D%/as.m4 \
+  %D%/auxdir.m4 \
+  %D%/cond.m4 \
+  %D%/cond-if.m4 \
+  %D%/depend.m4 \
+  %D%/depout.m4 \
+  %D%/dmalloc.m4 \
+  %D%/extra-recurs.m4 \
+  %D%/gcj.m4 \
+  %D%/init.m4 \
+  %D%/install-sh.m4 \
+  %D%/lex.m4 \
+  %D%/lispdir.m4 \
+  %D%/maintainer.m4 \
+  %D%/make.m4 \
+  %D%/minuso.m4 \
+  %D%/missing.m4 \
+  %D%/obsolete.m4 \
+  %D%/options.m4 \
+  %D%/python.m4 \
+  %D%/runlog.m4 \
+  %D%/sanity.m4 \
+  %D%/silent.m4 \
+  %D%/strip.m4 \
+  %D%/substnot.m4 \
+  %D%/tar.m4 \
+  %D%/upc.m4 \
+  %D%/vala.m4
+
+dist_system_ac_DATA = %D%/acdir/README
+
+automake_internal_acdir = $(automake_acdir)/internal
+dist_automake_internal_ac_DATA = %D%/internal/ac-config-macro-dirs.m4
+
+# We build amversion.m4 here, instead of from config.status,
+# because config.status is rerun each time one of configure's
+# dependencies change and amversion.m4 happens to be a configure
+# dependency.  configure and amversion.m4 would be rebuilt in
+# loop otherwise.
+# Use '$(top_srcdir)' for the benefit of non-GNU makes: this is
+# how amversion.m4 appears in our dependencies.
+$(top_srcdir)/%D%/amversion.m4: $(srcdir)/configure.ac \
+                                $(srcdir)/%D%/amversion.in
+       $(AM_V_at)rm -f address@hidden $@
+       $(AM_V_GEN)in=amversion.in \
+         && $(do_subst) <$(srcdir)/%D%/amversion.in >address@hidden
+       $(generated_file_finalize)
+EXTRA_DIST += %D%/amversion.in
+
+# vim: ft=automake noet
diff --git a/maintainer/rename-tests b/maintainer/rename-tests
index a584748..28963fa 100755
--- a/maintainer/rename-tests
+++ b/maintainer/rename-tests
@@ -30,7 +30,7 @@ esac
 AWK=${AWK-awk}
 SED=${SED-sed}
 
-[[ -f automake.in && -d lib/Automake ]] \
+[[ -f bin/automake.in && -d lib/Automake ]] \
   || fatal "can only be run from the top-level of the Automake source tree"
 
 $SED --version 2>&1 | grep GNU >/dev/null 2>&1 \
diff --git a/maintainer/syntax-checks.mk b/maintainer/syntax-checks.mk
index 6614820..6cfa603 100644
--- a/maintainer/syntax-checks.mk
+++ b/maintainer/syntax-checks.mk
@@ -85,17 +85,19 @@ sc_at_in_texi
 ## aclocal.
 automake_diff_no = 7
 aclocal_diff_no = 9
+sc_diff_automake sc_diff_aclocal: in=$($*_in)
+sc_diff_automake sc_diff_aclocal: out=$($*_script)
 sc_diff_automake sc_diff_aclocal: sc_diff_% :
        @set +e; \
        in=$*-in.tmp out=$*-out.tmp diffs=$*-diffs.tmp \
-         && sed '/^#!.*[pP]rototypes/d' $(srcdir)/$*.in > $$in \
-         && sed '/^# BEGIN.* PROTO/,/^# END.* PROTO/d' $* > $$out \
+         && sed '/^#!.*[pP]rototypes/d' $(in) > $$in \
+         && sed '/^# BEGIN.* PROTO/,/^# END.* PROTO/d' $(out) > $$out \
          && { diff -u $$in $$out > $$diffs; test $$? -eq 1; } \
          && added=`grep -v '^+++ ' $$diffs | grep -c '^+'` \
          && removed=`grep -v '^--- ' $$diffs | grep -c '^-'` \
          && test $$added,$$removed = $($*_diff_no),$($*_diff_no) \
          || { \
-           echo "Found unexpected diffs between $*.in and $*"; \
+           echo "Found unexpected diffs between $(in) and $(out)"; \
            echo "Lines added:   $$added"  ; \
            echo "Lines removed: $$removed"; \
            cat $$diffs; \
@@ -150,22 +152,22 @@ sc_pre_normal_post_install_uninstall:
 
 ## We never want to use "undef", only "delete", but for $/.
 sc_perl_no_undef:
-       @if grep -n -w 'undef ' $(srcdir)/automake.in | \
+       @if grep -n -w 'undef ' $(automake_in) | \
              grep -F -v 'undef $$/'; then \
-         echo "Found undef in automake.in; use delete instead" 1>&2; \
+         echo "Found 'undef' in the lines above; use 'delete' instead" 1>&2; \
          exit 1; \
        fi
 
 ## We never want split (/ /,...), only split (' ', ...).
 sc_perl_no_split_regex_space:
-       @if grep -n 'split (/ /' $(srcdir)/automake.in; then \
+       @if grep -n 'split (/ /' $(automake_in) $(acloca_in); then \
          echo "Found bad split in the lines above." 1>&2; \
          exit 1; \
        fi
 
 ## Look for cd within backquotes
 sc_cd_in_backquotes:
-       @if grep -n '^[^#]*` *cd ' $(srcdir)/automake.in $(ams); then \
+       @if grep -n '^[^#]*` *cd ' $(automake_in) $(ams); then \
          echo "Consider using \$$(am__cd) in the lines above." 1>&2; \
          exit 1; \
        fi
@@ -173,7 +175,7 @@ sc_cd_in_backquotes:
 ## Look for cd to a relative directory (may be influenced by CDPATH).
 ## Skip some known directories that are OK.
 sc_cd_relative_dir:
-       @if grep -n '^[^#]*cd ' $(srcdir)/automake.in $(ams) | \
+       @if grep -n '^[^#]*cd ' $(automake_in) $(ams) | \
              grep -v 'echo.*cd ' | \
              grep -v 'am__cd =' | \
              grep -v '^[^#]*cd [./]' | \
@@ -187,22 +189,24 @@ sc_cd_relative_dir:
 
 ## Using @_ in a scalar context is most probably a programming error.
 sc_perl_at_uscore_in_scalar_context:
-       @if grep -Hn 'address@hidden) ] *= address@hidden' 
$(srcdir)/automake.in; then \
+       @if grep -Hn 'address@hidden) ] *= address@hidden' \
+           $(automake_in) $(aclocal_in); then \
          echo "Using @_ in a scalar context in the lines above." 1>&2; \
          exit 1; \
        fi
 
-## Allow only few variables to be localized in Automake.
+## Allow only few variables to be localized in automake and aclocal.
 sc_perl_local:
-       @if egrep -v '^[ \t]*local \$$[_~]( *=|;)' $(srcdir)/automake.in | \
-               grep '^[ \t]*local [^*]'; then \
+       @if egrep -v '^[ \t]*local \$$[_~]( *=|;)' \
+             $(automake_in) $(aclocal_in) | \
+           grep '^[ \t]*local [^*]'; then \
          echo "Please avoid 'local'." 1>&2; \
          exit 1; \
        fi
 
 ## Don't let AMDEP_TRUE substitution appear in automake.in.
 sc_AMDEP_TRUE_in_automake_in:
-       @if grep '@AMDEP''_TRUE@' $(srcdir)/automake.in; then \
+       @if grep '@AMDEP''_TRUE@' $(automake_in); then \
          echo "Don't put AMDEP_TRUE substitution in automake.in" 1>&2; \
          exit 1; \
        fi
@@ -210,7 +214,7 @@ sc_AMDEP_TRUE_in_automake_in:
 ## Recursive make invocations should always pass $(AM_MAKEFLAGS)
 ## to $(MAKE), for portability to non-GNU make.
 sc_tests_make_without_am_makeflags:
-       @if grep '^[^#].*(MAKE) ' $(ams) $(srcdir)/automake.in \
+       @if grep '^[^#].*(MAKE) ' $(ams) $(automake_in) \
            | grep -v 'AM_MAKEFLAGS' \
            | grep -v '/am/header-vars\.am:.*am--echo.*| $$(MAKE) -f *-'; \
        then \
@@ -528,7 +532,7 @@ sc_at_in_texi:
          exit 1; \
        fi
 
-$(syntax_check_rules): automake aclocal
+$(syntax_check_rules): bin/automake bin/aclocal
 maintainer-check: $(syntax_check_rules)
 .PHONY: maintainer-check $(syntax_check_rules)
 
diff --git a/t/Makefile.inc b/t/Makefile.inc
new file mode 100644
index 0000000..18a57c2
--- /dev/null
+++ b/t/Makefile.inc
@@ -0,0 +1,274 @@
+## Included by top-level Makefile for Automake.
+
+## Copyright (C) 1995-2013 Free Software Foundation, Inc.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+## ------------ ##
+##  Testsuite.  ##
+## ------------ ##
+
+# Run the tests with a proper shell detected at configure time.
+LOG_COMPILER = $(AM_TEST_RUNNER_SHELL)
+
+TEST_EXTENSIONS = .pl .sh .tap
+SH_LOG_COMPILER = $(LOG_COMPILER)
+TAP_LOG_COMPILER = $(LOG_COMPILER)
+PL_LOG_COMPILER = $(PERL)
+AM_PL_LOG_FLAGS = -Mstrict -I $(builddir)/lib -I $(srcdir)/lib -w
+
+TAP_LOG_DRIVER = AM_TAP_AWK='$(AWK)' $(SHELL) $(srcdir)/lib/tap-driver.sh
+
+AM_TAP_LOG_DRIVER_FLAGS = --merge
+
+EXTRA_DIST += %D%/README %D%/ax/is %D%/ax/is_newest
+
+## Will be updated later.
+TESTS =
+
+# Some testsuite-influential variables should be overridable from the
+# test scripts, but not from the environment.
+# Keep this in sync with the similar list in ax/runtest.in.
+AM_TESTS_ENVIRONMENT = \
+  for v in \
+    required \
+    am_test_protocol \
+    am_serial_tests \
+    am_test_prefer_config_shell \
+    am_original_AUTOMAKE \
+    am_original_ACLOCAL \
+    am_test_lib_sourced \
+    test_lib_sourced \
+  ; do \
+    eval test x"\$${$$v}" = x || unset $$v; \
+  done;
+# We want warning messages and explanations for skipped tests to go to
+# the console if possible, so set up 'stderr_fileno_' properly.
+AM_TESTS_FD_REDIRECT = 9>&2
+AM_TESTS_ENVIRONMENT += stderr_fileno_=9; export stderr_fileno_;
+
+# For sourcing of extra "shell libraries" by our test scripts.  As per
+# POSIX, sourcing a file with '.' will cause it to be looked up in $PATH
+# in case it is given with a relative name containing no slashes.
+AM_TESTS_ENVIRONMENT += \
+  if test $(srcdir) != .; then \
+    PATH='$(abs_srcdir)/%D%/ax'$(PATH_SEPARATOR)$$PATH; \
+  fi; \
+  PATH='$(abs_builddir)/%D%/ax'$(PATH_SEPARATOR)$$PATH; \
+  export PATH;
+
+# Hand-written tests.
+
+include $(srcdir)/%D%/list-of-tests.mk
+
+TESTS += $(handwritten_TESTS)
+EXTRA_DIST += $(handwritten_TESTS)
+
+# Automatically-generated tests wrapping hand-written ones.
+# Also, automatically-computed dependencies for tests.
+
+include $(srcdir)/%D%/testsuite-part.am
+
+TESTS += $(generated_TESTS)
+EXTRA_DIST += $(generated_TESTS)
+
+$(srcdir)/%D%/testsuite-part.am:
+       $(AM_V_at)rm -f %D%/testsuite-part.tmp $@
+       $(AM_V_GEN)$(PERL) $(srcdir)/gen-testsuite-part \
+         --srcdir $(srcdir) > %D%/testsuite-part.tmp
+       $(AM_V_at)chmod a-w %D%/testsuite-part.tmp
+       $(AM_V_at)mv -f %D%/testsuite-part.tmp $@
+EXTRA_DIST += gen-testsuite-part
+
+# The dependecies declared here are not truly complete, but such
+# completeness would cause more issues than it would solve.  See
+# automake bug#11347.
+$(generated_TESTS): $(srcdir)/gen-testsuite-part
+$(srcdir)/%D%/testsuite-part.am: $(srcdir)/gen-testsuite-part
+$(srcdir)/%D%/testsuite-part.am: Makefile.am
+
+# Hand-written tests for stuff in 'contrib/'.
+include $(srcdir)/contrib/%D%/Makefile.inc
+TESTS += $(contrib_TESTS)
+EXTRA_DIST += $(contrib_TESTS)
+
+# Static dependencies valid for each test case (also further
+# extended later).  Note that use 'noinst_' rather than 'check_'
+# as the prefix, because we really want them to be built by
+# "make all".  This makes it easier to run the test cases by
+# hand after having simply configured and built the package.
+
+nodist_noinst_SCRIPTS += \
+  %D%/wrap/aclocal-$(APIVERSION) \
+  %D%/wrap/automake-$(APIVERSION)
+
+dist_noinst_DATA += \
+  %D%/ax/test-init.sh \
+  %D%/ax/test-lib.sh \
+  %D%/ax/am-test-lib.sh \
+  %D%/ax/tap-functions.sh
+
+# Few more static dependencies.
+%D%/distcheck-missing-m4.log: %D%/ax/distcheck-hook-m4.am
+%D%/distcheck-outdated-m4.log: %D%/ax/distcheck-hook-m4.am
+EXTRA_DIST += %D%/ax/distcheck-hook-m4.am
+
+%D%/ax/test-defs.sh: %D%/ax/test-defs.in Makefile
+       $(AM_V_at)rm -f $@ address@hidden
+       $(AM_V_at)$(MKDIR_P) %D%/ax
+       $(AM_V_GEN)in=%D%/ax/test-defs.in \
+         && $(do_subst) <$(srcdir)/$$in >address@hidden
+       $(generated_file_finalize)
+EXTRA_DIST += %D%/ax/test-defs.in
+CLEANFILES += %D%/ax/test-defs.sh
+nodist_noinst_DATA += %D%/ax/test-defs.sh
+
+%D%/ax/shell-no-trail-bslash: %D%/ax/shell-no-trail-bslash.in Makefile
+       $(AM_V_at)rm -f $@ address@hidden
+       $(AM_V_GEN)in=%D%/ax/shell-no-trail-bslash.in \
+         && $(MKDIR_P) %D%/ax \
+         && $(do_subst) <$(srcdir)/$$in >address@hidden \
+         && chmod a+x address@hidden
+       $(generated_file_finalize)
+EXTRA_DIST += %D%/ax/shell-no-trail-bslash.in
+CLEANFILES += %D%/ax/shell-no-trail-bslash
+nodist_noinst_SCRIPTS += %D%/ax/shell-no-trail-bslash
+
+%D%/ax/cc-no-c-o: %D%/ax/cc-no-c-o.in Makefile
+       $(AM_V_at)rm -f $@ address@hidden
+       $(AM_V_GEN)in=%D%/ax/cc-no-c-o.in \
+         && $(MKDIR_P) %D%/ax \
+         && $(do_subst) <$(srcdir)/$$in >address@hidden \
+         && chmod a+x address@hidden
+       $(generated_file_finalize)
+EXTRA_DIST += %D%/ax/cc-no-c-o.in
+CLEANFILES += %D%/ax/cc-no-c-o
+nodist_noinst_SCRIPTS += %D%/ax/cc-no-c-o
+
+runtest: %D%/ax/runtest.in Makefile
+       $(AM_V_at)rm -f $@ address@hidden
+       $(AM_V_GEN)in=%D%/ax/runtest.in \
+         && $(MKDIR_P) %D%/ax \
+         && $(do_subst) <$(srcdir)/$$in >address@hidden \
+         && chmod a+x address@hidden
+       $(generated_file_finalize)
+EXTRA_DIST += %D%/ax/runtest.in
+CLEANFILES += runtest
+nodist_noinst_SCRIPTS += runtest
+
+# If two test scripts have the same basename, they will end up sharing
+# the same log file, leading to all sort of undefined and undesired
+# behaviours.
+check-no-repeated-test-name:
+       @LC_ALL=C; export LC_ALL; \
+        lst='$(TEST_LOGS)'; for log in $$lst; do echo $$log; done \
+          | sort | uniq -c | awk '($$1 > 1) { print }' \
+          | sed 's/\.log$$//' | grep . >&2 \
+          && { \
+            echo $@: test names listed above are duplicated >&2; \
+            exit 1; \
+          }; :
+check-local: check-no-repeated-test-name
+.PHONY: check-no-repeated-test-name
+
+# Check that our test cases are syntactically correct.
+# See automake bug#11898.
+check-tests-syntax:
+       @st=0; \
+       err () { echo "$@: $$*" >&2; st=1; }; \
+## The user might do something like "make check TESTS=t/foo" or
+## "make check TESTS_LOGS=t/foo.log" and expect (say) the test
+## 't/foo.sh' to be run; this has worked well until today, and
+## we want to continue supporting this use case.
+       bases=`for log in : $(TEST_LOGS); do echo $$log; done \
+         | sed -e '/^:$$/d' -e 's/\.log$$//'`; \
+       for bas in $$bases; do \
+         for suf in sh tap pl; do \
+           tst=$$bas.$$suf; \
+## Emulate VPATH search.
+           if test -f $$tst; then \
+             break; \
+           elif test -f $(srcdir)/$$tst; then \
+             tst=$(srcdir)/$$tst; \
+             break; \
+           else \
+             tst=''; \
+           fi; \
+         done; \
+         test -n "$$tst" || err "couldn't find test '$$bas'"; \
+## Don't check that perl tests are valid shell scripts!
+         test $$suf = pl && continue; \
+         $(AM_V_P) && echo " $(AM_TEST_RUNNER_SHELL) -n $$tst"; \
+         $(AM_TEST_RUNNER_SHELL) -n "$$tst" \
+           || err "test '$$tst' syntactically invalid"; \
+       done; \
+       exit $$st
+check-local: check-tests-syntax
+.PHONY: check-tests-syntax
+
+# Recipes with a trailing backslash character (possibly followed by
+# blank characters only) can cause spurious syntax errors with at
+# least older bash versions (e.g., bash 2.05b), and can be potentially
+# be unportable to other weaker shells.  Run the testsuite in a way
+# that helps catching such problems in Automake-generated recipes.
+# See automake bug#10436.
+check-no-trailing-backslash-in-recipes:
+       $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) check \
+         CONFIG_SHELL='$(abs_top_builddir)/%D%/ax/shell-no-trail-bslash'
+.PHONY: check-no-trailing-backslash-in-recipes
+
+# Some compilers out there (hello, MSVC) still choke on "-c -o" being
+# passed together on the command line.  Run the whole testsuite faking
+# the presence of such a compiler, to help catch regressions that would
+# otherwise only present themselves later "in the wild".  See also the
+# long discussion about automake bug#13378.
+check-cc-no-c-o:
+       $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) check \
+         CC='$(abs_top_builddir)/%D%/ax/cc-no-c-o' \
+         GNU_CC='$(abs_top_builddir)/%D%/ax/cc-no-c-o'
+.PHONY: check-cc-no-c-o
+
+## Checking the list of tests.
+test_subdirs = %D% %D%/pm contrib/%D%
+include %D%/CheckListOfTests.am
+
+# Run the testsuite with the installed aclocal and automake.
+installcheck-local: installcheck-testsuite
+installcheck-testsuite:
+       am_running_installcheck=yes $(MAKE) $(AM_MAKEFLAGS) check
+
+# Performance tests.
+.PHONY: perf
+perf: all
+       $(MAKE) $(AM_MAKEFLAGS) TEST_SUITE_LOG='$(PERF_TEST_SUITE_LOG)' \
+                               TESTS='$(perf_TESTS)' check
+PERF_TEST_SUITE_LOG = %D%/perf/test-suite.log
+CLEANFILES += $(PERF_TEST_SUITE_LOG)
+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='%D%/*.dir %D%/*/*.dir */%D%/*.dir */%D%/*/*.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
+
+# vim: ft=automake noet
diff --git a/t/ax/tap-setup.sh b/t/ax/tap-setup.sh
index 6955c86..3c992a3 100644
--- a/t/ax/tap-setup.sh
+++ b/t/ax/tap-setup.sh
@@ -22,7 +22,7 @@
 
 # Check that we are running from a proper directory: last thing we want
 # is to overwrite some random user files.
-test -f ../../automake && test -f ../../runtest && test -d ../../t \
+test -f ../../bin/automake && test -f ../../runtest && test -d ../../t \
   || fatal_ "running from a wrong directory"
 
 test ! -f Makefile.am || mv Makefile.am Makefile.am~ \
diff --git a/t/wrap/aclocal.in b/t/wrap/aclocal.in
index 3e60eb0..cdcae1a 100644
--- a/t/wrap/aclocal.in
+++ b/t/wrap/aclocal.in
@@ -26,4 +26,4 @@ BEGIN
     'address@hidden@/m4',
     'address@hidden@/m4/acdir';
 }
-require '@abs_top_builddir@/aclocal';
+require '@abs_top_builddir@/bin/aclocal';
diff --git a/t/wrap/automake.in b/t/wrap/automake.in
index bc6eab6..cf18d7b 100644
--- a/t/wrap/automake.in
+++ b/t/wrap/automake.in
@@ -24,4 +24,4 @@ BEGIN
     if '@srcdir@' ne '.';
   unshift @ARGV, 'address@hidden@/lib';
 }
-require '@abs_top_builddir@/automake';
+require '@abs_top_builddir@/bin/automake';


hooks/post-receive
-- 
GNU Automake



reply via email to

[Prev in Thread] Current Thread [Next in Thread]