summaryrefslogtreecommitdiff
path: root/scripts/Makefile.modinst
diff options
context:
space:
mode:
authorKai Germaschewski <kai@tp1.ruhr-uni-bochum.de>2003-02-14 08:27:00 -0600
committerKai Germaschewski <kai@tp1.ruhr-uni-bochum.de>2003-02-14 08:27:00 -0600
commit46cccf0b96a555962889723518470b7b1f8d6200 (patch)
treee429edd8ece9c9d366c4e195748bed3f174645bd /scripts/Makefile.modinst
parent2ec54bc13faf3bdf83ba37a4b346256b0b5c0eee (diff)
kbuild: Use list of modules for "make modules_install"
Since we rely on our list of all modules for building anyway, we can as well use it to install the modules. So we don't need to descend in that step anymore, speeding it up, though it's not a particularly performance-critical area.
Diffstat (limited to 'scripts/Makefile.modinst')
-rw-r--r--scripts/Makefile.modinst43
1 files changed, 24 insertions, 19 deletions
diff --git a/scripts/Makefile.modinst b/scripts/Makefile.modinst
index dac60ad79275..1f94c0990078 100644
--- a/scripts/Makefile.modinst
+++ b/scripts/Makefile.modinst
@@ -2,33 +2,38 @@
# Installing modules
# ==========================================================================
-src := $(obj)
+.PHONY: __modinst
+__modinst:
-.PHONY: modules_install
-modules_install:
+include scripts/Makefile.lib
-include .config
+#
-include $(obj)/Makefile
+__modules := $(shell cd $(MODVERDIR); cat *.mod)
+modules := $(patsubst %.o,%.ko,$(wildcard $(__modules:.ko=.o)))
-include scripts/Makefile.lib
+ifneq ($(filter-out $(modules),$(__modules)),)
+ $(warning *** Uh-oh, you have stale module entries. You messed with SUBDIRS, do not complain if something goes wrong.)
+endif
-# ==========================================================================
+.PHONY: $(modules)
+__modinst: $(modules)
+ @:
+
+# Modules built within the kernel tree
quiet_cmd_modules_install = INSTALL $(obj-m:.o=.ko)
- cmd_modules_install = mkdir -p $(MODLIB)/kernel/$(obj); \
- cp $(obj-m:.o=.ko) $(MODLIB)/kernel/$(obj)
+ cmd_modules_install = mkdir -p $(MODLIB)/kernel/$(@D); \
+ cp $@ $(MODLIB)/kernel/$(@D)
-modules_install: $(subdir-ym)
-ifneq ($(obj-m:.o=.ko),)
+$(filter-out ../% /%,$(modules)):
$(call cmd,modules_install)
-else
- @:
-endif
-# Descending
-# ---------------------------------------------------------------------------
+# Modules built outside just go into extra
+
+quiet_cmd_modules_install_extra = INSTALL $(obj-m:.o=.ko)
+ cmd_modules_install_extra = mkdir -p $(MODLIB)/extra; \
+ cp $@ $(MODLIB)/extra
-.PHONY: $(subdir-ym)
-$(subdir-ym):
- $(Q)$(MAKE) -rR -f scripts/Makefile.modinst obj=$@
+$(filter ../% /%,$(modules)):
+ $(call cmd,modules_install_extra)