blob: 51ca0244fc8ac4f8e2981fb9dbc9df3efe507861 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001# SPDX-License-Identifier: GPL-2.0
Linus Torvalds1da177e2005-04-16 15:20:36 -07002# ==========================================================================
3# Installing modules
4# ==========================================================================
5
Paul Smith4f193362006-03-05 17:14:10 -05006PHONY := __modinst
Linus Torvalds1da177e2005-04-16 15:20:36 -07007__modinst:
8
Sam Ravnborg8ec4b4f2005-07-25 20:10:36 +00009include scripts/Kbuild.include
Linus Torvalds1da177e2005-04-16 15:20:36 -070010
11#
12
이건호ef591a52012-08-29 22:58:12 +090013__modules := $(sort $(shell grep -h '\.ko$$' /dev/null $(wildcard $(MODVERDIR)/*.mod)))
Linus Torvalds1da177e2005-04-16 15:20:36 -070014modules := $(patsubst %.o,%.ko,$(wildcard $(__modules:.ko=.o)))
15
Paul Smith4f193362006-03-05 17:14:10 -050016PHONY += $(modules)
Linus Torvalds1da177e2005-04-16 15:20:36 -070017__modinst: $(modules)
18 @:
19
Rusty Russellf6a79af2012-11-06 11:46:59 +103020# Don't stop modules_install if we can't sign external modules.
Linus Torvalds1da177e2005-04-16 15:20:36 -070021quiet_cmd_modules_install = INSTALL $@
Bertrand Jacquin40e42f62014-08-27 20:30:56 +093022 cmd_modules_install = \
23 mkdir -p $(2) ; \
24 cp $@ $(2) ; \
25 $(mod_strip_cmd) $(2)/$(notdir $@) ; \
David Woodhousecaf6fe92015-07-20 21:16:28 +010026 $(mod_sign_cmd) $(2)/$(notdir $@) $(patsubst %,|| true,$(KBUILD_EXTMOD)) && \
Bertrand Jacquinbeb50df2014-08-27 20:31:56 +093027 $(mod_compress_cmd) $(2)/$(notdir $@)
Linus Torvalds1da177e2005-04-16 15:20:36 -070028
29# Modules built outside the kernel source tree go into extra by default
30INSTALL_MOD_DIR ?= extra
Sam Ravnborg9b213112008-01-01 13:40:28 +010031ext-mod-dir = $(INSTALL_MOD_DIR)$(subst $(patsubst %/,%,$(KBUILD_EXTMOD)),,$(@D))
Linus Torvalds1da177e2005-04-16 15:20:36 -070032
33modinst_dir = $(if $(KBUILD_EXTMOD),$(ext-mod-dir),kernel/$(@D))
34
35$(modules):
36 $(call cmd,modules_install,$(MODLIB)/$(modinst_dir))
Paul Smith4f193362006-03-05 17:14:10 -050037
38
39# Declare the contents of the .PHONY variable as phony. We keep that
Olaf Hering8740e682014-06-06 14:30:59 +020040# information in a variable so we can use it in if_changed and friends.
Paul Smith4f193362006-03-05 17:14:10 -050041
42.PHONY: $(PHONY)