]>
Commit | Line | Data |
---|---|---|
1 | # ========================================================================== | |
2 | # Installing modules | |
3 | # ========================================================================== | |
4 | ||
5 | PHONY := __modinst | |
6 | __modinst: | |
7 | ||
8 | include scripts/Kbuild.include | |
9 | ||
10 | # | |
11 | ||
12 | __modules := $(sort $(shell grep -h '\.ko$$' /dev/null $(wildcard $(MODVERDIR)/*.mod))) | |
13 | modules := $(patsubst %.o,%.ko,$(wildcard $(__modules:.ko=.o))) | |
14 | ||
15 | PHONY += $(modules) | |
16 | __modinst: $(modules) | |
17 | @: | |
18 | ||
19 | # Don't stop modules_install if we can't sign external modules. | |
20 | quiet_cmd_modules_install = INSTALL $@ | |
21 | cmd_modules_install = \ | |
22 | mkdir -p $(2) ; \ | |
23 | cp $@ $(2) ; \ | |
24 | $(mod_strip_cmd) $(2)/$(notdir $@) ; \ | |
25 | if (echo "$(2)/$(notdir $@)" | egrep -q "\/drivers\/staging\/") && \ | |
26 | [ -f $(srctree)/drivers/staging/signature-inclusion ] && \ | |
27 | (! egrep -x "$(notdir $@)" $(srctree)/drivers/staging/signature-inclusion) ; \ | |
28 | then echo Not signing "$(2)/$(notdir $@)"; \ | |
29 | else $(mod_sign_cmd) $(2)/$(notdir $@) $(patsubst %,|| true,$(KBUILD_EXTMOD)) && \ | |
30 | $(mod_compress_cmd) $(2)/$(notdir $@); fi | |
31 | ||
32 | # Modules built outside the kernel source tree go into extra by default | |
33 | INSTALL_MOD_DIR ?= extra | |
34 | ext-mod-dir = $(INSTALL_MOD_DIR)$(subst $(patsubst %/,%,$(KBUILD_EXTMOD)),,$(@D)) | |
35 | ||
36 | modinst_dir = $(if $(KBUILD_EXTMOD),$(ext-mod-dir),kernel/$(@D)) | |
37 | ||
38 | $(modules): | |
39 | $(call cmd,modules_install,$(MODLIB)/$(modinst_dir)) | |
40 | ||
41 | ||
42 | # Declare the contents of the .PHONY variable as phony. We keep that | |
43 | # information in a variable so we can use it in if_changed and friends. | |
44 | ||
45 | .PHONY: $(PHONY) |