Re: [PATCH v4 07/11] kbuild: use 'include' directive to load auto.conf from top Makefile

Masahiro Yamada
2018-09-03T09:55:08Z

Hi,

2018-09-03 18:39 GMT+09:00 Borislav Petkov <bp@alien8.de>:
> Hey,
>
> On Fri, Jul 20, 2018 at 04:46:32PM +0900, Masahiro Yamada wrote:
>> When you build targets that require the kernel configuration, dot-config
>> is set to 1, then the top-level Makefile includes auto.conf. However,
>> Make considers its inclusion is optional because the '-include' directive
>> is used here.
>>
>> If a necessary configuration file is missing for the external module
>> building, the following error message is displayed:
>>
>> ERROR: Kernel configuration is invalid.
>> include/generated/autoconf.h or include/config/auto.conf are missing.
>> Run 'make oldconfig && make prepare' on kernel src to fix it.
>>
>> However, Make still continues building; /bin/false let the creation of
>> 'include/config/auto.config' fail, but Make can ignore the error since
>> it is included by the '-include' directive.
>>
>> I guess the reason of using '-include' directive was to suppress
>> the warning when you build the kernel from a pristine source tree:
>>
>> Makefile:605: include/config/auto.conf: No such file or directory
>>
>> The previous commit made sure include/config/auto.conf exists after
>> the 'make *config' stage. Now, we can use the 'include' directive
>> without showing the warning.
>>
>> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
>> ---
>>
>> Changes in v4: None
>>
>> Makefile | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> This complains here:
>
> [boris@zn: ~/kernel/linux> git clean -dqfx
> [boris@zn: ~/kernel/linux> cp ../configs/config-4.19-rc1 .config
> '../configs/config-4.19-rc1' -> '.config'
> [boris@zn: ~/kernel/linux> make
> Makefile:605: include/config/auto.conf: No such file or directory
>
> I guess because I'm skipping the "make oldconfig" step but that should
> not be necessary since it should do oldconfig automatically before
> building...
>
> It still works - it is just the warning that is new.

You are right - I missed this usecase,
but I still want to excuse "it is rare enough".

Thanks.

--
Best Regards
Masahiro Yamada