1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 21da177e4SLinus Torvalds# ========================================================================== 31da177e4SLinus Torvalds# Installing modules 41da177e4SLinus Torvalds# ========================================================================== 51da177e4SLinus Torvalds 64f193362SPaul SmithPHONY := __modinst 71da177e4SLinus Torvalds__modinst: 81da177e4SLinus Torvalds 9*3204a7fbSMasahiro Yamadainclude $(srctree)/scripts/Kbuild.include 101da177e4SLinus Torvalds 11d56aec10SMasahiro Yamadamodules := $(sort $(shell cat $(if $(KBUILD_EXTMOD),$(KBUILD_EXTMOD)/)modules.order)) 121da177e4SLinus Torvalds 134f193362SPaul SmithPHONY += $(modules) 141da177e4SLinus Torvalds__modinst: $(modules) 151da177e4SLinus Torvalds @: 161da177e4SLinus Torvalds 17f6a79af8SRusty Russell# Don't stop modules_install if we can't sign external modules. 181da177e4SLinus Torvaldsquiet_cmd_modules_install = INSTALL $@ 1940e42f6aSBertrand Jacquin cmd_modules_install = \ 2040e42f6aSBertrand Jacquin mkdir -p $(2) ; \ 2140e42f6aSBertrand Jacquin cp $@ $(2) ; \ 2240e42f6aSBertrand Jacquin $(mod_strip_cmd) $(2)/$(notdir $@) ; \ 23f84dde10SDouglas Anderson $(mod_sign_cmd) $(2)/$(notdir $@) $(patsubst %,|| true,$(KBUILD_EXTMOD)) ; \ 24beb50df3SBertrand Jacquin $(mod_compress_cmd) $(2)/$(notdir $@) 251da177e4SLinus Torvalds 261da177e4SLinus Torvalds# Modules built outside the kernel source tree go into extra by default 271da177e4SLinus TorvaldsINSTALL_MOD_DIR ?= extra 289b213118SSam Ravnborgext-mod-dir = $(INSTALL_MOD_DIR)$(subst $(patsubst %/,%,$(KBUILD_EXTMOD)),,$(@D)) 291da177e4SLinus Torvalds 301da177e4SLinus Torvaldsmodinst_dir = $(if $(KBUILD_EXTMOD),$(ext-mod-dir),kernel/$(@D)) 311da177e4SLinus Torvalds 321da177e4SLinus Torvalds$(modules): 331da177e4SLinus Torvalds $(call cmd,modules_install,$(MODLIB)/$(modinst_dir)) 344f193362SPaul Smith 354f193362SPaul Smith.PHONY: $(PHONY) 36