From c53daf41b54f278fb25f22b72561b72880402790 Mon Sep 17 00:00:00 2001 From: vanhofen Date: Sun, 10 Jul 2022 21:53:37 +0200 Subject: [PATCH] - pkg-kernel-module: add $(PKG)_INSTALL_CMDS; rework --- package/pkg-kernel-module.mk | 23 +++++++++++++++++++---- package/pkg-utils.mk | 13 +++++++++++-- package/rtl8192eu/rtl8192eu.mk | 5 +---- package/rtl8812au/rtl8812au.mk | 5 +---- package/rtl8822bu/rtl8822bu.mk | 5 +---- 5 files changed, 33 insertions(+), 18 deletions(-) diff --git a/package/pkg-kernel-module.mk b/package/pkg-kernel-module.mk index 7e066a9e..e034981c 100644 --- a/package/pkg-kernel-module.mk +++ b/package/pkg-kernel-module.mk @@ -20,24 +20,39 @@ KERNEL_MAKE_VARS += \ define KERNEL_MODULE_BUILD_CMDS_DEFAULT $(CHDIR)/$($(PKG)_DIR); \ $(TARGET_MAKE_ENV) $($(PKG)_MAKE_ENV) \ - $($(PKG)_MAKE) \ + $($(PKG)_MAKE) $($(PKG)_MAKE_ARGS) \ $($(PKG)_MAKE_OPTS) $(KERNEL_MAKE_VARS) endef define KERNEL_MODULE_BUILD - @$(call MESSAGE,"Building $(pkgname) kernel module") + @$(call MESSAGE,"Building $(pkgname) kernel module(s)") $(foreach hook,$($(PKG)_PRE_BUILD_HOOKS),$(call $(hook))$(sep)) $(Q)$(call $(PKG)_BUILD_CMDS) $(foreach hook,$($(PKG)_POST_BUILD_HOOKS),$(call $(hook))$(sep)) endef +define KERNEL_MODULE_INSTALL_CMDS_DEFAULT + $(CHDIR)/$($(PKG)_DIR); \ + $(TARGET_MAKE_ENV) $($(PKG)_MAKE_INSTALL_ENV) \ + $($(PKG)_MAKE_INSTALL) $($(PKG)_MAKE_INSTALL_ARGS) \ + $($(PKG)_MAKE_INSTALL_OPTS) $(KERNEL_MAKE_VARS) +endef + +define KERNEL_MODULE_INSTALL + @$(call MESSAGE,"Installing $(pkgname) kernel module(s)") + $(foreach hook,$($(PKG)_PRE_INSTALL_HOOKS),$(call $(hook))$(sep)) + $(Q)$(call $(PKG)_INSTALL_CMDS) + $(foreach hook,$($(PKG)_POST_INSTALL_HOOKS),$(call $(hook))$(sep)) +endef + # ----------------------------------------------------------------------------- define kernel-module $(eval PKG_MODE = $(pkg-mode)) $(call PREPARE,$(1)) - $(call KERNEL_MODULE_BUILD) - $(call LINUX_RUN_DEPMOD) + $(if $(filter $(1),$(PKG_NO_BUILD)),,$(call KERNEL_MODULE_BUILD)) + $(if $(filter $(1),$(PKG_NO_INSTALL)),,$(call KERNEL_MODULE_INSTALL)) + $(Q)$(call LINUX_RUN_DEPMOD) $(call TARGET_FOLLOWUP) endef diff --git a/package/pkg-utils.mk b/package/pkg-utils.mk index 2b8fca0b..9a369ccc 100644 --- a/package/pkg-utils.mk +++ b/package/pkg-utils.mk @@ -148,14 +148,18 @@ ifndef $(PKG)_MAKE_INSTALL_ENV $(PKG)_MAKE_INSTALL_ENV = $$($(PKG)_MAKE_ENV) endif ifndef $(PKG)_MAKE_INSTALL_ARGS - $(PKG)_MAKE_INSTALL_ARGS = install + ifeq ($(PKG_MODE),KERNEL) + $(PKG)_MAKE_INSTALL_ARGS = modules_install + else + $(PKG)_MAKE_INSTALL_ARGS = install + endif endif ifndef $(PKG)_MAKE_INSTALL_OPTS $(PKG)_MAKE_INSTALL_OPTS = $$($(PKG)_MAKE_OPTS) endif # install commands -# TODO: python, kernel +# TODO: python ifndef $(PKG)_INSTALL_CMDS ifeq ($(PKG_MODE),$(filter $(PKG_MODE),AUTOTOOLS CMAKE GENERIC KCONFIG)) ifeq ($(PKG_PACKAGE),HOST) @@ -169,6 +173,8 @@ ifndef $(PKG)_INSTALL_CMDS else $(PKG)_INSTALL_CMDS = $$(TARGET_NINJA_INSTALL_CMDS_DEFAULT) endif + else ifeq ($(PKG_MODE),KERNEL) + $(PKG)_INSTALL_CMDS = $$(KERNEL_MODULE_INSTALL_CMDS_DEFAULT) else $(PKG)_INSTALL_CMDS = echo "$(PKG_NO_INSTALL)" endif @@ -197,6 +203,9 @@ endif ifeq ($(PKG_MODE),MESON) $(PKG)_DEPENDENCIES += host-meson endif +ifeq ($(PKG_MODE),KERNEL) + $(PKG)_DEPENDENCIES = kernel-$(BOXTYPE) +endif ifeq ($(PKG_MODE),PYTHON3) $(PKG)_DEPENDENCIES += host-python3 $(PKG)_DEPENDENCIES += $$(if $$(filter $$(pkg),host-python-setuptools),,host-python-setuptools) diff --git a/package/rtl8192eu/rtl8192eu.mk b/package/rtl8192eu/rtl8192eu.mk index ffe619dc..00ca5b99 100644 --- a/package/rtl8192eu/rtl8192eu.mk +++ b/package/rtl8192eu/rtl8192eu.mk @@ -11,12 +11,9 @@ RTL8192EU_SITE = https://github.com/mange/$(RTL8192EU_SOURCE) RTL8192EU_CHECKOUT = 60aa279428024ea78dcffe2c181ffee3cc1495f5 -RTL8192EU_DEPENDENCIES = kernel-$(BOXTYPE) - -define RTL8192EU_INSTALL_BINARY +define RTL8192EU_INSTALL_CMDS $(INSTALL_DATA) -D $(PKG_BUILD_DIR)/8192eu.ko $(TARGET_modulesdir)/kernel/drivers/net/wireless/8192eu.ko endef -RTL8192EU_POST_BUILD_HOOKS += RTL8192EU_INSTALL_BINARY rtl8192eu: | $(TARGET_DIR) $(call kernel-module) diff --git a/package/rtl8812au/rtl8812au.mk b/package/rtl8812au/rtl8812au.mk index dd097946..c24c24ae 100644 --- a/package/rtl8812au/rtl8812au.mk +++ b/package/rtl8812au/rtl8812au.mk @@ -9,12 +9,9 @@ RTL8812AU_DIR = rtl8812AU-driver-$(RTL8812AU_VERSION) RTL8812AU_SOURCE = rtl8812AU-driver-$(RTL8812AU_VERSION).zip RTL8812AU_SITE = http://source.mynonpublic.com -RTL8812AU_DEPENDENCIES = kernel-$(BOXTYPE) - -define RTL8812AU_INSTALL_BINARY +define RTL8812AU_INSTALL_CMDS $(INSTALL_DATA) -D $(PKG_BUILD_DIR)/8812au.ko $(TARGET_modulesdir)/kernel/drivers/net/wireless/8812au.ko endef -RTL8812AU_POST_BUILD_HOOKS += RTL8812AU_INSTALL_BINARY rtl8812au: | $(TARGET_DIR) $(call kernel-module) diff --git a/package/rtl8822bu/rtl8822bu.mk b/package/rtl8822bu/rtl8822bu.mk index 72b02a76..7da2d93c 100644 --- a/package/rtl8822bu/rtl8822bu.mk +++ b/package/rtl8822bu/rtl8822bu.mk @@ -9,12 +9,9 @@ RTL8822BU_DIR = rtl8822bu RTL8822BU_SOURCE = rtl8822bu-driver-$(RTL8822BU_VERSION).zip RTL8822BU_SITE = http://source.mynonpublic.com -RTL8822BU_DEPENDENCIES = kernel-$(BOXTYPE) - -define RTL8822BU_INSTALL_BINARY +define RTL8822BU_INSTALL_CMDS $(INSTALL_DATA) -D $(PKG_BUILD_DIR)/88x2bu.ko $(TARGET_modulesdir)/kernel/drivers/net/wireless/88x2bu.ko endef -RTL8822BU_POST_BUILD_HOOKS += RTL8822BU_INSTALL_BINARY rtl8822bu: | $(TARGET_DIR) $(call kernel-module)