(sorry, that was supposed to be a reply all)

On Wed, Sep 18, 2019, 7:21 PM Jeff Smith <whydoubt@gmail.com> wrote:
On Wed, Sep 18, 2019 at 4:03 PM Alexandre Julliard <julliard@winehq.org> wrote:
>
> Jeff Smith <whydoubt@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))