Messages in this thread | | | Date | Tue, 12 Feb 2008 16:49:16 +0100 | From | "Oleg Verych" <> | Subject | Re: [PATCH] kbuild: fix make V=1 |
| |
On Feb 12, 2008 4:07 PM, Mike Frysinger <vapier@gentoo.org> wrote: [] > > - quiet_chk_filechk = echo ' CHK $@' > > -silent_chk_filechk = : > > - quiet_upd_filechk = echo ' UPD $@' > > -silent_upd_filechk = : > > +quiet_chk_filechk = ' CHK $@' > > +quiet_upd_filechk = ' UPD $@' > > + > > define filechk > > $(Q)set -e; \ > > - $($(quiet)chk_filechk); \ > > + echo $($(quiet)chk_filechk); \ > > mkdir -p $(dir $@); \ > > $(filechk_$(1)) < $< > $@.tmp; \ > > if [ -r $@ ] && cmp -s $@ $@.tmp; then \ > > rm -f $@.tmp; \ > > else \ > > - $($(quiet)upd_filechk); \ > > + echo $($(quiet)upd_filechk); \ > > mv -f $@.tmp $@; \ > > fi > > endef > > i dont see how yours is more efficient when it always runs echo.
Oh, this? It's like doing syscall for every write to "/dev/null".
> nor does it give the same behavior ... your propposed change will echo > blank lines in the silent mode which is incorrect.
At least this will not crash, if you don't have some variable set.
Efficiency there is lesser number of variables(-2 vs +2), that are copied for every make job, and are textually parsed and searched.
> it also does not seem to follow the standard convention of other > kconfig commands that have quiet/silent prefixes ... such commands do > not define arguments to an unknown program/function, nor do they add > arbitrary redirection which gets leads to confusion as to final > expansion, they define the entire command.
Right. Seems like you are talking about "[quite_]cmd_*", which are commands. Here you've invented such rules for ordinary utility in `filechk`. And by try they've failed due to mixing functionality dependency on having arbitrary variable being set.
Shell syntax tried to avoid this, but `make` syntax and ``convention'' did a boom. Boom, where hacker's V=1 mode failed itself and failed to give a clue about problem (at least, when i saw Sam's message in linux-kbuild). Yea, `make` is not needed.
> what Sam posted (and what was merged) makes sense to me. > -mike > -- -o--=O`C #oo'L O <___=E M
| |