lkml.org 
[lkml]   [2015]   [Oct]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [RFC, 1/2] scripts/kconfig/Makefile: Allow KBUILD_DEFCONFIG to be a target
    From
    On Tue, Oct 13, 2015 at 4:43 PM, Michael Ellerman <mpe@ellerman.id.au> wrote:
    > On Tue, 2015-10-13 at 14:02 -0700, Olof Johansson wrote:
    >> On Fri, Oct 2, 2015 at 12:47 AM, Michael Ellerman <mpe@ellerman.id.au> wrote:
    >> > On Wed, 2015-23-09 at 05:40:34 UTC, Michael Ellerman wrote:
    >> >> Arch Makefiles can set KBUILD_DEFCONFIG to tell kbuild the name of the
    >> >> defconfig that should be built by default.
    >> >>
    >> >> However currently there is an assumption that KBUILD_DEFCONFIG points to
    >> >> a file at arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG).
    >> >>
    >> >> We would like to use a target, using merge_config, as our defconfig, so
    >> >> adapt the logic in scripts/kconfig/Makefile to allow that.
    >> >>
    >> >> To minimise the chance of breaking anything, we first check if
    >> >> KBUILD_DEFCONFIG is a file, and if so we do the old logic. If it's not a
    >> >> file, then we call the top-level Makefile with KBUILD_DEFCONFIG as the
    >> >> target.
    >> >>
    >> >> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    >> >> Acked-by: Michal Marek <mmarek@suse.com>
    >> >
    >> > Applied to powerpc next.
    >> >
    >> > https://git.kernel.org/powerpc/c/d2036f30cfe1daa19e63ce75
    >>
    >> This breaks arm64 defconfig for me:
    >>
    >> mkdir obj-tmp
    >> make -f Makefile O=obj-tmp ARCH=arm64 defconfig
    >> ... watch loop of:
    >> *** Default configuration is based on target 'defconfig'
    >> GEN ./Makefile
    >
    > Crap, sorry. I knew I shouldn't have touched that code!
    >
    > Does this fix it for you?

    Yes, it does, however:

    >
    > diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
    > index b2b9c87..3043d6b 100644
    > --- a/scripts/kconfig/Makefile
    > +++ b/scripts/kconfig/Makefile
    > @@ -96,7 +96,7 @@ savedefconfig: $(obj)/conf
    > defconfig: $(obj)/conf
    > ifeq ($(KBUILD_DEFCONFIG),)
    > $< $(silent) --defconfig $(Kconfig)
    > -else ifneq ($(wildcard arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG)),)
    > +else ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG)),)
    > @$(kecho) "*** Default configuration is based on '$(KBUILD_DEFCONFIG)'"
    > $(Q)$< $(silent) --defconfig=arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG) $(Kconfig)

    Do you need a $(srctree) prefix here too? I'm not entirely sure what I
    would do to reproduce a run that goes down this path so I can't
    confirm.


    -Olof


    \
     
     \ /
      Last update: 2015-10-14 19:21    [W:4.015 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site