blob: 6f4c3f5a7ae39b186019c4d4f587fedef50af699 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001# ==========================================================================
2# Installing modules
3# ==========================================================================
4
Paul Smith4f193362006-03-05 17:14:10 -05005PHONY := __modinst
Linus Torvalds1da177e2005-04-16 15:20:36 -07006__modinst:
7
Sam Ravnborg8ec4b4f2005-07-25 20:10:36 +00008include scripts/Kbuild.include
Linus Torvalds1da177e2005-04-16 15:20:36 -07009
10#
11
이건호ef591a52012-08-29 22:58:12 +090012__modules := $(sort $(shell grep -h '\.ko$$' /dev/null $(wildcard $(MODVERDIR)/*.mod)))
Linus Torvalds1da177e2005-04-16 15:20:36 -070013modules := $(patsubst %.o,%.ko,$(wildcard $(__modules:.ko=.o)))
14
Paul Smith4f193362006-03-05 17:14:10 -050015PHONY += $(modules)
Linus Torvalds1da177e2005-04-16 15:20:36 -070016__modinst: $(modules)
17 @:
18
Rusty Russellf6a79af2012-11-06 11:46:59 +103019# Don't stop modules_install if we can't sign external modules.
Linus Torvalds1da177e2005-04-16 15:20:36 -070020quiet_cmd_modules_install = INSTALL $@
Bertrand Jacquin40e42f62014-08-27 20:30:56 +093021 cmd_modules_install = \
22 mkdir -p $(2) ; \
23 cp $@ $(2) ; \
24 $(mod_strip_cmd) $(2)/$(notdir $@) ; \
David Woodhousecaf6fe92015-07-20 21:16:28 +010025 $(mod_sign_cmd) $(2)/$(notdir $@) $(patsubst %,|| true,$(KBUILD_EXTMOD)) && \
Bertrand Jacquinbeb50df2014-08-27 20:31:56 +093026 $(mod_compress_cmd) $(2)/$(notdir $@)
Linus Torvalds1da177e2005-04-16 15:20:36 -070027
28# Modules built outside the kernel source tree go into extra by default
29INSTALL_MOD_DIR ?= extra
Sam Ravnborg9b213112008-01-01 13:40:28 +010030ext-mod-dir = $(INSTALL_MOD_DIR)$(subst $(patsubst %/,%,$(KBUILD_EXTMOD)),,$(@D))
Linus Torvalds1da177e2005-04-16 15:20:36 -070031
Rom Lemarchand8c49b612015-02-05 16:07:59 -080032modinst_dir ?= $(if $(KBUILD_EXTMOD),$(ext-mod-dir),kernel/$(@D))
Linus Torvalds1da177e2005-04-16 15:20:36 -070033
34$(modules):
35 $(call cmd,modules_install,$(MODLIB)/$(modinst_dir))
Paul Smith4f193362006-03-05 17:14:10 -050036
37
38# Declare the contents of the .PHONY variable as phony. We keep that
Olaf Hering8740e682014-06-06 14:30:59 +020039# information in a variable so we can use it in if_changed and friends.
Paul Smith4f193362006-03-05 17:14:10 -050040
41.PHONY: $(PHONY)