summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Zeiger <jonas.zeiger@talpidae.net>2020-06-03 15:34:05 +0200
committerMasahiro Yamada <masahiroy@kernel.org>2020-06-06 23:41:49 +0900
commite0b250b57dcf403529081e5898a9de717f96b76b (patch)
tree48d9ae7bf2276085abbc2457bff0a50e39cd3e8b
parent72d24accf02add25e08733f0ecc93cf10fcbd88c (diff)
downloadlwn-e0b250b57dcf403529081e5898a9de717f96b76b.tar.gz
lwn-e0b250b57dcf403529081e5898a9de717f96b76b.zip
Makefile: install modules.builtin even if CONFIG_MODULES=n
Many applications check for available kernel features via: - /proc/modules (loaded modules, present if CONFIG_MODULES=y) - $(MODLIB)/modules.builtin (builtin modules) They fail to detect features if the kernel was built with CONFIG_MODULES=n and modules.builtin isn't installed. Therefore, add the target "_builtin_inst_" and make "install" and "modules_install" depend on it. Tests results: - make install: kernel image is copied as before, modules.builtin copied - make modules_install: (CONFIG_MODULES=n) nothing is copied, exit 1 Signed-off-by: Jonas Zeiger <jonas.zeiger@talpidae.net> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
-rw-r--r--Makefile14
1 files changed, 11 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index ee3ed9dfca2c..7b750dc0b2da 100644
--- a/Makefile
+++ b/Makefile
@@ -1322,6 +1322,16 @@ dt_binding_check: scripts_dtc
# ---------------------------------------------------------------------------
# Modules
+# install modules.builtin regardless of CONFIG_MODULES
+PHONY += _builtin_inst_
+_builtin_inst_:
+ @mkdir -p $(MODLIB)/
+ @cp -f modules.builtin $(MODLIB)/
+ @cp -f $(objtree)/modules.builtin.modinfo $(MODLIB)/
+
+PHONY += install
+install: _builtin_inst_
+
ifdef CONFIG_MODULES
# By default, build modules as well
@@ -1365,7 +1375,7 @@ PHONY += modules_install
modules_install: _modinst_ _modinst_post
PHONY += _modinst_
-_modinst_:
+_modinst_: _builtin_inst_
@rm -rf $(MODLIB)/kernel
@rm -f $(MODLIB)/source
@mkdir -p $(MODLIB)/kernel
@@ -1375,8 +1385,6 @@ _modinst_:
ln -s $(CURDIR) $(MODLIB)/build ; \
fi
@sed 's:^:kernel/:' modules.order > $(MODLIB)/modules.order
- @cp -f modules.builtin $(MODLIB)/
- @cp -f $(objtree)/modules.builtin.modinfo $(MODLIB)/
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst
# This depmod is only for convenience to give the initial