Re: [PATCH] Makefile: allow no update .config build

li guang
2013-03-29T00:44:09Z

在 2013-03-28四的 10:13 -0700，Randy Dunlap写道：
> On 03/28/13 00:28, liguang wrote:
> > if we pull some commits from other git repo
> > which bring in a few CONFIG_* options, then
> > we have to build all again, but we do assure
> > these options are not interesting for us,
> > so the long waiting build will be offending.
> > this change help us to avoid all-build.
> >
> > Signed-off-by: liguang <lig.fnst@cn.fujitsu.com>
> > ---
> > Makefile | 9 +++++++++
> > 1 files changed, 9 insertions(+), 0 deletions(-)
> >
> > diff --git a/Makefile b/Makefile
> > index 54d2b2a..d10e505 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -106,6 +106,12 @@ ifeq ("$(origin W)", "command line")
> > export KBUILD_ENABLE_EXTRA_GCC_CHECKS := $(W)
> > endif
> >
> > +# KBUILD_NCU is set to do not update .config even
> > +# a few new CONFIG_* options appeared
> > +ifeq ("$(origin NCU)", "command line")
> > + KBUILD_NCU := $(NCU)
> > +endif
> > +
> > # That's our default target when none is given on the command line
> > PHONY := _all
> > _all:
> > @@ -540,8 +546,10 @@ $(KCONFIG_CONFIG) include/config/auto.conf.cmd: ;
> > # with it and forgot to run make oldconfig.
> > # if auto.conf.cmd is missing then we are probably in a cleaned tree so
> > # we execute the config step to be sure to catch updated Kconfig files
> > +ifneq ($(KBUILD_NCU), 1)
> > include/config/%.conf: $(KCONFIG_CONFIG) include/config/auto.conf.cmd
> > $(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
> > +endif # $(KBUILD_NCU)
> > else
> > # external modules needs include/generated/autoconf.h and include/config/auto.conf
> > # but do not care if they are up-to-date. Use auto.conf to trigger the test
> > @@ -1157,6 +1165,7 @@ help:
> > @echo ' 2: warnings which occur quite often but may still be relevant'
> > @echo ' 3: more obscure warnings, can most likely be ignored'
> > @echo ' Multiple levels can be combined with W=12 or W=123'
> > + @echo ' make NCU=1 [targets] no .config udate'
>
> update

OK, I'll update.

Thanks!

>
> > @echo ''
> > @echo 'Execute "make" or "make all" to build all targets marked with [*] '
> > @echo 'For further info see the ./README file'
> >
>
>