11da177e4SLinus Torvalds# ========================================================================== 21da177e4SLinus Torvalds# Installing modules 31da177e4SLinus Torvalds# ========================================================================== 41da177e4SLinus Torvalds 54f193362SPaul SmithPHONY := __modinst 61da177e4SLinus Torvalds__modinst: 71da177e4SLinus Torvalds 88ec4b4ffSSam Ravnborginclude scripts/Kbuild.include 91da177e4SLinus Torvalds 101da177e4SLinus Torvalds# 111da177e4SLinus Torvalds 12*ef591a55S이건호__modules := $(sort $(shell grep -h '\.ko$$' /dev/null $(wildcard $(MODVERDIR)/*.mod))) 131da177e4SLinus Torvaldsmodules := $(patsubst %.o,%.ko,$(wildcard $(__modules:.ko=.o))) 141da177e4SLinus Torvalds 154f193362SPaul SmithPHONY += $(modules) 161da177e4SLinus Torvalds__modinst: $(modules) 171da177e4SLinus Torvalds @: 181da177e4SLinus Torvalds 191da177e4SLinus Torvaldsquiet_cmd_modules_install = INSTALL $@ 202ea03891SSam Ravnborg cmd_modules_install = mkdir -p $(2); cp $@ $(2) ; $(mod_strip_cmd) $(2)/$(notdir $@) 211da177e4SLinus Torvalds 221da177e4SLinus Torvalds# Modules built outside the kernel source tree go into extra by default 231da177e4SLinus TorvaldsINSTALL_MOD_DIR ?= extra 249b213118SSam Ravnborgext-mod-dir = $(INSTALL_MOD_DIR)$(subst $(patsubst %/,%,$(KBUILD_EXTMOD)),,$(@D)) 251da177e4SLinus Torvalds 261da177e4SLinus Torvaldsmodinst_dir = $(if $(KBUILD_EXTMOD),$(ext-mod-dir),kernel/$(@D)) 271da177e4SLinus Torvalds 281da177e4SLinus Torvalds$(modules): 291da177e4SLinus Torvalds $(call cmd,modules_install,$(MODLIB)/$(modinst_dir)) 304f193362SPaul Smith 314f193362SPaul Smith 324f193362SPaul Smith# Declare the contents of the .PHONY variable as phony. We keep that 334f193362SPaul Smith# information in a variable se we can use it in if_changed and friends. 344f193362SPaul Smith 354f193362SPaul Smith.PHONY: $(PHONY) 36