diff options
author | Jonas Zeiger <jonas.zeiger@talpidae.net> | 2020-06-03 15:34:05 +0200 |
---|---|---|
committer | Masahiro Yamada <masahiroy@kernel.org> | 2020-06-06 23:41:49 +0900 |
commit | e0b250b57dcf403529081e5898a9de717f96b76b (patch) | |
tree | 48d9ae7bf2276085abbc2457bff0a50e39cd3e8b | |
parent | 72d24accf02add25e08733f0ecc93cf10fcbd88c (diff) | |
download | lwn-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-- | Makefile | 14 |
1 files changed, 11 insertions, 3 deletions
@@ -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 |