build: pass KBUILD_EXTRA_SYMBOLS with symvers files for kernel module packages
[openwrt/openwrt.git] / include / kernel.mk
index 40aa1a5163e9787f370f9d41c45f025b4b2e62b2..1ae9c6be29c41f7c04500fd2cd59b0ed68fad179 100644 (file)
@@ -118,7 +118,8 @@ KERNEL_MAKE_FLAGS = \
        CONFIG_SHELL="$(BASH)" \
        $(if $(findstring c,$(OPENWRT_VERBOSE)),V=1,V='') \
        $(if $(PKG_BUILD_ID),LDFLAGS_MODULE=--build-id=0x$(PKG_BUILD_ID)) \
-       cmd_syscalls=
+       cmd_syscalls= \
+       $(if $(__package_mk),KBUILD_EXTRA_SYMBOLS="$(wildcard $(PKG_SYMVERS_DIR)/*.symvers)")
 
 ifeq ($(call qstrip,$(CONFIG_EXTERNAL_KERNEL_TREE))$(call qstrip,$(CONFIG_KERNEL_GIT_CLONE_URI)),)
   KERNEL_MAKE_FLAGS += \
@@ -140,14 +141,6 @@ PKG_EXTMOD_SUBDIRS ?= .
 
 PKG_SYMVERS_DIR = $(KERNEL_BUILD_DIR)/symvers
 
-define populate_module_symvers
-       @mkdir -p $(PKG_SYMVERS_DIR)
-       cat /dev/null > $(PKG_SYMVERS_DIR)/$(PKG_NAME).symvers; \
-       for subdir in $(PKG_EXTMOD_SUBDIRS); do \
-               cat $(PKG_SYMVERS_DIR)/*.symvers 2>/dev/null > $(PKG_BUILD_DIR)/$$$$subdir/Module.symvers; \
-       done
-endef
-
 define collect_module_symvers
        for subdir in $(PKG_EXTMOD_SUBDIRS); do \
                realdir=$$$$(readlink -f $(PKG_BUILD_DIR)); \
@@ -161,7 +154,6 @@ endef
 
 define KernelPackage/hooks
   ifneq ($(PKG_NAME),kernel)
-    Hooks/Compile/Pre += populate_module_symvers
     Hooks/Compile/Post += collect_module_symvers
   endif
   define KernelPackage/hooks