1# SPDX-License-Identifier: GPL-2.0 2# ========================================================================== 3# Installing modules 4# ========================================================================== 5 6PHONY := __modinst 7__modinst: 8 9include scripts/Kbuild.include 10 11modules := $(sort $(shell cat $(if $(KBUILD_EXTMOD),$(KBUILD_EXTMOD)/)modules.order)) 12 13PHONY += $(modules) 14__modinst: $(modules) 15 @: 16 17# Don't stop modules_install if we can't sign external modules. 18quiet_cmd_modules_install = INSTALL $@ 19 cmd_modules_install = \ 20 mkdir -p $(2) ; \ 21 cp $@ $(2) ; \ 22 $(mod_strip_cmd) $(2)/$(notdir $@) ; \ 23 $(mod_sign_cmd) $(2)/$(notdir $@) $(patsubst %,|| true,$(KBUILD_EXTMOD)) ; \ 24 $(mod_compress_cmd) $(2)/$(notdir $@) 25 26# Modules built outside the kernel source tree go into extra by default 27INSTALL_MOD_DIR ?= extra 28ext-mod-dir = $(INSTALL_MOD_DIR)$(subst $(patsubst %/,%,$(KBUILD_EXTMOD)),,$(@D)) 29 30modinst_dir = $(if $(KBUILD_EXTMOD),$(ext-mod-dir),kernel/$(@D)) 31 32$(modules): 33 $(call cmd,modules_install,$(MODLIB)/$(modinst_dir)) 34 35.PHONY: $(PHONY) 36