[PATCH 1/3] makefiles: Allow make-time silent build output

Alexandre Julliard julliard at winehq.org
Thu Sep 19 04:11:53 CDT 2019


Jeff Smith <whydoubt at gmail.com> writes:

> (sorry, that was supposed to be a reply all)
>
> On Wed, Sep 18, 2019, 7:21 PM Jeff Smith <whydoubt at gmail.com> wrote:
>
>  On Wed, Sep 18, 2019 at 4:03 PM Alexandre Julliard <julliard at winehq.org> wrote:
>  >
>  > Jeff Smith <whydoubt at 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))

No, I'm afraid that's not portable either. You'd need to generate
different makefiles based on the configure flag or something like
that. Though I'm not sure it's worth the trouble.

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list