diff options
author | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-06-18 11:33:00 +0200 |
---|---|---|
committer | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-06-18 15:35:31 +0200 |
commit | f50cba3f2f04c4b4adb7b6843a56b4ee524f5bf9 (patch) | |
tree | 50a32e33bcb6009849ab002f02a6286fdabb9855 /NG-NEWS | |
parent | 11a44231a057b6dbc15d3fe83f0b652176442241 (diff) | |
download | automake-f50cba3f2f04c4b4adb7b6843a56b4ee524f5bf9.tar.gz |
[bg] silent: simplify by taking advantage of GNU make semantics
In particular, taking advantage of the fact that, in GNU make, command
line override of variables is propagated to recursive make invocations.
This change offers us a small but nice size reduction bot in Automake's
code and in the generated Makefiles. It also improves the API to define
custom silent "tags", by turning it from:
pkg_verbose = $(pkg_verbose_$(V))
pkg_verbose_ = $(pkg_verbose_$(AM_DEFAULT_V))
pkg_verbose_0 = @echo PKG-GEN $@;
to the slightly clearer:
pkg_verbose = $(pkg_verbose/$(V))
pkg_verbose/1 =
pkg_verbose/0 = @echo PKG-GEN $@;
* NG-NEWS: Update.
* doc/automake-ng.texi (Automake Silent Rules): Update w.r.t. the
API for user-defined silent rules.
* automake.in: Simplify, by removing the indirections involving
$(AM_DEFAULT_VERBOSITY); some other changes and simplifications.
(verbose_private_var): Delete, its calls from &define_verbose_var
deleted (and those were its only calls).
* lib/am/header-vars.am: Define '$(V)' to 0 if it's not already
defined.
* m4/silent.m4: Initialize and AC_SUBST the variable 'V' directly,
instead of of the indirect 'AM_DEFAULT_VERBOSITY'. Do not set nor
AC_SUBST the variable 'AM_BACKSLASH', it's not used anymore (and
hasn't been since out overhauling and simplification of the compile
rules).
* GNUmakefile: Simplify a little.
* t/silent6.sh, t/silent-configsite.sh: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Diffstat (limited to 'NG-NEWS')
-rw-r--r-- | NG-NEWS | 29 |
1 files changed, 17 insertions, 12 deletions
@@ -25,18 +25,23 @@ Automatic dependency tracking support Silent rules ============ -* The silent-rules support unconditionally assumes that nested variables - expansion are supported. Accordingly, the AC_SUBST'd variables '@AM_V@' - and'@AM_DEFAULT_V@' have been removed, so that instead of using - something like: - - pkg_verbose = $(pkg_verbose_@AM_V@) - pkg_verbose_ = $(pkg_verbose_@AM_DEFAULT_V@) - - you should simply use: - - pkg_verbose = $(pkg_verbose_$(V)) - pkg_verbose_ = $(pkg_verbose_$(AM_DEFAULT_VERBOSITY)) +* The silent rules support has been simplified to take advantage + of more GNU make features. Among other things, the AC_SUBST'd + variables '@AM_V@' and'@AM_DEFAULT_V@' have been removed. Now, + when defining uses custom silent rules, you should do something + like: + + # Modern correct way. + pkg_verbose = $(pkg_verbose/$(V)) + pkg_verbose/0 = @echo PKG-GEN $@; + pkg_verbose/1 = + + while the old idiom would have been something like: + + # Old obsolete way, won't work anymore. + pkg_verbose = $(pkg_verbose_@AM_V@) + pkg_verbose_ = $(pkg_verbose_@AM_DEFAULT_V@) + pkg_verbose_0 = @echo PKG-GEN $@; Warnings and diagnostic |