[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: automake less verbose (iter 3.1)
From: |
Jan Engelhardt |
Subject: |
Re: automake less verbose (iter 3.1) |
Date: |
Mon, 15 Dec 2008 13:26:40 +0100 (CET) |
User-agent: |
Alpine 1.10 (LNX 962 2008-03-14) |
On Monday 2008-12-15 08:32, William Pursell wrote:
>Jan Engelhardt wrote:
>
>> third round here of the automake-tranquility patch from me.
>> Updates from previous attempts:
>
>I've been looking through the archive and haven't
>noticed any followup on this. I don't know if it
>counts for anything but I would certainly like to
>see this incorporated.
>
>Jan, which commit was your patch made against?
Possibly the 1.10.1 tarball plus ... ah forget it. Here's a redump,
this time with parent specifier (not that git would use it, but
it's helpful for exactly such cases where you just don't remember
what your base is ;)
---8<---produced by git-export-patch---8<---
parent af8a0d797d79fac53e2fe92c4974a9cdce5f4ad8
commit 169c1464be82673bb37e5df38d86827cb0bb51d5
Author: Jan Engelhardt <address@hidden>
Date: Mon Dec 15 13:20:38 2008 +0100
automake: silenced operation
There have been a number of attempts at introducing a quiet behavior to
automake, much like the Linux kernel's kbuild does.
Reference:
http://osdir.com/ml/sysutils.automake.patches/2007-07/msg00024.html
(and others linked from the thread)
Previous attempts always either were POSIX-incompliant due to the use of
$(if ...), were limited to selecting verbosity at configure-time, or
involved the costly use of $(shell ...). This patch does it without any
of these three, and instead relies on variable-in-a-variable
${${variable}}, which seems supported by many make programs.
Verbosity level is changable via a configure.ac macro
AM_VERBOSITY([level]) and at runtime through `make V=level`.
Currently implemented levels:
V=0: silent
V=1: target and source
V=infinity: full command line
Signed-off-by: Jan Engelhardt <address@hidden>
---
automake.in | 134 +++++++++++++++++++++++++++++++++++++++---
lib/am/depend2.am | 21 ++++---
lib/am/lex.am | 3 +-
lib/am/library.am | 4 +-
lib/am/ltlibrary.am | 2 +-
lib/am/program.am | 2 +-
lib/am/yacc.am | 3 +-
m4/Makefile.am | 1 +
m4/Makefile.in | 1 +
m4/silent.m4 | 7 ++
10 files changed, 153 insertions(+), 25 deletions(-)
create mode 100644 m4/silent.m4
diff --git a/automake.in b/automake.in
index 24bb193..705573a 100755
--- a/automake.in
+++ b/automake.in
@@ -49,6 +49,9 @@ struct (# Short name of the language (c, f77...).
# Nice name of the language (C, Fortran 77...).
'Name' => "\$",
+ "verbose_compile" => '$',
+ "verbose_link" => '$',
+
# List of configure variables which must be defined.
'config_vars' => '@',
@@ -719,6 +722,8 @@ sub initialize_per_input ()
# C.
register_language ('name' => 'c',
'Name' => 'C',
+ 'verbose_compile' => '${am__verbose_CC}',
+ 'verbose_link' => '${am__verbose_CCLD}',
'config_vars' => ['CC'],
'ansi' => 1,
'autodep' => '',
@@ -737,6 +742,8 @@ register_language ('name' => 'c',
# C++.
register_language ('name' => 'cxx',
'Name' => 'C++',
+ 'verbose_compile' => '${am__verbose_CXX}',
+ 'verbose_link' => '${am__verbose_CXXLD}',
'config_vars' => ['CXX'],
'linker' => 'CXXLINK',
'link' => '$(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS)
$(LDFLAGS) -o $@',
@@ -755,6 +762,8 @@ register_language ('name' => 'cxx',
# Objective C.
register_language ('name' => 'objc',
'Name' => 'Objective C',
+ 'verbose_compile' => '${am__verbose_OBJC}',
+ 'verbose_link' => '${am__verbose_OBJCLD}',
'config_vars' => ['OBJC'],
'linker' => 'OBJCLINK',
'link' => '$(OBJCLD) $(AM_OBJCFLAGS) $(OBJCFLAGS)
$(AM_LDFLAGS) $(LDFLAGS) -o $@',
@@ -772,6 +781,8 @@ register_language ('name' => 'objc',
# Unified Parallel C.
register_language ('name' => 'upc',
'Name' => 'Unified Parallel C',
+ 'verbose_compile' => '${am__verbose_UPC}',
+ 'verbose_link' => '${am__verbose_UPCLD}',
'config_vars' => ['UPC'],
'linker' => 'UPCLINK',
'link' => '$(UPCLD) $(AM_UPCFLAGS) $(UPCFLAGS) $(AM_LDFLAGS)
$(LDFLAGS) -o $@',
@@ -799,6 +810,7 @@ register_language ('name' => 'header',
# Yacc (C & C++).
register_language ('name' => 'yacc',
'Name' => 'Yacc',
+ 'verbose_compile' => '${am__verbose_YACC}',
'config_vars' => ['YACC'],
'flags' => ['YFLAGS'],
'compile' => '$(YACC) $(YFLAGS) $(AM_YFLAGS)',
@@ -812,6 +824,7 @@ register_language ('name' => 'yacc',
'nodist_specific' => 1);
register_language ('name' => 'yaccxx',
'Name' => 'Yacc (C++)',
+ 'verbose_compile' => '${am__verbose_YACC}',
'config_vars' => ['YACC'],
'rule_file' => 'yacc',
'flags' => ['YFLAGS'],
@@ -827,6 +840,7 @@ register_language ('name' => 'yaccxx',
# Lex (C & C++).
register_language ('name' => 'lex',
'Name' => 'Lex',
+ 'verbose_compile' => '${am__verbose_LEX}',
'config_vars' => ['LEX'],
'rule_file' => 'lex',
'flags' => ['LFLAGS'],
@@ -840,6 +854,7 @@ register_language ('name' => 'lex',
'nodist_specific' => 1);
register_language ('name' => 'lexxx',
'Name' => 'Lex (C++)',
+ 'verbose_compile' => '${am__verbose_LEX}',
'config_vars' => ['LEX'],
'rule_file' => 'lex',
'flags' => ['LFLAGS'],
@@ -855,6 +870,7 @@ register_language ('name' => 'lexxx',
# Assembler.
register_language ('name' => 'asm',
'Name' => 'Assembler',
+ 'verbose_compile' => '${am__verbose_AS}',
'config_vars' => ['CCAS', 'CCASFLAGS'],
'flags' => ['CCASFLAGS'],
@@ -873,6 +889,7 @@ register_language ('name' => 'asm',
# Preprocessed Assembler.
register_language ('name' => 'cppasm',
'Name' => 'Preprocessed Assembler',
+ 'verbose_compile' => '${am__verbose_AS}',
'config_vars' => ['CCAS', 'CCASFLAGS'],
'autodep' => 'CCAS',
@@ -889,6 +906,8 @@ register_language ('name' => 'cppasm',
# Fortran 77
register_language ('name' => 'f77',
'Name' => 'Fortran 77',
+ 'verbose_compile' => '${am__verbose_F77}',
+ 'verbose_link' => '${am__verbose_F77LD}',
'config_vars' => ['F77'],
'linker' => 'F77LINK',
'link' => '$(F77LD) $(AM_FFLAGS) $(FFLAGS) $(AM_LDFLAGS)
$(LDFLAGS) -o $@',
@@ -906,6 +925,8 @@ register_language ('name' => 'f77',
# Fortran
register_language ('name' => 'fc',
'Name' => 'Fortran',
+ 'verbose_compile' => '${am__verbose_FC}',
+ 'verbose_link' => '${am__verbose_FCLD}',
'config_vars' => ['FC'],
'linker' => 'FCLINK',
'link' => '$(FCLD) $(AM_FCFLAGS) $(FCFLAGS) $(AM_LDFLAGS)
$(LDFLAGS) -o $@',
@@ -922,6 +943,8 @@ register_language ('name' => 'fc',
# Preprocessed Fortran
register_language ('name' => 'ppfc',
'Name' => 'Preprocessed Fortran',
+ 'verbose_compile' => '${am__verbose_FC}',
+ 'verbose_link' => '${am__verbose_FCLD}',
'config_vars' => ['FC'],
'linker' => 'FCLINK',
'link' => '$(FCLD) $(AM_FCFLAGS) $(FCFLAGS) $(AM_LDFLAGS)
$(LDFLAGS) -o $@',
@@ -953,6 +976,8 @@ register_language ('name' => 'ppfc',
# available).
register_language ('name' => 'ppf77',
'Name' => 'Preprocessed Fortran 77',
+ 'verbose_compile' => '${am__verbose_F77}',
+ 'verbose_link' => '${am__verbose_F77LD}',
'config_vars' => ['F77'],
'linker' => 'F77LINK',
'link' => '$(F77LD) $(AM_FFLAGS) $(FFLAGS) $(AM_LDFLAGS)
$(LDFLAGS) -o $@',
@@ -970,6 +995,8 @@ register_language ('name' => 'ppf77',
# Ratfor.
register_language ('name' => 'ratfor',
'Name' => 'Ratfor',
+ 'verbose_compile' => '${am__verbose_F77}',
+ 'verbose_link' => '${am__verbose_F77LD}',
'config_vars' => ['F77'],
'linker' => 'F77LINK',
'link' => '$(F77LD) $(AM_FFLAGS) $(FFLAGS) $(AM_LDFLAGS)
$(LDFLAGS) -o $@',
@@ -988,6 +1015,8 @@ register_language ('name' => 'ratfor',
# Java via gcj.
register_language ('name' => 'java',
'Name' => 'Java',
+ 'verbose_compile' => '${am__verbose_GCJ}',
+ 'verbose_link' => '${am__verbose_GCJLD}',
'config_vars' => ['GCJ'],
'linker' => 'GCJLINK',
'link' => '$(GCJLD) $(AM_GCJFLAGS) $(GCJFLAGS) $(AM_LDFLAGS)
$(LDFLAGS) -o $@',
@@ -1311,6 +1340,7 @@ sub handle_languages
OBJOBJ => '$@',
LTOBJ => '$@',
+ VERBOSE => $lang->verbose_compile,
COMPILE => '$(' . $lang->compiler . ')',
LTCOMPILE => '$(LT' . $lang->compiler . ')',
-o => $output_flag,
@@ -1354,7 +1384,7 @@ sub handle_languages
$ptltflags = 'AM_LIBTOOLFLAGS' unless set_seen $ptltflags;
my $obj_ltcompile =
- "\$(LIBTOOL) $libtool_tag\$($ptltflags) \$(LIBTOOLFLAGS) "
+ "\$(LIBTOOL) \${am__libtool_silent} $libtool_tag\$($ptltflags)
\$(LIBTOOLFLAGS) "
. "--mode=compile $obj_compile";
# We _need_ `-o' for per object rules.
@@ -1448,6 +1478,7 @@ sub handle_languages
OBJOBJ => "$obj_.obj",
LTOBJ => "$obj_.lo",
+ VERBOSE => $lang->verbose_compile,
COMPILE => $obj_compile,
LTCOMPILE => $obj_ltcompile,
-o => $output_flag,
@@ -1475,6 +1506,7 @@ sub handle_languages
OBJOBJ => "$obj.obj",
LTOBJ => "$obj.lo",
+ VERBOSE => $lang->verbose_compile,
COMPILE => $obj_compile,
LTCOMPILE => $obj_ltcompile,
-o => $output_flag,
@@ -2506,7 +2538,12 @@ sub handle_programs
set_seen ($xname . '_LDFLAGS');
# Determine program to use for link.
- my $xlink = &define_per_target_linker_variable ($linker, $xname);
+ my($xlink, $vlink) = &define_per_target_linker_variable ($linker,
$xname);
+ $vlink ||= "";
+ if ($vlink eq "") {
+ # it really should not happen, but be safe...
+ print STDERR "internal-warning: no vlink for $xname\n";
+ }
# If the resulting program lies into a subdirectory,
# make sure this directory will exist.
@@ -2519,6 +2556,7 @@ sub handle_programs
PROGRAM => $one_file,
XPROGRAM => $xname,
XLINK => $xlink,
+ VERBOSE => $vlink,
DIRSTAMP => $dirstamp,
EXEEXT => '$(EXEEXT)');
@@ -2619,6 +2657,7 @@ sub handle_libraries
$output_rules .= &file_contents ('library',
$where,
+ VERBOSE => '${am__verbose_AR}',
LIBRARY => $onelib,
XLIBRARY => $xlib,
DIRSTAMP => $dirstamp);
@@ -2805,7 +2844,11 @@ sub handle_ltlibraries
NONLIBTOOL => 0, LIBTOOL => 1);
# Determine program to use for link.
- my $xlink = &define_per_target_linker_variable ($linker, $xlib);
+ my($xlink, $vlink) = &define_per_target_linker_variable ($linker, $xlib);
+ $vlink ||= "";
+ if ($vlink eq "") {
+ print STDERR "internal-warning: no (libtoolean) vlink for $xlib\n";
+ }
my $rpathvar = "am_${xlib}_rpath";
my $rpath = "\$($rpathvar)";
@@ -2855,6 +2898,7 @@ sub handle_ltlibraries
XLTLIBRARY => $xlib,
RPATH => $rpath,
XLINK => $xlink,
+ VERBOSE => $vlink,
DIRSTAMP => $dirstamp);
if ($seen_libobjs)
{
@@ -4058,7 +4102,8 @@ sub handle_configure ($$$@)
'USE-DEPS' => global_option 'no-dependencies'
? ' --ignore-deps' : '',
'MAKEFILE-AM-SOURCES' => "$makefile$colon_infile",
- 'REGEN-ACLOCAL-M4' => $regen_aclocal_m4);
+ 'REGEN-ACLOCAL-M4' => $regen_aclocal_m4,
+ VERBOSE => '${am__verbose_GEN}');
if ($relative_dir eq '.')
{
@@ -6048,7 +6093,6 @@ sub define_pretty_variable ($$$@)
}
}
-
# define_variable ($VAR, $VALUE, $WHERE)
# --------------------------------------
# Define a new Automake Makefile variable VAR to VALUE, but only if
@@ -6112,7 +6156,7 @@ sub define_compiler_variable ($)
if $lang->libtool_tag && exists $libtool_tags{$lang->libtool_tag};
&define_variable ($var, $value, INTERNAL);
&define_variable ("LT$var",
- "\$(LIBTOOL) $libtool_tag\$(AM_LIBTOOLFLAGS) "
+ "\$(LIBTOOL) \${am__libtool_silent}
$libtool_tag\$(AM_LIBTOOLFLAGS) "
. "\$(LIBTOOLFLAGS) --mode=compile $value",
INTERNAL)
if var ('LIBTOOL');
@@ -6134,7 +6178,7 @@ sub define_linker_variable ($)
# CCLINK = $(CCLD) blah blah...
&define_variable ($lang->linker,
((var ('LIBTOOL') ?
- "\$(LIBTOOL) $libtool_tag\$(AM_LIBTOOLFLAGS) "
+ "\$(LIBTOOL) \${am__libtool_silent}
$libtool_tag\$(AM_LIBTOOLFLAGS) "
. "\$(LIBTOOLFLAGS) --mode=link " : '')
. $lang->link),
INTERNAL);
@@ -6162,7 +6206,7 @@ sub define_per_target_linker_variable ($$)
if $lang->libtool_tag && exists $libtool_tags{$lang->libtool_tag};
$link_command =
- "\$(LIBTOOL) $libtool_tag\$(AM_LIBTOOLFLAGS) \$(LIBTOOLFLAGS) "
+ "\$(LIBTOOL) \${am__libtool_silent} $libtool_tag\$(AM_LIBTOOLFLAGS)
\$(LIBTOOLFLAGS) "
. "--mode=link " . $link_command;
}
@@ -6180,11 +6224,11 @@ sub define_per_target_linker_variable ($$)
# If the computed command is the same as the generic command, use
# the command linker variable.
- return $lang->linker
+ return ($lang->linker, $lang->verbose_link)
if $link_command eq $orig_command;
&define_variable ("${target}_LINK", $link_command, INTERNAL);
- return "${target}_LINK";
+ return ("${target}_LINK", $lang->verbose_link);
}
################################################################
@@ -6531,6 +6575,76 @@ sub read_main_am_file
$output_vars .= '# ' . subst ('configure_input') . "\n";
$output_vars .= $gen_copyright;
+ # We are using an indirection via am__1verbose_* here so that
+ # ${V} is not used in any files but automake.in itself,
+ # especially avoiding the use of ${V} template files (lib/am/).
+ #
+ # GEN is for generate, which you can use for any manual rules.
+ $output_vars .= join("\n",
+ 'V = ${AUTOMAKE_VERBOSITY}',
+ 'am__1libtool_silent_0 = --silent',
+ 'am__1libtool_silent_1 = --silent',
+ 'am__1verbose_CC_0 = @echo " CC " $@;',
+ 'am__1verbose_CCLD_0 = @echo " CCLD " $@;',
+ 'am__1verbose_CXX_0 = @echo " CXX " $@;',
+ 'am__1verbose_CXXLD_0 = @echo " CXXLD " $@;',
+ 'am__1verbose_OBJC_0 = @echo " OBJC " $@;',
+ 'am__1verbose_OBJCLD_0 = @echo " OBJCLD " $@;',
+ 'am__1verbose_UPC_0 = @echo " UPC " $@;',
+ 'am__1verbose_UPCLD_0 = @echo " UPCLD " $@;',
+ 'am__1verbose_YACC_0 = @echo " YACC " $@;',
+ 'am__1verbose_LEX_0 = @echo " LEX " $@;',
+ 'am__1verbose_AS_0 = @echo " AS " $@;',
+ 'am__1verbose_F77_0 = @echo " F77 " $@;',
+ 'am__1verbose_F77LD_0 = @echo " F77LD " $@;',
+ 'am__1verbose_FC_0 = @echo " FC " $@;',
+ 'am__1verbose_FCLD_0 = @echo " FCLD " $@;',
+ 'am__1verbose_GCJ_0 = @echo " GCJ " $@;',
+ 'am__1verbose_GCJLD_0 = @echo " GCJLD " $@;',
+ 'am__1verbose_AR_0 = @echo " AR " $@;',
+ 'am__1verbose_GEN_0 = @echo " GEN " $@;',
+ 'am__1verbose_CC_1 = @echo " CC " $@ "<-" $<;',
+ 'am__1verbose_CCLD_1 = @echo " CCLD " $@ "<-" $<;',
+ 'am__1verbose_CXX_1 = @echo " CXX " $@ "<-" $<;',
+ 'am__1verbose_CXXLD_1 = @echo " CXXLD " $@ "<-" $<;',
+ 'am__1verbose_OBJC_1 = @echo " OBJC " $@ "<-" $<;',
+ 'am__1verbose_OBJCLD_1 = @echo " OBJCLD " $@ "<-" $<;',
+ 'am__1verbose_UPC_1 = @echo " UPC " $@ "<-" $<;',
+ 'am__1verbose_UPCLD_1 = @echo " UPCLD " $@ "<-" $<;',
+ 'am__1verbose_YACC_1 = @echo " YACC " $@ "<-" $<;',
+ 'am__1verbose_LEX_1 = @echo " LEX " $@ "<-" $<;',
+ 'am__1verbose_AS_1 = @echo " AS " $@ "<-" $<;',
+ 'am__1verbose_F77_1 = @echo " F77 " $@ "<-" $<;',
+ 'am__1verbose_F77LD_1 = @echo " F77LD " $@ "<-" $<;',
+ 'am__1verbose_FC_1 = @echo " FC " $@ "<-" $<;',
+ 'am__1verbose_FCLD_1 = @echo " FCLD " $@ "<-" $<;',
+ 'am__1verbose_GCJ_1 = @echo " GCJ " $@ "<-" $<;',
+ 'am__1verbose_GCJLD_1 = @echo " GCJLD " $@ "<-" $<;',
+ 'am__1verbose_AR_1 = @echo " AR " $@ "<-" $<;',
+ 'am__1verbose_GEN_1 = @echo " GEN " $@ "<-" $<;',
+ 'am__libtool_silent = ${am__1libtool_silent_${V}}',
+ 'am__verbose_CC = ${am__1verbose_CC_${V}}',
+ 'am__verbose_CCLD = ${am__1verbose_CCLD_${V}}',
+ 'am__verbose_CXX = ${am__1verbose_CXX_${V}}',
+ 'am__verbose_CXXLD = ${am__1verbose_CXXLD_${V}}',
+ 'am__verbose_OBJC = ${am__1verbose_OBJC_${V}}',
+ 'am__verbose_OBJCLD = ${am__1verbose_OBJCLD_${V}}',
+ 'am__verbose_UPC = ${am__1verbose_UPC_${V}}',
+ 'am__verbose_UPCLD = ${am__1verbose_UPCLD_${V}}',
+ 'am__verbose_YACC = ${am__1verbose_YACC_${V}}',
+ 'am__verbose_LEX = ${am__1verbose_LEX_${V}}',
+ 'am__verbose_AS = ${am__1verbose_AS_${V}}',
+ 'am__verbose_F77 = ${am__1verbose_F77_${V}}',
+ 'am__verbose_F77LD = ${am__1verbose_F77LD_${V}}',
+ 'am__verbose_FC = ${am__1verbose_FC_${V}}',
+ 'am__verbose_FCLD = ${am__1verbose_FCLD_${V}}',
+ 'am__verbose_GCJ = ${am__1verbose_GCJ_${V}}',
+ 'am__verbose_GCJLD = ${am__1verbose_GCJLD_${V}}',
+ 'am__verbose_AR = ${am__1verbose_AR_${V}}',
+ 'am__verbose_GEN = ${am__1verbose_GEN_${V}}',
+ '',
+ );
+
# We want to predefine as many variables as possible. This lets
# the user set them with `+=' in Makefile.am.
&define_standard_variables;
diff --git a/lib/am/depend2.am b/lib/am/depend2.am
index 1a13bd2..0b81e3c 100644
--- a/lib/am/depend2.am
+++ b/lib/am/depend2.am
@@ -63,12 +63,13 @@ if %?NONLIBTOOL%
if %FASTDEP%
## In fast-dep mode, we can always use -o.
## For non-suffix rules, we must emulate a VPATH search on %SOURCE%.
-?!GENERIC? %COMPILE% -MT %OBJ% -MD -MP -MF %DEPBASE%.Tpo %-c% -o %OBJ%
%SOURCEFLAG%`test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE%
-?GENERIC??!SUBDIROBJ? %COMPILE% -MT %OBJ% -MD -MP -MF %DEPBASE%.Tpo %-c% -o
%OBJ% %SOURCEFLAG%%SOURCE%
-?GENERIC??SUBDIROBJ? depbase=`echo %OBJ% | sed
's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+?!GENERIC? %VERBOSE%%COMPILE% -MT %OBJ% -MD -MP -MF %DEPBASE%.Tpo %-c% -o
%OBJ% %SOURCEFLAG%`test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE%
+?GENERIC??!SUBDIROBJ? %VERBOSE%%COMPILE% -MT %OBJ% -MD -MP -MF %DEPBASE%.Tpo
%-c% -o %OBJ% %SOURCEFLAG%%SOURCE%
+?GENERIC??SUBDIROBJ? %VERBOSE%depbase=`echo %OBJ% | sed
's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
?GENERIC??SUBDIROBJ? %COMPILE% -MT %OBJ% -MD -MP -MF %DEPBASE%.Tpo %-c% -o
%OBJ% %SOURCEFLAG%%SOURCE% &&\
$(am__mv) %DEPBASE%.Tpo %DEPBASE%.Po
else !%FASTDEP%
+ %VERBOSE% @AMDEPBACKSLASH@
if %AMDEP%
source='%SOURCE%' object='%OBJ%' libtool=no @AMDEPBACKSLASH@
DEPDIR=$(DEPDIR) $(%FPFX%DEPMODE) $(depcomp) @AMDEPBACKSLASH@
@@ -88,12 +89,13 @@ endif !%FASTDEP%
if %FASTDEP%
## In fast-dep mode, we can always use -o.
## For non-suffix rules, we must emulate a VPATH search on %SOURCE%.
-?!GENERIC? %COMPILE% -MT %OBJOBJ% -MD -MP -MF %DEPBASE%.Tpo %-c% -o
%OBJOBJ% %SOURCEFLAG%`if test -f '%SOURCE%'; then $(CYGPATH_W) '%SOURCE%'; else
$(CYGPATH_W) '$(srcdir)/%SOURCE%'; fi`
-?GENERIC??!SUBDIROBJ? %COMPILE% -MT %OBJOBJ% -MD -MP -MF %DEPBASE%.Tpo %-c%
-o %OBJOBJ% %SOURCEFLAG%`$(CYGPATH_W) '%SOURCE%'`
-?GENERIC??SUBDIROBJ? depbase=`echo %OBJ% | sed
's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+?!GENERIC? %VERBOSE%%COMPILE% -MT %OBJOBJ% -MD -MP -MF %DEPBASE%.Tpo %-c%
-o %OBJOBJ% %SOURCEFLAG%`if test -f '%SOURCE%'; then $(CYGPATH_W) '%SOURCE%';
else $(CYGPATH_W) '$(srcdir)/%SOURCE%'; fi`
+?GENERIC??!SUBDIROBJ? %VERBOSE%%COMPILE% -MT %OBJOBJ% -MD -MP -MF
%DEPBASE%.Tpo %-c% -o %OBJOBJ% %SOURCEFLAG%`$(CYGPATH_W) '%SOURCE%'`
+?GENERIC??SUBDIROBJ? %VERBOSE%depbase=`echo %OBJ% | sed
's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
?GENERIC??SUBDIROBJ? %COMPILE% -MT %OBJOBJ% -MD -MP -MF %DEPBASE%.Tpo %-c%
-o %OBJOBJ% %SOURCEFLAG%`$(CYGPATH_W) '%SOURCE%'` &&\
$(am__mv) %DEPBASE%.Tpo %DEPBASE%.Po
else !%FASTDEP%
+ %VERBOSE% @AMDEPBACKSLASH@
if %AMDEP%
source='%SOURCE%' object='%OBJOBJ%' libtool=no @AMDEPBACKSLASH@
DEPDIR=$(DEPDIR) $(%FPFX%DEPMODE) $(depcomp) @AMDEPBACKSLASH@
@@ -115,12 +117,13 @@ if %?LIBTOOL%
if %FASTDEP%
## In fast-dep mode, we can always use -o.
## For non-suffix rules, we must emulate a VPATH search on %SOURCE%.
-?!GENERIC? %LTCOMPILE% -MT %LTOBJ% -MD -MP -MF %DEPBASE%.Tpo %-c% -o
%LTOBJ% %SOURCEFLAG%`test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE%
-?GENERIC??!SUBDIROBJ? %LTCOMPILE% -MT %LTOBJ% -MD -MP -MF %DEPBASE%.Tpo %-c%
-o %LTOBJ% %SOURCEFLAG%%SOURCE%
-?GENERIC??SUBDIROBJ? depbase=`echo %OBJ% | sed
's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+?!GENERIC? %VERBOSE%%LTCOMPILE% -MT %LTOBJ% -MD -MP -MF %DEPBASE%.Tpo %-c%
-o %LTOBJ% %SOURCEFLAG%`test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE%
+?GENERIC??!SUBDIROBJ? %VERBOSE%%LTCOMPILE% -MT %LTOBJ% -MD -MP -MF
%DEPBASE%.Tpo %-c% -o %LTOBJ% %SOURCEFLAG%%SOURCE%
+?GENERIC??SUBDIROBJ? %VERBOSE%depbase=`echo %OBJ% | sed
's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
?GENERIC??SUBDIROBJ? %LTCOMPILE% -MT %LTOBJ% -MD -MP -MF %DEPBASE%.Tpo %-c%
-o %LTOBJ% %SOURCEFLAG%%SOURCE% &&\
$(am__mv) %DEPBASE%.Tpo %DEPBASE%.Plo
else !%FASTDEP%
+ %VERBOSE% @AMDEPBACKSLASH@
if %AMDEP%
source='%SOURCE%' object='%LTOBJ%' libtool=yes @AMDEPBACKSLASH@
DEPDIR=$(DEPDIR) $(%FPFX%DEPMODE) $(depcomp) @AMDEPBACKSLASH@
diff --git a/lib/am/lex.am b/lib/am/lex.am
index b44daf1..19b36ee 100644
--- a/lib/am/lex.am
+++ b/lib/am/lex.am
@@ -23,7 +23,8 @@ endif %?MAINTAINER-MODE%
?GENERIC?%EXT%%DERIVED-EXT%:
?!GENERIC?%OBJ%: %SOURCE%
-?GENERIC? $(am__skiplex) $(SHELL) $(YLWRAP) %SOURCE% $(LEX_OUTPUT_ROOT).c
%OBJ% -- %COMPILE%
+?GENERIC? %VERBOSE%$(am__skiplex) $(SHELL) $(YLWRAP) %SOURCE%
$(LEX_OUTPUT_ROOT).c %OBJ% -- %COMPILE%
+?!GENERIC? %VERBOSE% \
?!GENERIC??DIST_SOURCE? $(am__skiplex) \
## For non-suffix rules, we must emulate a VPATH search on %SOURCE%.
?!GENERIC? $(SHELL) $(YLWRAP) `test -f '%SOURCE%' || echo
'$(srcdir)/'`%SOURCE% $(LEX_OUTPUT_ROOT).c %OBJ% -- %COMPILE%
diff --git a/lib/am/library.am b/lib/am/library.am
index 8bf83e5..557ff41 100644
--- a/lib/am/library.am
+++ b/lib/am/library.am
@@ -14,6 +14,6 @@
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>.
%LIBRARY%: $(%XLIBRARY%_OBJECTS) $(%XLIBRARY%_DEPENDENCIES) %DIRSTAMP%
- -rm -f %LIBRARY%
- $(%XLIBRARY%_AR) %LIBRARY% $(%XLIBRARY%_OBJECTS) $(%XLIBRARY%_LIBADD)
+ %VERBOSE%rm -f %LIBRARY% || true; \
+ $(%XLIBRARY%_AR) %LIBRARY% $(%XLIBRARY%_OBJECTS) $(%XLIBRARY%_LIBADD)
&& \
$(RANLIB) %LIBRARY%
diff --git a/lib/am/ltlibrary.am b/lib/am/ltlibrary.am
index 228f02e..2495797 100644
--- a/lib/am/ltlibrary.am
+++ b/lib/am/ltlibrary.am
@@ -14,4 +14,4 @@
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>.
%LTLIBRARY%: $(%XLTLIBRARY%_OBJECTS) $(%XLTLIBRARY%_DEPENDENCIES) %DIRSTAMP%
- $(%XLINK%) %RPATH% $(%XLTLIBRARY%_OBJECTS) $(%XLTLIBRARY%_LIBADD)
$(LIBS)
+ %VERBOSE%$(%XLINK%) %RPATH% $(%XLTLIBRARY%_OBJECTS)
$(%XLTLIBRARY%_LIBADD) $(LIBS)
diff --git a/lib/am/program.am b/lib/am/program.am
index 65ba506..8f69c77 100644
--- a/lib/am/program.am
+++ b/lib/am/program.am
@@ -21,4 +21,4 @@
## Or maybe not... sadly, incremental linkers are rarer than losing
## systems.
@rm -f %PROGRAM%%EXEEXT%
- $(%XLINK%) $(%XPROGRAM%_OBJECTS) $(%XPROGRAM%_LDADD) $(LIBS)
+ %VERBOSE%$(%XLINK%) $(%XPROGRAM%_OBJECTS) $(%XPROGRAM%_LDADD) $(LIBS)
diff --git a/lib/am/yacc.am b/lib/am/yacc.am
index 50fd7fa..d16a2c4 100644
--- a/lib/am/yacc.am
+++ b/lib/am/yacc.am
@@ -41,7 +41,8 @@ endif %?MAINTAINER-MODE%
?GENERIC?%EXT%%DERIVED-EXT%:
?!GENERIC?%OBJ%: %SOURCE%
-?GENERIC? $(am__skipyacc) $(SHELL) $(YLWRAP) %SOURCE% y.tab.c %OBJ%
y.tab.h %BASE%.h y.output %BASE%.output -- %COMPILE%
+?GENERIC? %VERBOSE%$(am__skipyacc) $(SHELL) $(YLWRAP) %SOURCE% y.tab.c
%OBJ% y.tab.h %BASE%.h y.output %BASE%.output -- %COMPILE%
+?!GENERIC? %VERBOSE% \
?!GENERIC??DIST_SOURCE? $(am__skipyacc) \
## For non-suffix rules, we must emulate a VPATH search on %SOURCE%.
?!GENERIC? $(SHELL) $(YLWRAP) `test -f '%SOURCE%' || echo
'$(srcdir)/'`%SOURCE% y.tab.c %OBJ% y.tab.h %BASE%.h y.output %BASE%.output --
%COMPILE%
diff --git a/m4/Makefile.am b/m4/Makefile.am
index 9f5e1c2..0585087 100644
--- a/m4/Makefile.am
+++ b/m4/Makefile.am
@@ -52,6 +52,7 @@ python.m4 \
regex.m4 \
runlog.m4 \
sanity.m4 \
+silent.m4 \
strip.m4 \
substnot.m4 \
tar.m4 \
diff --git a/m4/Makefile.in b/m4/Makefile.in
index a15fd1b..f21d62a 100644
--- a/m4/Makefile.in
+++ b/m4/Makefile.in
@@ -196,6 +196,7 @@ python.m4 \
regex.m4 \
runlog.m4 \
sanity.m4 \
+silent.m4 \
strip.m4 \
substnot.m4 \
tar.m4 \
diff --git a/m4/silent.m4 b/m4/silent.m4
new file mode 100644
index 0000000..dcb6344
--- /dev/null
+++ b/m4/silent.m4
@@ -0,0 +1,7 @@
+
+dnl If the developer does not specify AM_VERBOSITY at all,
+dnl automake will proceed as if AUTOMAKE_VERBOSITY="".
+
+AC_DEFUN([AM_VERBOSITY], [
+ AC_SUBST([AUTOMAKE_VERBOSITY], [$1])
+])