## Makefile for Automake.
-# Copyright (C) 1995-2012 Free Software Foundation, Inc.
+# 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
$(AUTOMAKESOURCES) \
bootstrap.sh \
GNUmakefile \
- maint.mk \
- syntax-checks.mk \
- HACKING
+ HACKING \
+ PLANS
-## 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.
+# 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)'`"; \
+ f=`echo $$p | sed '$(transform)'`; \
fv="$$f-$(APIVERSION)"; \
rm -f "$(DESTDIR)$(bindir)/$$fv"; \
echo " $(LN) '$(DESTDIR)$(bindir)/$$f' '$(DESTDIR)$(bindir)/$$fv'"; \
uninstall-hook:
@for p in $(bin_SCRIPTS); do \
- f="`echo $$p|sed '$(transform)'`"; \
+ 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.
+# 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
- $(AM_V_at)rm -f $@ $@-t
- $(AM_V_GEN)in=$@.in; $(do_subst) <$(srcdir)/$@.in >$@-t
+automake aclocal: Makefile lib/gen-perl-protos
+ $(AM_V_GEN)rm -f $@ $@-t $@-t2 \
+## Common substitutions.
+ && in=$@.in && $(do_subst) <$(srcdir)/$$in >$@-t \
+## Auto-compute prototypes of perl subroutines.
+ && $(PERL) -w $(srcdir)/lib/gen-perl-protos $@-t > $@-t2 \
+ && mv -f $@-t2 $@-t \
## We can't use '$(generated_file_finalize)' here, because currently
## Automake contains occurrences of unexpanded @substitutions@ in
## comments, and that is perfectly legit.
- $(AM_V_at)chmod a+x,a-w $@-t && mv -f $@-t $@
+ && chmod a+x,a-w $@-t && mv -f $@-t $@
+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.
+# The master location for INSTALL is lib/INSTALL.
+# This is where "make fetch" will install new versions.
+# Make sure we also update this copy.
INSTALL: lib/INSTALL
$(AM_V_GEN)cp $(srcdir)/lib/INSTALL $@
maintainer-clean-local:
rm -rf .autom4te.cache
+# So that automake won't complain about the missing ChangeLog.
+# The real rule for ChangeLog generation is now in maintainer/maint.mk
+# (as it is maintainer-specific).
+ChangeLog:
+
## -------------------------------------------------------------------- ##
## Auxiliary scripts and files for use with "automake --add-missing". ##
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.
+# 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/mdate-sh \
lib/missing \
lib/mkinstalldirs \
- lib/elisp-comp \
lib/ylwrap \
lib/depcomp \
lib/compile \
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 \
m4/ar-lib.m4 \
m4/as.m4 \
m4/auxdir.m4 \
- m4/ccstdc.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/header.m4 \
m4/init.m4 \
m4/install-sh.m4 \
m4/lead-dot.m4 \
m4/minuso.m4 \
m4/missing.m4 \
m4/mkdirp.m4 \
- m4/obsol-gt.m4 \
- m4/obsol-lt.m4 \
m4/obsolete.m4 \
m4/options.m4 \
- m4/protos.m4 \
m4/python.m4 \
m4/runlog.m4 \
m4/sanity.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,
EXTRA_DIST += t/README t/ax/is t/ax/is_newest
-TESTS = ## Will be updated later.
+## 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 'runtest.in'.
+# Keep this in sync with the similar list in 't/ax/runtest.in'.
AM_TESTS_ENVIRONMENT = \
for v in \
required \
$(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.
+# 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
CLEANFILES += t/ax/test-defs.sh
nodist_noinst_DATA = t/ax/test-defs.sh
-noinst_SCRIPTS = # Will be updated soon.
+## 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 $@ $@-t
CLEANFILES += t/ax/shell-no-trail-bslash
noinst_SCRIPTS += t/ax/shell-no-trail-bslash
-runtest: runtest.in Makefile
+t/ax/cc-no-c-o: t/ax/cc-no-c-o.in Makefile
+ $(AM_V_at)rm -f $@ $@-t
+ $(AM_V_GEN)in=t/ax/cc-no-c-o.in \
+ && $(MKDIR_P) t/ax \
+ && $(do_subst) <$(srcdir)/$$in >$@-t \
+ && chmod a+x $@-t
+ $(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 $@ $@-t
- $(AM_V_GEN)in=runtest.in \
+ $(AM_V_GEN)in=t/ax/runtest.in \
&& $(MKDIR_P) t/ax \
- && $(do_subst) <$(srcdir)/runtest.in >$@-t \
+ && $(do_subst) <$(srcdir)/$$in >$@-t \
&& chmod a+x $@-t
$(generated_file_finalize)
-EXTRA_DIST += runtest.in
+EXTRA_DIST += t/ax/runtest.in
CLEANFILES += runtest
noinst_SCRIPTS += runtest
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
+test_subdirs = t t/pm contrib/t
include $(srcdir)/t/CheckListOfTests.am
# Run the testsuite with the installed aclocal and automake.
clean-local: clean-local-check
.PHONY: clean-local-check
clean-local-check:
- -set x t/*.dir; shift; \
- if test "$$#,$$1" = "1,*.dir"; then \
- : there is no test directory to clean; \
- else \
- find "$$@" -type d ! -perm -700 -exec chmod u+rwx {} ';'; \
- rm -rf "$$@"; \
- fi;
+## 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
## ---------------- ##
# 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): \
+ $(AM_V_GEN)tmp=amhello-output.tmp \
&& PATH="$(abs_top_builddir)/t/wrap$(PATH_SEPARATOR)$$PATH" \
&& export PATH \
&& $(am__cd) $(srcdir)/doc/amhello \
&& AUTORECONF='$(am_AUTORECONF)' && export AUTORECONF \
&& AUTOHEADER='$(am_AUTOHEADER)' && export AUTOHEADER \
&& AUTOUPDATE='$(am_AUTOUPDATE)' && export AUTOUPDATE \
- && $(am_AUTORECONF) -vfi \
- && ./configure \
- && $(MAKE) $(AM_MAKEFLAGS) distcheck \
- && $(MAKE) $(AM_MAKEFLAGS) distclean \
- && rm -rf $(amhello_configury) \
+ && ( \
+ { $(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 ..
old/ChangeLog.09 \
old/ChangeLog.11 \
old/TODO
+
+## ---------------------------------------- ##
+## Maintainer-specific files and scripts. ##
+## ---------------------------------------- ##
+
+EXTRA_DIST += \
+ maintainer/am-ft \
+ maintainer/am-xft \
+ maintainer/rename-tests \
+ maintainer/maint.mk \
+ maintainer/syntax-checks.mk