# ==========================================================================# Installing modules# ==========================================================================PHONY:= __modinst__modinst:includescripts/Kbuild.include#__modules:=$(sort$(shellgrep-h'\.ko$$' /dev/null $(wildcard $(MODVERDIR)/*.mod)))modules:=$(patsubst %.o,%.ko,$(wildcard $(__modules:.ko=.o)))PHONY+=$(modules)__modinst:$(modules)@:# Don't stop modules_install if we can't sign external modules.quiet_cmd_modules_install= INSTALL $@cmd_modules_install=mkdir-p$(2);cp$@$(2);$(mod_strip_cmd)$(2)/$(notdir $@);$(mod_sign_cmd)$(2)/$(notdir $@)$(patsubst %,|| true,$(KBUILD_EXTMOD))# Modules built outside the kernel source tree go into extra by defaultINSTALL_MOD_DIR?= extraext-mod-dir=$(INSTALL_MOD_DIR)$(subst $(patsubst %/,%,$(KBUILD_EXTMOD)),,$(@D))modinst_dir=$(if$(KBUILD_EXTMOD),$(ext-mod-dir),kernel/$(@D))$(modules):$(call cmd,modules_install,$(MODLIB)/$(modinst_dir))# Declare the contents of the .PHONY variable as phony. We keep that# information in a variable se we can use it in if_changed and friends..PHONY:$(PHONY)