tech-toolchain archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: make -V default behavior change



On Jun 19,  8:59pm, joerg%bec.de@localhost (Joerg Sonnenberger) wrote:
-- Subject: Re: make -V default behavior change

| > same as before. Nothing changed. -V defaults to expand as it defaulted
| > before not to expand. -dV and .MAKE.EXPAND_VARIABLES overrides the
| > behavior. Yes, this is too complicated but I did not change it; it was
| > there committed as a result of the 2002 conversation.
| 
| But that's the point: "-V FOO" does not deterministically expand FOO --
| it still depends on outside magic.

My understanding is that the outside magic is:

1. -dV 
2. .MAKE.EXPAND_VARIABLES

which is the same as before. Right?

| It's called introspection. Even if it is just for debugging, doesn't
| mean that existing scripts don't depend on it for for automatic
| debugging.

Debugging output is exactly that: to aid in debugging. You are advocating
to keeping the default output to be the debugging output. We already using
${MAKE} -V '$${SRCS}' in our Makefiles just because the default was wrong
to work around it. We can still fix any debug scripts by adding -dV; it
works the same way before and after the change.

| I've seen worse ideas in the wild.

And you are advocating keeping the default behavior to cater to the
bad ideas? If anything you should advocate for breaking them on purpose
to discourage them :-)

| Wrong direction: make -V FOO .MAKE.EXPAND_VARIABLES=0 supersedes any
| local assignment and gives the same behavior as -dV would.

Yes, that works:

[3:18pm] 27>make -f mk .MAKE.EXPAND_VARIABLES:=1 -V FOO
1
[3:18pm] 28>make -f mk .MAKE.EXPAND_VARIABLES:=0 -V FOO
${BAR}

christos


Home | Main Index | Thread Index | Old Index