[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] build: use automake's new $(AM_V_GEN) and $(AM_V_at) variabl
Re: [PATCH] build: use automake's new $(AM_V_GEN) and $(AM_V_at) variables
Sat, 25 Apr 2009 08:58:02 +0200
* Jim Meyering wrote on Sat, Apr 25, 2009 at 08:04:36AM CEST:
> Ralf Wildenhues wrote:
> > Jim Meyering writes:
> >> + $(AM_V_GEN)
> >> + $(AM_V_at)rm -f $@ address@hidden
> > Thanks for using these. Note the $(AM_V_GEN) will expand to the empty
> > string
> > with V=1 or --disable-silent-rules. I am actually not sure whether any make
> > implementation fails hard upon empty rule commands, but a couple of them
> > will
> > output a warning, such as FreeBSD:
> How about making AM_V_GEN expand to ":;" rather than the empty string?
> That would seem slightly more symmetric.
> Fewer pitfalls for users, too.
Yes, I'm still considering that as an alternative. There are two minor
draw-backs of using ":;" over the empty string:
- the verbose output from 'make' will contain the ":;", and users might
wonder about that; on a more aesthetic note (but still quite able to
turn a pretty bikeshed color into an ugly one), this makes the verbose
output from packages using 'silent-rules' differ ever so slightly more
from the output from packages not using the 'silent-rules' option in
the first place.
- GNU make has this minor optimization that, when a rule doesn't contain
any characters special to the shell, then it can go ahead and exec the
command directly, rather than going through another fork&exec with
sh -c "command ..."
The ":;" would prevent this optimization.