Re: [PATCH 3/8] kbuild: move depmod rule to scripts/Makefile.modinst

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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?

> +
>  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

>  
> -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.

But technically, it looks good to me, thus:
Reviewed-by: Nicolas Schier <nicolas@xxxxxxxxx>

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux