(sorry, that was supposed to be a reply all) On Wed, Sep 18, 2019, 7:21 PM Jeff Smith <whydoubt(a)gmail.com> wrote:
On Wed, Sep 18, 2019 at 4:03 PM Alexandre Julliard <julliard(a)winehq.org> wrote:
Jeff Smith <whydoubt(a)gmail.com> writes:
@@ -3773,6 +3773,20 @@ static void output_sources( struct makefile
*make )
strarray_add( &make->phony_targets, "all" );
+ output("ifeq ($(V),0)\n"); + output(" QUIET = @\n"); + output(" QUIET_AR = @echo ' ' AR $@;\n"); + output(" QUIET_BISON = @echo ' ' BISON $@;\n"); + output(" QUIET_BUILD = @echo ' ' BUILD $@;\n"); + output(" QUIET_CC = @echo ' ' CC $@;\n"); + output(" QUIET_CCLD = @echo ' ' CCLD $@;\n"); + output(" QUIET_GEN = @echo ' ' GEN $@;\n"); + output(" QUIET_FLEX = @echo ' ' FLEX $@;\n"); + output(" QUIET_LN = @echo ' ' LN $@;\n"); + output(" QUIET_RANLIB = @echo ' ' RANLIB $@;\n"); + output(" QUIET_TEST = @echo ' ' TEST $@;\n"); + output("endif\n\n");
We don't use if() in makefiles, for portability reasons.
What other implementations of make are supported that do not handle ifeq()? Would guarding that block in C with an appropriate check make it acceptable?
Alternatively, is nested macro expansion an option? i.e. XYZ=$(XYZ_$(V))