1*53ee8cc1Swenshuai.xi# ========================================================================== 2*53ee8cc1Swenshuai.xi# Installing modules 3*53ee8cc1Swenshuai.xi# ========================================================================== 4*53ee8cc1Swenshuai.xi 5*53ee8cc1Swenshuai.xiPHONY := __modinst 6*53ee8cc1Swenshuai.xi__modinst: 7*53ee8cc1Swenshuai.xi 8*53ee8cc1Swenshuai.xiinclude scripts/Kbuild.include 9*53ee8cc1Swenshuai.xi 10*53ee8cc1Swenshuai.xi# 11*53ee8cc1Swenshuai.xi 12*53ee8cc1Swenshuai.xi__modules := $(sort $(shell grep -h '\.ko' /dev/null $(wildcard $(MODVERDIR)/*.mod))) 13*53ee8cc1Swenshuai.ximodules := $(patsubst %.o,%.ko,$(wildcard $(__modules:.ko=.o))) 14*53ee8cc1Swenshuai.xi 15*53ee8cc1Swenshuai.xiPHONY += $(modules) 16*53ee8cc1Swenshuai.xi__modinst: $(modules) 17*53ee8cc1Swenshuai.xi @: 18*53ee8cc1Swenshuai.xi 19*53ee8cc1Swenshuai.xiquiet_cmd_modules_install = INSTALL $@ 20*53ee8cc1Swenshuai.xi cmd_modules_install = mkdir -p $(2); cp $@ $(2) ; $(mod_strip_cmd) $(2)/$(notdir $@) 21*53ee8cc1Swenshuai.xi 22*53ee8cc1Swenshuai.xi# Modules built outside the kernel source tree go into extra by default 23*53ee8cc1Swenshuai.xiINSTALL_MOD_DIR ?= extra 24*53ee8cc1Swenshuai.xiext-mod-dir = $(INSTALL_MOD_DIR)$(subst $(patsubst %/,%,$(KBUILD_EXTMOD)),,$(@D)) 25*53ee8cc1Swenshuai.xi 26*53ee8cc1Swenshuai.ximodinst_dir = $(if $(KBUILD_EXTMOD),$(ext-mod-dir),kernel/$(@D)) 27*53ee8cc1Swenshuai.xi 28*53ee8cc1Swenshuai.xi$(modules): 29*53ee8cc1Swenshuai.xi $(call cmd,modules_install,$(MODLIB)/$(modinst_dir)) 30*53ee8cc1Swenshuai.xi 31*53ee8cc1Swenshuai.xi 32*53ee8cc1Swenshuai.xi# Declare the contents of the .PHONY variable as phony. We keep that 33*53ee8cc1Swenshuai.xi# information in a variable se we can use it in if_changed and friends. 34*53ee8cc1Swenshuai.xi 35*53ee8cc1Swenshuai.xi.PHONY: $(PHONY) 36