From: Jeff Smith Subject: [PATCH v2] makefiles: Add configure flag to allow silent build output. Message-Id: <20201025020359.1638468-1-whydoubt@gmail.com> Date: Sat, 24 Oct 2020 21:03:59 -0500 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 --- 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@ +@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 $@.new && mv $@.new $@\n", + output( "\t$(QUIET_MSGMERGE)msgmerge --previous -q $@ %s/wine.pot | msgattrib --no-obsolete -o $@.new && mv $@.new $@\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