modpost: do not parse vmlinux for external module builds

When building external modules, $(objtree)/Module.symvers is scanned
for symbol information of vmlinux and in-tree modules.

Additionally, vmlinux is parsed if it exists in $(objtree)/.
This is totally redundant since all the necessary information is
contained in $(objtree)/Module.symvers.

Do not parse vmlinux at all for external module builds. This makes
sense because vmlinux is deleted by 'make clean'.

'make clean' leaves all the build artifacts for building external
modules. vmlinux is unneeded for that.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
This commit is contained in:
Masahiro Yamada 2019-10-03 19:29:13 +09:00
parent fab546e6cd
commit 1747269ab0

View file

@ -67,7 +67,11 @@ __modpost:
else else
ifneq ($(KBUILD_EXTMOD),) MODPOST += $(subst -i,-n,$(filter -i,$(MAKEFLAGS))) -s -T -
ifeq ($(KBUILD_EXTMOD),)
MODPOST += $(wildcard vmlinux)
else
# set src + obj - they may be used in the modules's Makefile # set src + obj - they may be used in the modules's Makefile
obj := $(KBUILD_EXTMOD) obj := $(KBUILD_EXTMOD)
@ -78,8 +82,6 @@ include $(if $(wildcard $(KBUILD_EXTMOD)/Kbuild), \
$(KBUILD_EXTMOD)/Kbuild, $(KBUILD_EXTMOD)/Makefile) $(KBUILD_EXTMOD)/Kbuild, $(KBUILD_EXTMOD)/Makefile)
endif endif
MODPOST += $(subst -i,-n,$(filter -i,$(MAKEFLAGS))) -s -T - $(wildcard vmlinux)
# find all modules listed in modules.order # find all modules listed in modules.order
modules := $(sort $(shell cat $(MODORDER))) modules := $(sort $(shell cat $(MODORDER)))