automake-patches
[Top][All Lists]
Advanced

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

Re: [RFC] Docs: document silent make rules in a new chapter


From: Stefano Lattarini
Subject: Re: [RFC] Docs: document silent make rules in a new chapter
Date: Sat, 4 Dec 2010 21:48:40 +0100
User-agent: KMail/1.13.3 (Linux/2.6.30-2-686; KDE/4.4.4; i686; ; )

Hello automakers.

I've worked some more on this, and I think I've now managed to find
the proper layout for the new chapter, and a decently complete list
of topics to be touched.  There are still some TODOs and rough edges,
but I think the patch is approaching to a state acceptable for
application.

Attached are the new version of the patch, plus the diffs from the
older version.

Any feedback before I attempt the final respin would be really
appreciated.

Regards,
   Stefano
From 51c813d877dcbf7d7eaaef56fa74bcfbaef46d4f Mon Sep 17 00:00:00 2001
From: Stefano Lattarini <address@hidden>
Date: Sat, 4 Dec 2010 18:22:35 +0100
Subject: [PATCH] SquashMe

---
 doc/automake.texi |  150 +++++++++++++++++++++++++++++++----------------------
 1 files changed, 88 insertions(+), 62 deletions(-)

diff --git a/doc/automake.texi b/doc/automake.texi
index 8a89833..27ad810 100644
--- a/doc/automake.texi
+++ b/doc/automake.texi
@@ -9644,74 +9644,88 @@ Libtool Sources}).
 Normally, when executing the set of rules associated with a target,
 @command{make} prints each rule before it is executed.  This behaviour,
 while having been in place for a long time (and being even mandated by
-POSIX), starkly violates the ``silence is golden'' UNIX principle
-(@emph{FIXME}: what about a link here, maybe
address@hidden://www.faqs.org/docs/artu/ch01s06.html#id2878450} or
+POSIX), starkly violates the ``silence is golden'' UNIX principle:
address@hidden more information, see
 @uref{http://catb.org/~esr/writings/taouu/html/ch01s03.html#rule-silence}
-?)
+and @uref{http://catb.org/~esr/writings/taoup/html/ch11s09.html}.}
 
-In fact, while such verbosity can theoretically be useful to track bugs
-and understand reasons of failures right away, it also hide warning and
-error messages from make-invoked tools, drowning them in a flood of
-uninteresting and seldom useful messages, and thus allowing them to go
-easily undetected -- very bad!
address@hidden
+When a program has nothing interesting or surprising to say, it should
+say nothing.  Well-behaved Unix programs do their jobs unobtrusively,
+with a minimum of fuss and bother.  Silence is golden.
address@hidden quotation
+
+In fact, while such verbosity of @command{make} can theoretically be
+useful to track bugs and understand reasons of failures right away, it
+can also hide warning and error messages from @command{make}-invoked
+tools, drowning them in a flood of uninteresting and seldom useful
+messages, and thus allowing them to go easily undetected --- which,
+needless to say, is a Very Bad Thing.
 
 This problem can be very annoying especially for developers, which usually
-know quite well what's going on under the scenes, and for whom the verbose
+know quite well what's going on behind the scenes, and for whom the verbose
 make messages are just noise preventing easily spotting of warning messages
 they might be very interested into.
 
address@hidden: having an example showing the woes of an overly verbose
-make output might be nice -- especially a real-world (but short!)
-example.
address@hidden TODO: having an example showing the woes of an overly verbose 
make
address@hidden TODO: output might be nice -- especially a real-world (but 
short!)
address@hidden TODO: example.
 
 @node Tricks For Silencing Make
 @section Standard and generic ways to silence make
 
 Here we describe some common idioms/tricks to obtain a quieter make
-output, with relative advantages and drawbacks.  In the next section
-(@ref{Automake silent-rules Option}) we'll see how Automake can help
-in this respect.
+output, with their relative advantages and drawbacks.  In the next
+section (@ref{Automake silent-rules Option}) we'll see how Automake
+can help in this respect.
 
 @itemize @bullet
 
 @item @command{make -s}
 
 This simply causes @command{make} not to print @emph{any} rule before
-executing it.
+executing it. 
 
address@hidden: It's easy to use and understand, and it's mandated by
-POSIX.
+The @option{-s} flag is mandated by POSIX, universally supported, and
+its purpose and function are easy to understand.
 
address@hidden: Its an ``all or nothing'' strategy: either everything is
-silenced, or nothing is.  Moreover, when this option is used, the
address@hidden output might turn out to be too much terse; in case of
-errors, the user won't be able to easily see what rule or command have
-caused them, or even, in case of tools with poor error reporting, what
-the error was!
+But it also has its serious limitations too.  First of all, it embodies
+an ``all or nothing'' strategy, i.e., either everything is silenced, or
+nothing is; this lack of granularity can sometimes be a fatal flaw.
+Moreover, when the @option{-s} flag is used, the @command{make} output
+might turn out to be too much terse; in case of error, the user won't
+be able to easily see what rule or command have caused it, or even,
+in case of tools with poor error reporting, what the error was!
 
 @item @command{make >/dev/null || make}
 
 Apparently, this perfectly obeys the ``silence is golden'' rule: warnings
-from stderr are passed through, output report is done only in case of
-error, and in that case it should be a verbose-enough report to allow an
-easy determination of the error location and causes.
-
-However, calling make two times might hide errors (especially intermittent
-ones), or subtly change the expected semantic of the make call
-(@emph{FIXME}: examples?).
+from stderr are passed through, output reporting is done only in case of
+error, and in that case it should provide a verbose-enough report to allow
+an easy determination of the error location and causes.
 
address@hidden @command{gmake --no-print-directory}
+However, calling @command{make} two times in a row might hide errors
+(especially intermittent ones), or subtly change the expected semantic
+of the @command{make} calls --- things these which can clearly make
+debugging and error assessment very difficult.
 
-This is GNU make specific.
address@hidden @command{make --no-print-directory}
 
address@hidden: TODO.
+This is GNU @command{make} specific.  When called with the
address@hidden option, GNU @command{make} will disable
+printing of the working directory by invoked address@hidden (the
+well-known ``Entering/Leaving directory ...'' messages).  This helps to
+decrease the verbosity of the output, but experience has shown that it
+can also often render debugging considerably harder in projects that
+use deeply-nested @command{make} recursion.
 
address@hidden: TODO.
+As an aside, notice that the @option{--no-print-directory} option is
+automatically activated if the @option{-s} flag is used.
 
address@hidden @emph{TODO}: other tricks?  Maybe speak about the @code{.SILENT}
-target? @emph{Pros}: More granularity on what to silence; @emph{Cons}:
-no easy way to temporarily override.
address@hidden TODO: Other tricks?
address@hidden TODO: Maybe speak about the @code{.SILENT} target?
address@hidden TODO:  - Pros: More granularity on what to silence.
address@hidden TODO:  - Cons: No easy way to temporarily override.
 
 @end itemize
 
@@ -9720,20 +9734,25 @@ no easy way to temporarily override.
 
 As we've seen, the tricks and idioms for silencing make described in the
 previous section, while useful from time to time, all have some serious
-drawbacks and limitations.  Automake comes to the rescue!
+drawbacks and limitations.  That's why automake provides support for
+a more advanced and flexible way of obtaining quieter output from
address@hidden output: the @option{silent-rules} mode.
 
-Problem of silent rules: the investigation of user bug reports might be
-more difficult, since the developer cannot see in its completeness the
-command(s) that caused the failure on the user system.
address@hidden: Explain how output of @command{make} with silent rules
+enabled differs from usual @command{make} output.
+
address@hidden: Give some examples of @command{make} outputs with silent
+rules respectively enabled and disabled.
 
-Simple solutions: do not enable silent rules by default!
address@hidden silent-rules and libtools
address@hidden: Tell that libtool is automatically used in ``silent mode''
+when @option{silent-rules} are activated.
 
-To enable less verbose build rules, both the developer and the user of the
-package have to take a number of steps (@emph{FIXME}: this is not strictly
-true if the developer uses address@hidden([yes])}'', but we should
-discourage that).
address@hidden: Maybe describe in brief the precedent set by the build
+system of the Linux Kernel... Links anyone?
 
-The developer needs to do either of the following:
+To enable the use of @option{silent-rules} in his package, a developer
+needs to do either of the following:
 
 @itemize @bullet
 @item
@@ -9746,7 +9765,6 @@ file.
 It is not possible to instead specify @option{silent-rules} in a
 @file{Makefile.am} file.
 
address@hidden default verbosity for silent-rules
 If the developer has done either of the above, then the user of the
 package may influence the verbosity at @command{configure} run time as
 well as at @command{make} run time:
@@ -9757,7 +9775,7 @@ well as at @command{make} run time:
 @opindex --disable-silent-rules
 Passing @option{--enable-silent-rules} to @command{configure} will cause
 build rules to be less verbose; the option @option{--disable-silent-rules}
-is the default and will cause normal verbose output.
+will cause normal verbose output.
 @item
 @vindex @code{V}
 At @command{make} run time, the default chosen at @command{configure}
@@ -9765,6 +9783,21 @@ time may be overridden: @code{make V=1} will produce 
verbose output,
 @code{make V=0} less verbose output.
 @end itemize
 
address@hidden default verbosity for silent-rules
+Note that silent rules are @emph{enabled} by default; the user have to
+enable them explicitly at either make at either @command{configure} run
+time or at @command{make} run time.
+
address@hidden: Explain why the above is a good policy, and how the developer
+can circumvent it using the @code{AM_SILENT_RULES([yes])} macro call.
+
address@hidden of silent rules: the investigation of user bug reports might
+be more difficult, since the developer cannot see in its completeness the
+command(s) that caused the failure on the user system.
address@hidden solution}: silent rules are not enabled by default in the
+distributed packages.
+
address@hidden FIXME: there's really a need to specify this explicitly?
 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.
@@ -9806,17 +9839,10 @@ foo: foo.in
 
 @end itemize
 
address@hidden:
-Libtool and silent rules: peculiarities?
-
address@hidden:
-Maybe describe in brief the precedent set by the build system
-of the Linux Kernel... Links?
-
address@hidden:
-Tell that @option{--no-print-directory} might still be useful with
-GNU make, if one wants to avoid the ``Entering/Leaving directory ...''
-messages, since this is out the control of Automake.
+As a final note, observe that, even when silent rules are enabled,
+the @option{--no-print-directory} option is still required with GNU
address@hidden if the ``Entering/Leaving directory ...'' messages
+are to be disabled.
 
 @node Gnits
 @chapter The effect of @option{--gnu} and @option{--gnits}
-- 
1.7.1

From d7e0a690ed7a7fd23a9485ffb6c09c15d521d081 Mon Sep 17 00:00:00 2001
From: Stefano Lattarini <address@hidden>
Date: Fri, 12 Nov 2010 20:26:59 +0100
Subject: [PATCH] Docs: better documentation for silent make rules.

---
 ChangeLog         |   11 ++
 doc/automake.texi |  313 +++++++++++++++++++++++++++++++++++++++--------------
 2 files changed, 245 insertions(+), 79 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index e8864f1..5ca9fbb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2010-12-04  Stefano Lattarini  <address@hidden>
+
+       Docs: better documentation for silent make rules.
+       * doc/automake.texi (Options): Detailed description of the automake
+       option `silent-rules' moved from here ...
+       (Silent Make): ... to this new chapter, with its two ...
+       (Make verbosity, Tricks For Silencing Make,
+       Automake silent-rules Option): ... new sections (FIXME: to be
+       finished).
+       (@menu, @detailmenu): Update.
+
 2010-11-25  Stefano Lattarini  <address@hidden>
 
        Fix spurious failures in `silent*.test' for $CC != gcc
diff --git a/doc/automake.texi b/doc/automake.texi
index 5a805b3..27ad810 100644
--- a/doc/automake.texi
+++ b/doc/automake.texi
@@ -117,6 +117,7 @@ section entitled ``GNU Free Documentation License.''
 * Miscellaneous::               Miscellaneous rules
 * Include::                     Including extra files in an Automake template
 * Conditionals::                Conditionals
+* Silencing Make::              Obtain less verbose output from @command{make}
 * Gnits::                       The effect of @option{--gnu} and 
@option{--gnits}
 * Cygnus::                      The effect of @option{--cygnus}
 * Not Enough::                  When Automake is not Enough
@@ -330,6 +331,12 @@ Conditionals
 * Usage of Conditionals::       Declaring conditional content
 * Limits of Conditionals::      Enclosing complete statements
 
+Silent Make
+
+* Make verbosity::               Make is verbose by default
+* Tricks For Silencing Make::    Standard and generic ways to silence make
+* Automake silent-rules Option:: How Automake can help in silencing make
+
 When Automake Isn't Enough
 
 * Extending::                   Adding new rules or overriding existing ones.
@@ -9131,90 +9138,18 @@ letter; it should be omitted for non-alpha releases.
 @cindex Option, @option{silent-rules}
 @opindex silent-rules
 Enable less verbose build rules.  This can be used to let build rules
-output a status line of the form
-
+output a status line of the form:
 @example
-  GEN @var{output-file}
+GEN @var{output-file}
+ CC @var{object-file}
 @end example
-
 @noindent
 instead of printing the command that will be executed to update
address@hidden  It can also silence @command{libtool} output.
-
-To enable less verbose build rules, both the developer and the user
-of the package have to take a number of steps.  The developer needs
-to do either of the following:
-
address@hidden @bullet
address@hidden
-Add the @option{silent-rules} option as argument to @code{AM_INIT_AUTOMAKE}.
address@hidden
-Call the @code{AM_SILENT_RULES} macro from within the @file{configure.ac}
-file.
address@hidden itemize
-
-It is not possible to instead specify @option{silent-rules} in a
address@hidden file.
-
address@hidden default verbosity for silent-rules
-If the developer has done either of the above, then the user of the
-package may influence the verbosity at @command{configure} run time as
-well as at @command{make} run time:
-
address@hidden @bullet
address@hidden
address@hidden --enable-silent-rules
address@hidden --disable-silent-rules
-Passing @option{--enable-silent-rules} to @command{configure} will cause
-build rules to be less verbose; the option @option{--disable-silent-rules}
-is the default and will cause normal verbose output.
address@hidden
address@hidden @code{V}
-At @command{make} run time, the default chosen at @command{configure}
-time may be overridden: @code{make V=1} will produce verbose output,
address@hidden V=0} less verbose output.
address@hidden itemize
-
-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
address@hidden option if your package needs to build with
address@hidden implementations that do not support it.  The
address@hidden option turns off warnings about recursive variable
-expansion, which are in turn enabled by @option{-Wportability}
-(@pxref{Invoking Automake}).
-
address@hidden @code{AM_V_GEN}
address@hidden @code{AM_V_at}
address@hidden @code{AM_DEFAULT_VERBOSITY}
-To extend the silent mode to your own rules, you have two choices:
-
address@hidden @bullet
address@hidden
-You can use the predefined variable @code{AM_V_GEN} as a prefix to
-commands that should output a status line in silent mode, and
address@hidden as a prefix to commands that should not output anything
-in silent mode.  When output is to be verbose, both of these variables
-will expand to the empty string.
address@hidden
-You can add your own variables, so strings of your own choice are shown.
-The following snippet shows how you would define your own equivalent of
address@hidden:
-
address@hidden
-pkg_verbose = $(pkg_verbose_$(V))
-pkg_verbose_ = $(pkg_verbose_$(AM_DEFAULT_VERBOSITY))
-pkg_verbose_0 = @@echo GEN $@@;
-
-foo: foo.in
-        $(pkg_verbose)cp $(srcdir)/foo.in $@@
address@hidden example
address@hidden itemize
address@hidden or to compile @var{object-file}.  It can also
+silence @command{libtool} output.
 
+For more information about how to use, enable, or disable silent
+rules, @pxref{Automake silent-rules Option}.
 
 @item @option{std-options}
 @cindex Options, @option{std-options}
@@ -9689,6 +9624,226 @@ Subdirectories}, @pxref{Conditional Sources}, 
@pxref{Conditional
 Programs}, @pxref{Conditional Libtool Libraries}, @pxref{Conditional
 Libtool Sources}).
 
address@hidden Silencing Make
address@hidden Silencing @command{make}
+
address@hidden Silent @command{make}
address@hidden Silencing @command{make}
address@hidden Silent rules
address@hidden Silent @command{make} rules
+
address@hidden
+* Make verbosity::               Make is verbose by default
+* Tricks For Silencing Make::    Standard and generic ways to silence make
+* Automake silent-rules Option:: How Automake can help in silencing make
address@hidden menu
+
address@hidden Make verbosity
address@hidden Make is verbose by default
+
+Normally, when executing the set of rules associated with a target,
address@hidden prints each rule before it is executed.  This behaviour,
+while having been in place for a long time (and being even mandated by
+POSIX), starkly violates the ``silence is golden'' UNIX principle:
address@hidden more information, see
address@hidden://catb.org/~esr/writings/taouu/html/ch01s03.html#rule-silence}
+and @uref{http://catb.org/~esr/writings/taoup/html/ch11s09.html}.}
+
address@hidden
+When a program has nothing interesting or surprising to say, it should
+say nothing.  Well-behaved Unix programs do their jobs unobtrusively,
+with a minimum of fuss and bother.  Silence is golden.
address@hidden quotation
+
+In fact, while such verbosity of @command{make} can theoretically be
+useful to track bugs and understand reasons of failures right away, it
+can also hide warning and error messages from @command{make}-invoked
+tools, drowning them in a flood of uninteresting and seldom useful
+messages, and thus allowing them to go easily undetected --- which,
+needless to say, is a Very Bad Thing.
+
+This problem can be very annoying especially for developers, which usually
+know quite well what's going on behind the scenes, and for whom the verbose
+make messages are just noise preventing easily spotting of warning messages
+they might be very interested into.
+
address@hidden TODO: having an example showing the woes of an overly verbose 
make
address@hidden TODO: output might be nice -- especially a real-world (but 
short!)
address@hidden TODO: example.
+
address@hidden Tricks For Silencing Make
address@hidden Standard and generic ways to silence make
+
+Here we describe some common idioms/tricks to obtain a quieter make
+output, with their relative advantages and drawbacks.  In the next
+section (@ref{Automake silent-rules Option}) we'll see how Automake
+can help in this respect.
+
address@hidden @bullet
+
address@hidden @command{make -s}
+
+This simply causes @command{make} not to print @emph{any} rule before
+executing it. 
+
+The @option{-s} flag is mandated by POSIX, universally supported, and
+its purpose and function are easy to understand.
+
+But it also has its serious limitations too.  First of all, it embodies
+an ``all or nothing'' strategy, i.e., either everything is silenced, or
+nothing is; this lack of granularity can sometimes be a fatal flaw.
+Moreover, when the @option{-s} flag is used, the @command{make} output
+might turn out to be too much terse; in case of error, the user won't
+be able to easily see what rule or command have caused it, or even,
+in case of tools with poor error reporting, what the error was!
+
address@hidden @command{make >/dev/null || make}
+
+Apparently, this perfectly obeys the ``silence is golden'' rule: warnings
+from stderr are passed through, output reporting is done only in case of
+error, and in that case it should provide a verbose-enough report to allow
+an easy determination of the error location and causes.
+
+However, calling @command{make} two times in a row might hide errors
+(especially intermittent ones), or subtly change the expected semantic
+of the @command{make} calls --- things these which can clearly make
+debugging and error assessment very difficult.
+
address@hidden @command{make --no-print-directory}
+
+This is GNU @command{make} specific.  When called with the
address@hidden option, GNU @command{make} will disable
+printing of the working directory by invoked address@hidden (the
+well-known ``Entering/Leaving directory ...'' messages).  This helps to
+decrease the verbosity of the output, but experience has shown that it
+can also often render debugging considerably harder in projects that
+use deeply-nested @command{make} recursion.
+
+As an aside, notice that the @option{--no-print-directory} option is
+automatically activated if the @option{-s} flag is used.
+
address@hidden TODO: Other tricks?
address@hidden TODO: Maybe speak about the @code{.SILENT} target?
address@hidden TODO:  - Pros: More granularity on what to silence.
address@hidden TODO:  - Cons: No easy way to temporarily override.
+
address@hidden itemize
+
address@hidden Automake silent-rules Option
address@hidden How Automake can help in silencing make
+
+As we've seen, the tricks and idioms for silencing make described in the
+previous section, while useful from time to time, all have some serious
+drawbacks and limitations.  That's why automake provides support for
+a more advanced and flexible way of obtaining quieter output from
address@hidden output: the @option{silent-rules} mode.
+
address@hidden: Explain how output of @command{make} with silent rules
+enabled differs from usual @command{make} output.
+
address@hidden: Give some examples of @command{make} outputs with silent
+rules respectively enabled and disabled.
+
address@hidden silent-rules and libtools
address@hidden: Tell that libtool is automatically used in ``silent mode''
+when @option{silent-rules} are activated.
+
address@hidden: Maybe describe in brief the precedent set by the build
+system of the Linux Kernel... Links anyone?
+
+To enable the use of @option{silent-rules} in his package, a developer
+needs to do either of the following:
+
address@hidden @bullet
address@hidden
+Add the @option{silent-rules} option as argument to @code{AM_INIT_AUTOMAKE}.
address@hidden
+Call the @code{AM_SILENT_RULES} macro from within the @file{configure.ac}
+file.
address@hidden itemize
+
+It is not possible to instead specify @option{silent-rules} in a
address@hidden file.
+
+If the developer has done either of the above, then the user of the
+package may influence the verbosity at @command{configure} run time as
+well as at @command{make} run time:
+
address@hidden @bullet
address@hidden
address@hidden --enable-silent-rules
address@hidden --disable-silent-rules
+Passing @option{--enable-silent-rules} to @command{configure} will cause
+build rules to be less verbose; the option @option{--disable-silent-rules}
+will cause normal verbose output.
address@hidden
address@hidden @code{V}
+At @command{make} run time, the default chosen at @command{configure}
+time may be overridden: @code{make V=1} will produce verbose output,
address@hidden V=0} less verbose output.
address@hidden itemize
+
address@hidden default verbosity for silent-rules
+Note that silent rules are @emph{enabled} by default; the user have to
+enable them explicitly at either make at either @command{configure} run
+time or at @command{make} run time.
+
address@hidden: Explain why the above is a good policy, and how the developer
+can circumvent it using the @code{AM_SILENT_RULES([yes])} macro call.
+
address@hidden of silent rules: the investigation of user bug reports might
+be more difficult, since the developer cannot see in its completeness the
+command(s) that caused the failure on the user system.
address@hidden solution}: silent rules are not enabled by default in the
+distributed packages.
+
address@hidden FIXME: there's really a need to specify this explicitly?
+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
address@hidden option if your package needs to build with
address@hidden implementations that do not support it.  The
address@hidden option turns off warnings about recursive variable
+expansion, which are in turn enabled by @option{-Wportability}
+(@pxref{Invoking Automake}).
+
address@hidden @code{AM_V_GEN}
address@hidden @code{AM_V_at}
address@hidden @code{AM_DEFAULT_VERBOSITY}
+To extend the silent mode to your own rules, you have two choices:
+
address@hidden @bullet
address@hidden
+You can use the predefined variable @code{AM_V_GEN} as a prefix to
+commands that should output a status line in silent mode, and
address@hidden as a prefix to commands that should not output anything
+in silent mode.  When output is to be verbose, both of these variables
+will expand to the empty string.
address@hidden
+You can add your own variables, so strings of your own choice are shown.
+The following snippet shows how you would define your own equivalent of
address@hidden:
+
address@hidden
+pkg_verbose = $(pkg_verbose_$(V))
+pkg_verbose_ = $(pkg_verbose_$(AM_DEFAULT_VERBOSITY))
+pkg_verbose_0 = @@echo PKG-GEN $@@;
+
+foo: foo.in
+        $(pkg_verbose)cp $(srcdir)/foo.in $@@
address@hidden example
+
address@hidden itemize
+
+As a final note, observe that, even when silent rules are enabled,
+the @option{--no-print-directory} option is still required with GNU
address@hidden if the ``Entering/Leaving directory ...'' messages
+are to be disabled.
+
 @node Gnits
 @chapter The effect of @option{--gnu} and @option{--gnits}
 
-- 
1.7.1


reply via email to

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