X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=scripts%2FMakefile.modinst;h=f0ff248f5e6f55e07d71b66104cb794e7310d959;hb=16c70f8c1b54b61c3b951b6fb220df250fe09b32;hp=b9ab77d5dd27de3542aae1c9fd5f951ed0431c9d;hpb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;p=linux-2.6.git diff --git a/scripts/Makefile.modinst b/scripts/Makefile.modinst index b9ab77d5d..f0ff248f5 100644 --- a/scripts/Makefile.modinst +++ b/scripts/Makefile.modinst @@ -2,24 +2,34 @@ # Installing modules # ========================================================================== -.PHONY: __modinst +PHONY := __modinst __modinst: -include scripts/Makefile.lib +include scripts/Kbuild.include # __modules := $(sort $(shell grep -h '\.ko' /dev/null $(wildcard $(MODVERDIR)/*.mod))) modules := $(patsubst %.o,%.ko,$(wildcard $(__modules:.ko=.o))) -.PHONY: $(modules) +PHONY += $(modules) __modinst: $(modules) @: quiet_cmd_modules_install = INSTALL $@ - cmd_modules_install = mkdir -p $(2); cp $@ $(2) + cmd_modules_install = mkdir -p $(2); cp $@ $(2) ; $(mod_strip_cmd) $(2)/$(notdir $@) -modinst_dir = $(MODLIB)/$(if $(filter ../% /%,$@),extra/,kernel/$(@D)) +# Modules built outside the kernel source tree go into extra by default +INSTALL_MOD_DIR ?= extra +ext-mod-dir = $(INSTALL_MOD_DIR)$(subst $(KBUILD_EXTMOD),,$(@D)) + +modinst_dir = $(if $(KBUILD_EXTMOD),$(ext-mod-dir),kernel/$(@D)) $(modules): - $(call cmd,modules_install,$(modinst_dir)) + $(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)