On Thu, Aug 24, 2023 at 8:30 AM Nicolas Schier <nicolas@xxxxxxxxx> wrote: > > On Wed 23 Aug 2023 20:50:43 GMT, Masahiro Yamada wrote: > > depmod is a part of the module installation. > > > > scripts/Makefile.modinst is a better place to run it. > > > > Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx> > > --- > > > > Makefile | 8 -------- > > scripts/Makefile.modinst | 9 +++++++++ > > scripts/depmod.sh | 10 ++++++---- > > 3 files changed, 15 insertions(+), 12 deletions(-) > > > > diff --git a/Makefile b/Makefile > > index e2dfa3b994f7..c9c8019e4720 100644 > > --- a/Makefile > > +++ b/Makefile > > @@ -509,7 +509,6 @@ LEX = flex > > YACC = bison > > AWK = awk > > INSTALLKERNEL := installkernel > > -DEPMOD = depmod > > PERL = perl > > PYTHON3 = python3 > > CHECK = sparse > > @@ -1871,15 +1870,8 @@ PHONY += modules_check > > modules_check: $(MODORDER) > > $(Q)$(CONFIG_SHELL) $(srctree)/scripts/modules-check.sh $< > > > > -quiet_cmd_depmod = DEPMOD $(MODLIB) > > - cmd_depmod = $(CONFIG_SHELL) $(srctree)/scripts/depmod.sh $(DEPMOD) \ > > - $(KERNELRELEASE) > > - > > modules_install: > > $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst > > -ifndef modules_sign_only > > - $(call cmd,depmod) > > -endif > > > > else # CONFIG_MODULES > > > > diff --git a/scripts/Makefile.modinst b/scripts/Makefile.modinst > > index ab0c5bd1a60f..7a64ece9b826 100644 > > --- a/scripts/Makefile.modinst > > +++ b/scripts/Makefile.modinst > > @@ -86,6 +86,15 @@ $(dst)/%.ko: $(extmod_prefix)%.ko FORCE > > $(call cmd,strip) > > $(call cmd,sign) > > > > +__modinst: depmod > > + > > +PHONY += depmod > > +depmod: $(modules) > > + $(call cmd,depmod) > > + > > +quiet_cmd_depmod = DEPMOD $(MODLIB) > > + cmd_depmod = $(srctree)/scripts/depmod.sh $(KERNELRELEASE) > > Did you remove the $(CONFIG_SHELL) by intention? Yes. I do not know why $(CONFIG_SHELL) is needed. I remove $(CONFIG_SHELL) when I have a chance to touch the line. > > + > > else > > > > $(dst)/%.ko: FORCE > > diff --git a/scripts/depmod.sh b/scripts/depmod.sh > > index fca689ba4f21..ee771ccb1f9c 100755 > > --- a/scripts/depmod.sh > > +++ b/scripts/depmod.sh > > @@ -3,12 +3,14 @@ > > # > > # A depmod wrapper used by the toplevel Makefile > > toplevel Makefile -> scripts/Makefile.modinst Good catch. I will fix it. > > > > -if test $# -ne 2; then > > - echo "Usage: $0 /sbin/depmod <kernelrelease>" >&2 > > +if test $# -ne 1; then > > + echo "Usage: $0 <kernelrelease>" >&2 > > exit 1 > > fi > > -DEPMOD=$1 > > -KERNELRELEASE=$2 > > + > > +KERNELRELEASE=$1 > > + > > +: ${DEPMOD:=depmod} > > > > if ! test -r System.map ; then > > echo "Warning: modules_install: missing 'System.map' file. Skipping depmod." >&2 > > -- > > 2.39.2 > > A minor observation: with this patch, the "quiet_cmd_*" examples in > Makefile and in Documentation/kbuild/makefiles.rst become out-dated. I was opposed to eb38f37c3cee08a0197bdc7bbb9b4e02e40e2300 The section "Script invocation" is not what I ack'ed. That is what Kees Cook and Andrew Morton did. > > But technically, it looks good to me, thus: > Reviewed-by: Nicolas Schier <nicolas@xxxxxxxxx> -- Best Regards Masahiro Yamada