| # SPDX-License-Identifier: GPL-2.0 | |
| # ========================================================================== | |
| # Installing modules | |
| # ========================================================================== | |
| PHONY := __modinst | |
| __modinst: | |
| include scripts/Kbuild.include | |
| modules := $(sort $(shell cat $(if $(KBUILD_EXTMOD),$(KBUILD_EXTMOD)/)modules.order)) | |
| PHONY += $(modules) | |
| __modinst: $(modules) | |
| @: | |
| # Don't stop modules_install if we can't sign external modules. | |
| quiet_cmd_modules_install = INSTALL $@ | |
| cmd_modules_install = \ | |
| mkdir -p $(2) ; \ | |
| cp $@ $(2) ; \ | |
| $(mod_strip_cmd) $(2)/$(notdir $@) ; \ | |
| $(mod_sign_cmd) $(2)/$(notdir $@) $(patsubst %,|| true,$(KBUILD_EXTMOD)) ; \ | |
| $(mod_compress_cmd) $(2)/$(notdir $@) | |
| # Modules built outside the kernel source tree go into extra by default | |
| INSTALL_MOD_DIR ?= extra | |
| ext-mod-dir = $(INSTALL_MOD_DIR)$(subst $(patsubst %/,%,$(KBUILD_EXTMOD)),,$(@D)) | |
| modinst_dir = $(if $(KBUILD_EXTMOD),$(ext-mod-dir),kernel/$(@D)) | |
| $(modules): | |
| $(call cmd,modules_install,$(MODLIB)/$(modinst_dir)) | |
| .PHONY: $(PHONY) |