automake
[Top][All Lists]
Advanced

[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])
+])




reply via email to

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