diff options
author | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-01-01 19:20:04 +0100 |
---|---|---|
committer | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-01-01 19:20:04 +0100 |
commit | 01fef4ae9e0ea43fba4a5cc836ad42f45805c6b8 (patch) | |
tree | f0fe39be623a2888207ec783d92d3e479cf08e3c /doc | |
parent | 4f3e5b5c883fb2cf867e9d7734690a283a1165ee (diff) | |
parent | 280407599a72f8229c7b89d64b703e2dbc94cc87 (diff) | |
download | automake-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.texi | 86 |
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 |