summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorStefano Lattarini <stefano.lattarini@gmail.com>2012-01-01 19:20:04 +0100
committerStefano Lattarini <stefano.lattarini@gmail.com>2012-01-01 19:20:04 +0100
commit01fef4ae9e0ea43fba4a5cc836ad42f45805c6b8 (patch)
treef0fe39be623a2888207ec783d92d3e479cf08e3c /doc
parent4f3e5b5c883fb2cf867e9d7734690a283a1165ee (diff)
parent280407599a72f8229c7b89d64b703e2dbc94cc87 (diff)
downloadautomake-01fef4ae9e0ea43fba4a5cc836ad42f45805c6b8.tar.gz
Merge branch 'maint' into msvc
* maint: tests: make 'lzip.test' executable dist: obsolete support for lzma (superseded by xz and lzip) test defs: more granular overriding of the make program docs: fix a couple broken anchors dist: add support for lzip compression docs: fix paragraph names for automake and aclocal invocations tests: fix spurious failure due to autom4te caching fix: last entry in ChangeLog tests: tweak tests on silent-rules for makes without nested vars silent-rules: fallback for makes without nested vars
Diffstat (limited to 'doc')
-rw-r--r--doc/automake.texi86
1 files changed, 55 insertions, 31 deletions
diff --git a/doc/automake.texi b/doc/automake.texi
index e6dd2cfc2..bc19ad0b1 100644
--- a/doc/automake.texi
+++ b/doc/automake.texi
@@ -45,8 +45,8 @@ section entitled ``GNU Free Documentation License.''
@dircategory Individual utilities
@direntry
-* aclocal-invocation: (automake)Invoking aclocal. Generating aclocal.m4.
-* automake-invocation: (automake)Invoking Automake. Generating Makefile.in.
+* aclocal-invocation: (automake)aclocal Invocation. Generating aclocal.m4.
+* automake-invocation: (automake)automake Invocation. Generating Makefile.in.
@end direntry
@titlepage
@@ -99,7 +99,7 @@ section entitled ``GNU Free Documentation License.''
* Autotools Introduction:: An Introduction to the Autotools
* Generalities:: General ideas
* Examples:: Some example packages
-* Invoking Automake:: Creating a Makefile.in
+* automake Invocation:: Creating a Makefile.in
* configure:: Scanning configure.ac, using aclocal
* Directories:: Declaring subdirectories
* Programs:: Building programs and libraries
@@ -178,7 +178,7 @@ Scanning @file{configure.ac}, using @command{aclocal}
* Requirements:: Configuration requirements
* Optional:: Other things Automake recognizes
-* Invoking aclocal:: Auto-generating aclocal.m4
+* aclocal Invocation:: Auto-generating aclocal.m4
* Macros:: Autoconf macros supplied with Automake
Auto-generating aclocal.m4
@@ -2500,13 +2500,17 @@ with different flags. In this instance, the names of the object files
would be chosen by automake; they would be @file{false-true.o} and
@file{true-true.o}. (The name of the object files rarely matters.)
-
-@node Invoking Automake
+@node automake Invocation
@chapter Creating a @file{Makefile.in}
+@c This node used to be named "Invoking automake". This @anchor
+@c allows old links to still work.
+@anchor{Invoking automake}
@cindex Multiple @file{configure.ac} files
@cindex Invoking @command{automake}
@cindex @command{automake}, invoking
+@cindex Invocation of @command{automake}
+@cindex @command{automake}, invocation
To create all the @file{Makefile.in}s for a package, run the
@command{automake} program in the top level directory, with no
@@ -2746,7 +2750,7 @@ easier. These macros can automatically be put into your
@menu
* Requirements:: Configuration requirements
* Optional:: Other things Automake recognizes
-* Invoking aclocal:: Auto-generating aclocal.m4
+* aclocal Invocation:: Auto-generating aclocal.m4
* Macros:: Autoconf macros supplied with Automake
@end menu
@@ -3116,16 +3120,19 @@ appear as dependencies in @file{Makefile} rules.
@code{m4_include} is seldom used by @file{configure.ac} authors, but
can appear in @file{aclocal.m4} when @command{aclocal} detects that
-some required macros come from files local to your package (as opposed
-to macros installed in a system-wide directory, @pxref{Invoking
-aclocal}).
+some required macros come from files local to your package (as opposed to
+macros installed in a system-wide directory, @pxref{aclocal Invocation}).
@end ftable
-
-@node Invoking aclocal
+@node aclocal Invocation
@section Auto-generating aclocal.m4
+@c This node used to be named "Invoking automake". This @anchor
+@c allows old links to still work.
+@anchor{Invoking aclocal}
+@cindex Invocation of @command{aclocal}
+@cindex @command{aclocal}, Invocation
@cindex Invoking @command{aclocal}
@cindex @command{aclocal}, Invoking
@@ -3308,7 +3315,7 @@ All warnings are output by default.
@vindex WARNINGS
The environment variable @env{WARNINGS} is honored in the same
-way as it is for @command{automake} (@pxref{Invoking Automake}).
+way as it is for @command{automake} (@pxref{automake Invocation}).
@end table
@@ -8688,11 +8695,16 @@ environment variable. For example, @samp{make dist-bzip2 BZIP2=-7}.
Generate a gzip tar archive of the distribution.
@trindex dist-gzip
-@item @code{dist-lzma}
-Generate an @samp{lzma} tar archive of the distribution. @command{lzma}
+@item @code{dist-lzip}
+Generate a @samp{lzip} tar archive of the distribution. @command{lzip}
archives are frequently smaller than @command{bzip2}-compressed archives.
+@trindex dist-lzip
+
+@item @code{dist-lzma}
+Generate an @samp{lzma} tar archive of the distribution.
The @samp{lzma} format is obsolete, you should use the @samp{xz} format
-instead.
+instead. @emph{Support for @samp{lzma}-compressed archives will be
+removed in the next major Automake release.}
@trindex dist-lzma
@item @code{dist-shar}
@@ -9300,6 +9312,12 @@ Cause @command{dejagnu}-specific rules to be generated. @xref{DejaGnu Tests}.
Hook @code{dist-bzip2} to @code{dist}.
@trindex dist-bzip2
+@item @option{dist-lzip}
+@cindex Option, @option{dist-lzip}
+@opindex dist-lzip
+Hook @code{dist-lzip} to @code{dist}.
+@trindex dist-lzip
+
@item @option{dist-lzma}
@cindex Option, @option{dist-lzma}
@opindex dist-lzma
@@ -9500,7 +9518,8 @@ In order to use this option with C sources, you should add
These three mutually exclusive options select the tar format to use
when generating tarballs with @samp{make dist}. (The tar file created
is then compressed according to the set of @option{no-dist-gzip},
-@option{dist-bzip2}, @option{dist-xz} and @option{dist-tarZ} options in use.)
+@option{dist-bzip2}, @option{dist-lzip}, @option{dist-xz} and
+@option{dist-tarZ} options in use.)
These options must be passed as arguments to @code{AM_INIT_AUTOMAKE}
(@pxref{Macros}) because they can require additional configure checks.
@@ -9552,7 +9571,7 @@ will be suppressed.
@cindex Option, @option{-W@var{category}}
@cindex Option, @option{--warnings=@var{category}}
These options behave exactly like their command-line counterpart
-(@pxref{Invoking Automake}). This allows you to enable or disable some
+(@pxref{automake Invocation}). This allows you to enable or disable some
warning categories on a per-file basis. You can also setup some warnings
for your entire project; for instance, try @samp{AM_INIT_AUTOMAKE([-Wall])}
in your @file{configure.ac}.
@@ -10160,18 +10179,23 @@ For portability to different @command{make} implementations, package authors
are advised to not set the variable @code{V} inside the @file{Makefile.am}
file, to allow the user to override the value for subdirectories as well.
-The current implementation of this feature relies on a non-POSIX, but in
-practice rather widely supported @file{Makefile} construct of nested
-variable expansion @samp{$(@var{var1}$(V))}. Do not use the
-@option{silent-rules} option if your package needs to build with
-@command{make} implementations that do not support it. The
-@option{silent-rules} option turns off warnings about recursive variable
-expansion, which are in turn enabled by @option{-Wportability}
-(@pxref{Invoking Automake}).
+The current implementation of this feature normally uses nested
+variable expansion @samp{$(@var{var1}$(V))}, a @file{Makefile} feature
+that is not required by POSIX 2008 but is widely supported in
+practice. The @option{silent-rules} option thus turns off warnings
+about recursive variable expansion, which are in turn enabled by
+@option{-Wportability} (@pxref{automake Invocation}). On the rare
+@command{make} implementations that do not support nested variable
+expansion, whether rules are silent is always determined at configure
+time, and cannot be overridden at make time. Future versions of POSIX
+are likely to require nested variable expansion, so this minor
+limitation should go away with time.
@vindex @code{AM_V_GEN}
@vindex @code{AM_V_at}
@vindex @code{AM_DEFAULT_VERBOSITY}
+@vindex @code{AM_V}
+@vindex @code{AM_DEFAULT_V}
To extend the silent mode to your own rules, you have two choices:
@itemize @bullet
@@ -10187,8 +10211,8 @@ The following snippet shows how you would define your own equivalent of
@code{AM_V_GEN}:
@example
-pkg_verbose = $(pkg_verbose_$(V))
-pkg_verbose_ = $(pkg_verbose_$(AM_DEFAULT_VERBOSITY))
+pkg_verbose = $(pkg_verbose_@@AM_V@@)
+pkg_verbose_ = $(pkg_verbose_@@AM_DEFAULT_V@@)
pkg_verbose_0 = @@echo PKG-GEN $@@;
foo: foo.in
@@ -10387,7 +10411,7 @@ These overriding semantics make it possible to fine tune some default
settings of Automake, or replace some of its rules. Overriding
Automake rules is often inadvisable, particularly in the topmost
directory of a package with subdirectories. The @option{-Woverride}
-option (@pxref{Invoking Automake}) comes in handy to catch overridden
+option (@pxref{automake Invocation}) comes in handy to catch overridden
definitions.
Note that Automake does not make any distinction between rules with
@@ -10835,7 +10859,7 @@ autoreconf -vfi
@end example
The use of @option{--force-missing} ensures that auxiliary tools will be
-overridden by new versions (@pxref{Invoking Automake}).
+overridden by new versions (@pxref{automake Invocation}).
It is important to regenerate all these files each time Automake is
upgraded, even between bug fixes releases. For instance, it is not
@@ -13559,4 +13583,4 @@ parentheses is the number of generated test cases.
@c LocalWords: LTALLOCA MALLOC malloc memcmp strdup alloca libcompat xyz DFOO
@c LocalWords: unprefixed buildable preprocessed DBAZ DDATADIR WARNINGCFLAGS
@c LocalWords: LIBFOOCFLAGS LIBFOOLDFLAGS ftable testSubDir obj LIBTOOLFLAGS
-@c LocalWords: barexec Pinard's automatize initialize lzma xz
+@c LocalWords: barexec Pinard's automatize initialize lzip lzma xz