diff options
| author | Masahiro Yamada <yamada.masahiro@socionext.com> | 2018-07-20 03:46:32 -0400 |
|---|---|---|
| committer | Masahiro Yamada <yamada.masahiro@socionext.com> | 2018-07-25 10:25:31 -0400 |
| commit | 0a16d2e8cb7e6310debc208d42ff725361ae1911 (patch) | |
| tree | 6885bc6aa40310214934338cb346720036dac84b /Makefile | |
| parent | 00c864f8903dd357471e8ee48f4d57aaa9a1a0de (diff) | |
kbuild: use 'include' directive to load auto.conf from top Makefile
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>
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 2 |
1 files changed, 1 insertions, 1 deletions
| @@ -584,7 +584,7 @@ virt-y := virt/ | |||
| 584 | endif # KBUILD_EXTMOD | 584 | endif # KBUILD_EXTMOD |
| 585 | 585 | ||
| 586 | ifeq ($(dot-config),1) | 586 | ifeq ($(dot-config),1) |
| 587 | -include include/config/auto.conf | 587 | include include/config/auto.conf |
| 588 | endif | 588 | endif |
| 589 | 589 | ||
| 590 | # The all: target is the default when no target is given on the | 590 | # The all: target is the default when no target is given on the |
