blob: ecbb44797e28226e85027c277435d053415aec8c [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 $@
Rusty Russellf6a79af2012-11-06 11:46:59 +103021 cmd_modules_install = mkdir -p $(2); cp $@ $(2) ; $(mod_strip_cmd) $(2)/$(notdir $@) ; $(mod_sign_cmd) $(2)/$(notdir $@) $(patsubst %,|| true,$(KBUILD_EXTMOD))
Linus Torvalds1da177e2005-04-16 15:20:36 -070022
23# Modules built outside the kernel source tree go into extra by default
24INSTALL_MOD_DIR ?= extra
Sam Ravnborg9b213112008-01-01 13:40:28 +010025ext-mod-dir = $(INSTALL_MOD_DIR)$(subst $(patsubst %/,%,$(KBUILD_EXTMOD)),,$(@D))
Linus Torvalds1da177e2005-04-16 15:20:36 -070026
27modinst_dir = $(if $(KBUILD_EXTMOD),$(ext-mod-dir),kernel/$(@D))
28
29$(modules):
30 $(call cmd,modules_install,$(MODLIB)/$(modinst_dir))
Paul Smith4f193362006-03-05 17:14:10 -050031
32
33# Declare the contents of the .PHONY variable as phony. We keep that
34# information in a variable se we can use it in if_changed and friends.
35
36.PHONY: $(PHONY)