kbuild: fix 'make modules' error when CONFIG_DEBUG_INFO_BTF_MODULES=y
authorMasahiro Yamada <masahiroy@kernel.org>
Tue, 10 Jan 2023 05:48:00 +0000 (14:48 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Tue, 10 Jan 2023 19:23:32 +0000 (04:23 +0900)
When CONFIG_DEBUG_INFO_BTF_MODULES=y, running 'make modules'
in the clean kernel tree will get the following error.

  $ grep CONFIG_DEBUG_INFO_BTF_MODULES .config
  CONFIG_DEBUG_INFO_BTF_MODULES=y
  $ make -s clean
  $ make modules
    [snip]
    AR      vmlinux.a
  ar: ./built-in.a: No such file or directory
  make: *** [Makefile:1241: vmlinux.a] Error 1

'modules' depends on 'vmlinux', but builtin objects are not built.

Define KBUILD_BUILTIN.

Fixes: f73edc8951b2 ("kbuild: unify two modpost invocations")
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Makefile

index 7607e20..eb02f38 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1545,6 +1545,7 @@ endif
 # *.ko are usually independent of vmlinux, but CONFIG_DEBUG_INFOBTF_MODULES
 # is an exception.
 ifdef CONFIG_DEBUG_INFO_BTF_MODULES
+KBUILD_BUILTIN := 1
 modules: vmlinux
 endif