Re: [PATCH] [RFC] Kbuild: avoid "make tinyconfig" warnings

From: Arnd Bergmann
Date: Wed Jul 06 2016 - 09:48:22 EST


On Wednesday, July 6, 2016 11:00:01 AM CEST Masahiro Yamada wrote:
> Hi Arnd,
>
>
> 2016-07-04 23:25 GMT+09:00 Arnd Bergmann <arnd@xxxxxxxx>:
> > The introduction of "make *.config" as a shorthand for merging configuration
> > files unfortunately introduced some build warnings that we see in every
> > single run of the various build bots testing tinyconfig:
>
> I am not convinced with this statement.
>
> Why do you think 63a91033d52e is a bad commit?
>
>
> With/without 63a91033d52e, I see the same warnings.
>
>
> $ git log --oneline -1
> 63a9103 kbuild: add generic mergeconfig target, %.config
> $ make -s mrproper
> $ make tinyconfig >/dev/null
> .config:871:warning: override: KERNEL_XZ changes choice state
> .config:873:warning: override: SLOB changes choice state
> .config:874:warning: override: NOHIGHMEM changes choice state
> $ git checkout HEAD^
> Previous HEAD position was 63a9103... kbuild: add generic mergeconfig
> target, %.config
> HEAD is now at bc8f8f5... merge_config.sh: rename MAKE to RUNMAKE
> $ git log --oneline -1
> bc8f8f5 merge_config.sh: rename MAKE to RUNMAKE
> $ make -s mrproper
> $ make tinyconfig >/dev/null
> .config:871:warning: override: KERNEL_XZ changes choice state
> .config:873:warning: override: SLOB changes choice state
> .config:874:warning: override: NOHIGHMEM changes choice state
>

Sorry about, my mistake. I misread the original Makefile contents.

> > PHONY += tinyconfig
> > -tinyconfig:
> > - $(Q)$(MAKE) -f $(srctree)/Makefile allnoconfig tiny.config
> > +tinyconfig: $(obj)/conf
> > + $(Q)$(MAKE) -f $(srctree)/Makefile allnoconfig KCONFIG_ALLCONFIG=$(wildcard $(srctree)/kernel/configs/tiny.config $(srctree)/arch/$(SRCARCH)/configs/tiny.config)
> >
> > # Help text used by make help
> > help:
>
>
> The dependency "tinyconfig: $(obj)/conf" is redundant.
>
>
> It is already specified by:
>
> allnoconfig allyesconfig allmodconfig alldefconfig randconfig: $(obj)/conf
> $< --$@ $(Kconfig)


I don't see that yet. How does this line provide the dependency?

> What is worse, this patch breaks "make tinyconfig" on x86.

Right, Josh also pointed this out.

So, let's ignore my incorrect patch for the moment. Do you have
any other idea for how to avoid the warning?

Arnd