[PATCH v2] makefiles: Add configure flag to allow silent build output.

Jeff Smith whydoubt at gmail.com
Sat Oct 24 21:03:59 CDT 2020


Adds configure flag --enable-silent-rules. Use of this flag will result
in the output from make being much quieter. This option can still be
over-ridden at make-time by setting V=1.

Signed-off-by: Jeff Smith <whydoubt at gmail.com>
---
v2:
Moved rule generation to the configure stage, so no variable indirection
ends up in the Makefile unless it has been implicitly requested.

Note: If someone uses an implementation of make that does _not_ support
variable indirection (a.k.a. computed variable name, nested variable
reference, or nested macro expansion), they can and should avoid using
the --enable-silent-rules flag. AFAICT, when this subject came up for
automake over 10 years ago, such a make implemention was not identified,
except for some that were already obsolete/unsupported at the time.

 Makefile.in     |  3 +-
 configure       | 76 +++++++++++++++++++++++++++++++++++++++++++++++++
 configure.ac    | 15 ++++++++++
 tools/makedep.c | 62 ++++++++++++++++++++--------------------
 4 files changed, 124 insertions(+), 32 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index 307a95b3b1a..28144fdd269 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -88,6 +88,7 @@ TOP_INSTALL_LIB     = @TOP_INSTALL_LIB@
 TOP_INSTALL_DEV     = @TOP_INSTALL_DEV@
 @ALL_VARS_RULES@
 @SET_MAKE@
+ at SILENT_RULES@
 
 all: wine
 	@echo "Wine build complete."
@@ -122,7 +123,7 @@ programs/winetest/build.rc: dummy
 	@build="STRINGTABLE { 1 \"`GIT_DIR=$(srcdir)/.git git rev-parse HEAD 2>/dev/null`\" }" && (echo $$build | cmp -s - $@) || echo $$build >$@ || (rm -f $@ && exit 1)
 
 programs/winetest/build.nfo:
-	-$(CC) -v 2>$@
+	@-$(CC) -v 2>$@
 
 dlls/wineandroid.drv/wine-debug.apk: dlls/wineandroid.drv/build.gradle $(srcdir)/dlls/wineandroid.drv/AndroidManifest.xml $(srcdir)/dlls/wineandroid.drv/WineActivity.java $(srcdir)/dlls/wineandroid.drv/wine.svg
 	cd dlls/wineandroid.drv && gradle -q -Psrcdir=$(srcdir) assembleDebug
diff --git a/configure b/configure
index 2686af02232..6928dfdd176 100755
--- a/configure
+++ b/configure
@@ -773,6 +773,7 @@ AR
 BISON
 FLEX
 TOOLSDIR
+SILENT_RULES
 TARGETFLAGS
 LD
 CPPBIN
@@ -842,6 +843,7 @@ enable_win64
 enable_tests
 enable_maintainer_mode
 enable_werror
+enable_silent_rules
 with_alsa
 with_capi
 with_cms
@@ -2572,6 +2574,7 @@ Optional Features:
   --enable-maintainer-mode
                           enable maintainer-specific build rules
   --enable-werror         treat compilation warnings as errors
+  --enable-silent-rules   produce quieter build output (override: 'make V=1')
   --disable-largefile     omit support for large files
 
 Optional Packages:
@@ -3905,6 +3908,11 @@ if test "${enable_werror+set}" = set; then :
   enableval=$enable_werror;
 fi
 
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+  enableval=$enable_silent_rules;
+fi
+
 
 
 # Check whether --with-alsa was given.
@@ -5823,6 +5831,74 @@ then
     test "x$libdir" != "x\${exec_prefix}/lib" || libdir="\${exec_prefix}/lib64"
 fi
 
+if test "x$enable_silent_rules" = "xyes"
+then
+  SILENT_RULES="QUIET = \$(QUIET_\$(V))
+QUIET_ = \$(QUIET_0)
+QUIET_0 = @
+QUIET_AR = \$(QUIET_AR_\$(V))
+QUIET_AR_ = \$(QUIET_AR_0)
+QUIET_AR_0 = @echo '   ' AR \$@;
+QUIET_BISON = \$(QUIET_BISON_\$(V))
+QUIET_BISON_ = \$(QUIET_BISON_0)
+QUIET_BISON_0 = @echo '   ' BISON \$@;
+QUIET_BUILDIMAGE = \$(QUIET_BUILDIMAGE_\$(V))
+QUIET_BUILDIMAGE_ = \$(QUIET_BUILDIMAGE_0)
+QUIET_BUILDIMAGE_0 = @echo '   ' BUILDIMAGE \$@;
+QUIET_CC = \$(QUIET_CC_\$(V))
+QUIET_CC_ = \$(QUIET_CC_0)
+QUIET_CC_0 = @echo '   ' CC \$@;
+QUIET_CCLD = \$(QUIET_CCLD_\$(V))
+QUIET_CCLD_ = \$(QUIET_CCLD_0)
+QUIET_CCLD_0 = @echo '   ' CCLD \$@;
+QUIET_GEN = \$(QUIET_GEN_\$(V))
+QUIET_GEN_ = \$(QUIET_GEN_0)
+QUIET_GEN_0 = @echo '   ' GEN \$@;
+QUIET_FLEX = \$(QUIET_FLEX_\$(V))
+QUIET_FLEX_ = \$(QUIET_FLEX_0)
+QUIET_FLEX_0 = @echo '   ' FLEX \$@;
+QUIET_FONTFORGE = \$(QUIET_FONTFORGE_\$(V))
+QUIET_FONTFORGE_ = \$(QUIET_FONTFORGE_0)
+QUIET_FONTFORGE_0 = @echo '   ' FONTFORGE \$@;
+QUIET_LN = \$(QUIET_LN_\$(V))
+QUIET_LN_ = \$(QUIET_LN_0)
+QUIET_LN_0 = @echo '   ' LN \$@;
+QUIET_MAKE_XFTMPL = \$(QUIET_MAKE_XFTMPL_\$(V))
+QUIET_MAKE_XFTMPL_ = \$(QUIET_MAKE_XFTMPL_0)
+QUIET_MAKE_XFTMPL_0 = @echo '   ' MAKE_XFTMPL \$@;
+QUIET_MSGCAT = \$(QUIET_MSGCAT_\$(V))
+QUIET_MSGCAT_ = \$(QUIET_MSGCAT_0)
+QUIET_MSGCAT_0 = @echo '   ' MSGCAT \$@;
+QUIET_MSGFMT = \$(QUIET_MSGFMT_\$(V))
+QUIET_MSGFMT_ = \$(QUIET_MSGFMT_0)
+QUIET_MSGFMT_0 = @echo '   ' MSGFMT \$@;
+QUIET_MSGMERGE = \$(QUIET_MSGMERGE_\$(V))
+QUIET_MSGMERGE_ = \$(QUIET_MSGMERGE_0)
+QUIET_MSGMERGE_0 = @echo '   ' MSGMERGE \$@;
+QUIET_RANLIB = \$(QUIET_RANLIB_\$(V))
+QUIET_RANLIB_ = \$(QUIET_RANLIB_0)
+QUIET_RANLIB_0 = @echo '   ' RANLIB \$@;
+QUIET_SFNT2FON = \$(QUIET_SFNT2FON_\$(V))
+QUIET_SFNT2FON_ = \$(QUIET_SFNT2FON_0)
+QUIET_SFNT2FON_0 = @echo '   ' SFNT2FON \$@;
+QUIET_TEST = \$(QUIET_TEST_\$(V))
+QUIET_TEST_ = \$(QUIET_TEST_0)
+QUIET_TEST_0 = @echo '   ' TEST \$@;
+QUIET_WIDL = \$(QUIET_WIDL_\$(V))
+QUIET_WIDL_ = \$(QUIET_WIDL_0)
+QUIET_WIDL_0 = @echo '   ' WIDL \$@;
+QUIET_WINEBUILD = \$(QUIET_WINEBUILD_\$(V))
+QUIET_WINEBUILD_ = \$(QUIET_WINEBUILD_0)
+QUIET_WINEBUILD_0 = @echo '   ' WINEBUILD \$@;
+QUIET_WMC = \$(QUIET_WMC_\$(V))
+QUIET_WMC_ = \$(QUIET_WMC_0)
+QUIET_WMC_0 = @echo '   ' WMC \$@;
+QUIET_WRC = \$(QUIET_WRC_\$(V))
+QUIET_WRC_ = \$(QUIET_WRC_0)
+QUIET_WRC_0 = @echo '   ' WRC \$@;
+"
+fi
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the directory containing the Wine tools" >&5
 $as_echo_n "checking for the directory containing the Wine tools... " >&6; }
 if ${wine_cv_toolsdir+:} false; then :
diff --git a/configure.ac b/configure.ac
index 372785ee0fd..a3b2bbbc17e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -33,6 +33,7 @@ AC_ARG_ENABLE(win64, AS_HELP_STRING([--enable-win64],[build a Win64 emulator on
 AC_ARG_ENABLE(tests, AS_HELP_STRING([--disable-tests],[do not build the regression tests]))
 AC_ARG_ENABLE(maintainer-mode, AS_HELP_STRING([--enable-maintainer-mode],[enable maintainer-specific build rules]))
 AC_ARG_ENABLE(werror, AS_HELP_STRING([--enable-werror],[treat compilation warnings as errors]))
+AC_ARG_ENABLE(silent-rules, AS_HELP_STRING([--enable-silent-rules],[produce quieter build output (override: 'make V=1')]))
 
 AC_ARG_WITH(alsa,      AS_HELP_STRING([--without-alsa],[do not use the Alsa sound support]))
 AC_ARG_WITH(capi,      AS_HELP_STRING([--without-capi],[do not use CAPI (ISDN support)]))
@@ -226,6 +227,20 @@ then
     test "x$libdir" != "x\${exec_prefix}/lib" || libdir="\${exec_prefix}/lib64"
 fi
 
+if test "x$enable_silent_rules" = "xyes"
+then
+  AC_SUBST(SILENT_RULES,
+"QUIET = \$(QUIET_\$(V))
+QUIET_ = \$(QUIET_0)
+QUIET_0 = @
+m4_foreach_w([rule],[AR BISON BUILDIMAGE CC CCLD GEN FLEX FONTFORGE LN MAKE_XFTMPL MSGCAT
+                     MSGFMT MSGMERGE RANLIB SFNT2FON TEST WIDL WINEBUILD WMC WRC],
+[QUIET_[]rule = \$(QUIET_[]rule[]_\$(V))
+QUIET_[]rule[]_ = \$(QUIET_[]rule[]_0)
+QUIET_[]rule[]_0 = @echo '   ' rule \$@;
+])")dnl
+fi
+
 AC_CACHE_CHECK([for the directory containing the Wine tools], wine_cv_toolsdir,
   [wine_cv_toolsdir="$with_wine_tools"
    if test -z "$with_wine_tools"; then
diff --git a/tools/makedep.c b/tools/makedep.c
index 90a21ef825c..ea1efcdc019 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -2408,7 +2408,7 @@ static const char *get_debug_file( struct makefile *make, const char *name )
  */
 static void output_winegcc_command( struct makefile *make, int is_cross )
 {
-    output( "\t%s -o $@", tools_path( make, "winegcc" ));
+    output( "\t$(QUIET_CCLD)%s -o $@", tools_path( make, "winegcc" ));
     output_filename( "--wine-objdir ." );
     if (tools_dir)
     {
@@ -2445,7 +2445,7 @@ static void output_symlink_rule( const char *src_name, const char *link_name, in
         dir[name - link_name] = 0;
     }
 
-    output( "\t" );
+    output( "\t$(QUIET_LN)" );
     if (create_dir && dir && *dir) output( "%s -d %s && ", root_src_dir_path( "tools/install-sh" ), dir );
     output( "rm -f %s && ", link_name );
 
@@ -2672,7 +2672,7 @@ static void output_po_files( const struct makefile *make )
         for (i = 0; i < linguas.count; i++)
             output_filename( strmake( "%s/%s.po", po_dir, linguas.str[i] ));
         output( ": %s/wine.pot\n", po_dir );
-        output( "\tmsgmerge --previous -q $@ %s/wine.pot | msgattrib --no-obsolete -o [email protected] && mv [email protected] $@\n",
+        output( "\t$(QUIET_MSGMERGE)msgmerge --previous -q $@ %s/wine.pot | msgattrib --no-obsolete -o [email protected] && mv [email protected] $@\n",
                 po_dir );
         output( "po:" );
         for (i = 0; i < linguas.count; i++)
@@ -2682,7 +2682,7 @@ static void output_po_files( const struct makefile *make )
     output( "%s/wine.pot:", po_dir );
     output_filenames( make->pot_files );
     output( "\n" );
-    output( "\tmsgcat -o $@" );
+    output( "\t$(QUIET_MSGCAT)msgcat -o $@" );
     output_filenames( make->pot_files );
     output( "\n" );
 }
@@ -2699,7 +2699,7 @@ static void output_source_y( struct makefile *make, struct incl_file *source, co
     if (find_include_file( make, header ))
     {
         output( "%s: %s\n", obj_dir_path( make, header ), source->filename );
-        output( "\t%s -p %s_ -o %s.tab.c -d %s\n",
+        output( "\t$(QUIET_BISON)%s -p %s_ -o %s.tab.c -d %s\n",
                 bison, obj, obj_dir_path( make, obj ), source->filename );
         output( "%s.tab.c: %s %s\n", obj_dir_path( make, obj ),
                 source->filename, obj_dir_path( make, header ));
@@ -2707,7 +2707,7 @@ static void output_source_y( struct makefile *make, struct incl_file *source, co
     }
     else output( "%s.tab.c: %s\n", obj_dir_path( make, obj ), source->filename );
 
-    output( "\t%s -p %s_ -o $@ %s\n", bison, obj, source->filename );
+    output( "\t$(QUIET_BISON)%s -p %s_ -o $@ %s\n", bison, obj, source->filename );
 }
 
 
@@ -2717,7 +2717,7 @@ static void output_source_y( struct makefile *make, struct incl_file *source, co
 static void output_source_l( struct makefile *make, struct incl_file *source, const char *obj )
 {
     output( "%s.yy.c: %s\n", obj_dir_path( make, obj ), source->filename );
-    output( "\t%s -o$@ %s\n", flex, source->filename );
+    output( "\t$(QUIET_FLEX)%s -o $@ %s\n", flex, source->filename );
 }
 
 
@@ -2755,7 +2755,7 @@ static void output_source_rc( struct makefile *make, struct incl_file *source, c
     output_filename( tools_path( make, "wrc" ));
     output_filenames( source->dependencies );
     output( "\n" );
-    output( "\t%s -u -o $@", tools_path( make, "wrc" ) );
+    output( "\t$(QUIET_WRC)%s -u -o $@", tools_path( make, "wrc" ) );
     if (make->is_win16) output_filename( "-m16" );
     else output_filenames( target_flags );
     output_filename( "--nostdinc" );
@@ -2787,7 +2787,7 @@ static void output_source_mc( struct makefile *make, struct incl_file *source, c
     output_filename( tools_path( make, "wmc" ));
     output_filenames( source->dependencies );
     output( "\n" );
-    output( "\t%s -u -o $@ %s", tools_path( make, "wmc" ), source->filename );
+    output( "\t$(QUIET_WMC)%s -u -o $@ %s", tools_path( make, "wmc" ), source->filename );
     if (linguas.count)
     {
         output_filename( "--po-dir=po" );
@@ -2845,7 +2845,7 @@ static void output_source_idl( struct makefile *make, struct incl_file *source,
 
     output_filenames_obj_dir( make, targets );
     output( ": %s\n", tools_path( make, "widl" ));
-    output( "\t%s -o $@", tools_path( make, "widl" ) );
+    output( "\t$(QUIET_WIDL)%s -o $@", tools_path( make, "widl" ) );
     output_filenames( target_flags );
     output_filename( "--nostdinc" );
     output_filenames( defines );
@@ -2876,7 +2876,7 @@ static void output_source_x( struct makefile *make, struct incl_file *source, co
 {
     output( "%s.h: %s%s %s\n", obj_dir_path( make, obj ),
             tools_dir_path( make, "make_xftmpl" ), tools_ext, source->filename );
-    output( "\t%s%s -H -o $@ %s\n",
+    output( "\t$(QUIET_MAKE_XFTMPL)%s%s -H -o $@ %s\n",
             tools_dir_path( make, "make_xftmpl" ), tools_ext, source->filename );
     if (source->file->flags & FLAG_INSTALL)
     {
@@ -2900,7 +2900,7 @@ static void output_source_sfd( struct makefile *make, struct incl_file *source,
     if (fontforge && !make->src_dir)
     {
         output( "%s: %s\n", ttf_file, source->filename );
-        output( "\t%s -script %s %s $@\n",
+        output( "\t$(QUIET_FONTFORGE)%s -script %s %s $@\n",
                 fontforge, root_src_dir_path( "fonts/genttf.ff" ), source->filename );
         if (!(source->file->flags & FLAG_SFD_FONTS)) strarray_add( &make->font_files, ttf_obj );
     }
@@ -2922,7 +2922,7 @@ static void output_source_sfd( struct makefile *make, struct incl_file *source,
             strarray_add( &make->all_targets, xstrdup( font ));
             output( "%s: %s %s\n", obj_dir_path( make, font ),
                     tools_path( make, "sfnt2fon" ), ttf_file );
-            output( "\t%s -q -o $@ %s %s\n", tools_path( make, "sfnt2fon" ), ttf_file, args );
+            output( "\t$(QUIET_SFNT2FON)%s -q -o $@ %s %s\n", tools_path( make, "sfnt2fon" ), ttf_file, args );
             add_install_rule( make, source->name, xstrdup(font), strmake( "d$(fontdir)/%s", font ));
         }
     }
@@ -2945,7 +2945,7 @@ static void output_source_svg( struct makefile *make, struct incl_file *source,
         if (images[i])
         {
             output( "%s.%s: %s\n", src_dir_path( make, obj ), images[i], source->filename );
-            output( "\tCONVERT=\"%s\" ICOTOOL=\"%s\" RSVG=\"%s\" %s %s $@\n", convert, icotool, rsvg,
+            output( "\t$(QUIET_BUILDIMAGE)CONVERT=\"%s\" ICOTOOL=\"%s\" RSVG=\"%s\" %s %s $@\n", convert, icotool, rsvg,
                     root_src_dir_path( "tools/buildimage" ), source->filename );
         }
     }
@@ -2979,7 +2979,7 @@ static void output_source_desktop( struct makefile *make, struct incl_file *sour
 static void output_source_po( struct makefile *make, struct incl_file *source, const char *obj )
 {
     output( "%s.mo: %s\n", obj_dir_path( make, obj ), source->filename );
-    output( "\t%s -o $@ %s\n", msgfmt, source->filename );
+    output( "\t$(QUIET_MSGFMT)%s -o $@ %s\n", msgfmt, source->filename );
     strarray_add( &make->all_targets, strmake( "%s.mo", obj ));
 }
 
@@ -3014,7 +3014,7 @@ static void output_source_in( struct makefile *make, struct incl_file *source, c
     strarray_add( &make->in_files, xstrdup(obj) );
     strarray_add( &make->all_targets, xstrdup(obj) );
     output( "%s: %s\n", obj_dir_path( make, obj ), source->filename );
-    output( "\t%s %s >$@ || (rm -f $@ && false)\n", sed_cmd, source->filename );
+    output( "\t$(QUIET_GEN)%s %s >$@ || (rm -f $@ && false)\n", sed_cmd, source->filename );
     output( "%s:", obj_dir_path( make, obj ));
     output_filenames( source->dependencies );
     output( "\n" );
@@ -3046,7 +3046,7 @@ static void output_source_spec( struct makefile *make, struct incl_file *source,
     strarray_add( &make->clean_files, dll_name );
     strarray_add( &make->res_files, strmake( "%s.res", obj ));
     output( "%s.res: %s\n", obj_dir_path( make, obj ), obj_dir_path( make, dll_name ));
-    output( "\techo \"%s.dll TESTDLL \\\"%s\\\"\" | %s -u -o $@\n", obj, output_file,
+    output( "\t$(QUIET_WRC)echo \"%s.dll TESTDLL \\\"%s\\\"\" | %s -u -o $@\n", obj, output_file,
             tools_path( make, "wrc" ));
 
     output( "%s:", output_file);
@@ -3104,7 +3104,7 @@ static void output_source_default( struct makefile *make, struct incl_file *sour
         else
             strarray_add( &make->clean_files, strmake( "%s.o", obj ));
         output( "%s.o: %s\n", obj_dir_path( make, obj ), source->filename );
-        output( "\t$(CC) -c -o $@ %s", source->filename );
+        output( "\t$(QUIET_CC)$(CC) -c -o $@ %s", source->filename );
         output_filenames( defines );
         if (make->module || make->staticlib || make->sharedlib || make->testdll)
         {
@@ -3120,7 +3120,7 @@ static void output_source_default( struct makefile *make, struct incl_file *sour
     {
         strarray_add( is_dll_src ? &make->clean_files : &make->crossobj_files, strmake( "%s.cross.o", obj ));
         output( "%s.cross.o: %s\n", obj_dir_path( make, obj ), source->filename );
-        output( "\t$(CROSSCC) -c -o $@ %s", source->filename );
+        output( "\t$(QUIET_CC)$(CROSSCC) -c -o $@ %s", source->filename );
         output_filenames( defines );
         output_filenames( extra_cross_cflags );
         if (source->file->flags & FLAG_C_IMPLIB) output_filename( "-fno-builtin" );
@@ -3135,7 +3135,7 @@ static void output_source_default( struct makefile *make, struct incl_file *sour
         {
             strarray_add( &make->ok_files, strmake( "%s.ok", obj ));
             output( "%s.ok:\n", obj_dir_path( make, obj ));
-            output( "\t%s $(RUNTESTFLAGS) -T . -M %s -p %s%s %s && touch $@\n",
+            output( "\t$(QUIET_TEST)%s $(RUNTESTFLAGS) -T . -M %s -p %s%s %s && touch $@\n",
                     root_src_dir_path( "tools/runtest" ), make->testdll,
                     obj_dir_path( make, replace_extension( make->testdll, ".dll", "_test.exe" )),
                     make->is_cross ? "" : dll_ext, obj );
@@ -3368,7 +3368,7 @@ static void output_module( struct makefile *make )
         {
             strarray_add( &make->clean_files, strmake( "lib%s.def", make->importlib ));
             output( "%s.def: %s %s\n", importlib_path, tools_path( make, "winebuild" ), spec_file );
-            output( "\t%s -w --def -o $@", tools_path( make, "winebuild" ) );
+            output( "\t$(QUIET_WINEBUILD)%s -w --def -o $@", tools_path( make, "winebuild" ) );
             output_filenames( target_flags );
             if (make->is_win16) output_filename( "-m16" );
             output_filename( "--export" );
@@ -3389,7 +3389,7 @@ static void output_module( struct makefile *make )
             output( "%s.a: %s %s", importlib_path, tools_path( make, "winebuild" ), spec_file );
             output_filenames_obj_dir( make, make->implib_objs );
             output( "\n" );
-            output( "\t%s -w --implib -o $@", tools_path( make, "winebuild" ) );
+            output( "\t$(QUIET_WINEBUILD)%s -w --implib -o $@", tools_path( make, "winebuild" ) );
             output_filenames( target_flags );
             if (make->is_win16) output_filename( "-m16" );
             output_filename( "--export" );
@@ -3416,7 +3416,7 @@ static void output_module( struct makefile *make )
             output( ": %s %s", tools_path( make, "winebuild" ), spec_file );
             output_filenames_obj_dir( make, cross_files );
             output( "\n" );
-            output( "\t%s -b %s -w --implib -o $@", tools_path( make, "winebuild" ), crosstarget );
+            output( "\t$(QUIET_WINEBUILD)%s -b %s -w --implib -o $@", tools_path( make, "winebuild" ), crosstarget );
             if (make->is_win16) output_filename( "-m16" );
             output_filename( "--export" );
             output_filename( spec_file );
@@ -3446,11 +3446,11 @@ static void output_static_lib( struct makefile *make )
     output( "%s:", obj_dir_path( make, make->staticlib ));
     output_filenames_obj_dir( make, make->object_files );
     output_filenames_obj_dir( make, make->unixobj_files );
-    output( "\n\trm -f $@\n" );
-    output( "\t%s rc $@", ar );
+    output( "\n\t$(QUIET)rm -f $@\n" );
+    output( "\t$(QUIET_AR)%s rc $@", ar );
     output_filenames_obj_dir( make, make->object_files );
     output_filenames_obj_dir( make, make->unixobj_files );
-    output( "\n\t%s $@\n", ranlib );
+    output( "\n\t$(QUIET_RANLIB)%s $@\n", ranlib );
     add_install_rule( make, make->staticlib, make->staticlib,
                       strmake( "d$(dlldir)/%s", make->staticlib ));
     if (needs_cross_lib( make ))
@@ -3461,7 +3461,7 @@ static void output_static_lib( struct makefile *make )
         output( "%s: %s", obj_dir_path( make, name ), tools_path( make, "winebuild" ));
         output_filenames_obj_dir( make, make->crossobj_files );
         output( "\n" );
-        output( "\t%s -b %s -w --staticlib -o $@", tools_path( make, "winebuild" ), crosstarget );
+        output( "\t$(QUIET_WINEBUILD)%s -b %s -w --staticlib -o $@", tools_path( make, "winebuild" ), crosstarget );
         output_filenames_obj_dir( make, make->crossobj_files );
         output( "\n" );
     }
@@ -3490,7 +3490,7 @@ static void output_shared_lib( struct makefile *make )
     output_filenames_obj_dir( make, make->object_files );
     output_filenames( dep_libs );
     output( "\n" );
-    output( "\t$(CC) -o $@" );
+    output( "\t$(QUIET_CCLD)$(CC) -o $@" );
     output_filenames_obj_dir( make, make->object_files );
     output_filenames( all_libs );
     output_filename( "$(LDFLAGS)" );
@@ -3557,7 +3557,7 @@ static void output_test_module( struct makefile *make )
     output( "\n" );
 
     output( "programs/winetest/%s: %s%s\n", testres, obj_dir_path( make, stripped ), ext );
-    output( "\techo \"%s TESTRES \\\"%s%s\\\"\" | %s -u -o $@\n",
+    output( "\t$(QUIET_WRC)echo \"%s TESTRES \\\"%s%s\\\"\" | %s -u -o $@\n",
             testmodule, obj_dir_path( make, stripped ), ext, tools_path( make, "wrc" ));
 
     output_filenames_obj_dir( make, make->ok_files );
@@ -3602,7 +3602,7 @@ static void output_programs( struct makefile *make )
         output_filenames_obj_dir( make, objs );
         output_filenames( deps );
         output( "\n" );
-        output( "\t$(CC) -o $@" );
+        output( "\t$(QUIET_CCLD)$(CC) -o $@" );
         output_filenames_obj_dir( make, objs );
         output_filenames( all_libs );
         output_filename( "$(LDFLAGS)" );
@@ -3777,7 +3777,7 @@ static void output_sources( struct makefile *make )
     {
         output( "%s: %s %s\n", obj_dir_path( make, "dlldata.c" ),
                 tools_path( make, "widl" ), src_dir_path( make, "Makefile.in" ));
-        output( "\t%s --dlldata-only -o $@", tools_path( make, "widl" ));
+        output( "\t$(QUIET_WIDL)%s --dlldata-only -o $@", tools_path( make, "widl" ));
         output_filenames( make->dlldata_files );
         output( "\n" );
     }
-- 
2.23.0




More information about the wine-devel mailing list