Re: [PATCH] kconfig: remove redundant streamline_config.pl prerequisite

From: Masahiro Yamada
Date: Thu Mar 01 2018 - 09:40:22 EST


2018-03-01 20:18 GMT+09:00 Ulf Magnusson <ulfalizer@xxxxxxxxx>:
> The local{yes,mod}config targets currently have streamline_config.pl as
> a prerequisite. This is redundant, because streamline_config.pl is a
> checked-in file with no prerequisites.
>
> Remove the prerequisite and reference streamline_config.pl directly in
> the recipe of the rule instead.
>
> Signed-off-by: Ulf Magnusson <ulfalizer@xxxxxxxxx>
> ---
> scripts/kconfig/Makefile | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
> index 1f74336d4e23..58be52cb464d 100644


Thanks! Almost good.

Just small nits.


> --- a/scripts/kconfig/Makefile
> +++ b/scripts/kconfig/Makefile
> @@ -77,9 +77,9 @@ silentoldconfig: $(obj)/conf
> touch include/generated/autoksyms.h
> $< $(silent) --$@ $(Kconfig)
>
> -localyesconfig localmodconfig: $(obj)/streamline_config.pl $(obj)/conf
> +localyesconfig localmodconfig: $(obj)/conf
> $(Q)mkdir -p include/config include/generated
> - $(Q)perl $< --$@ $(srctree) $(Kconfig) > .tmp.config
> + $(Q)perl $(obj)/streamline_config.pl --$@ $(srctree) $(Kconfig) > .tmp.config



'$(src)/streamline_config.pl' is better than '$(obj)/streamline_config.pl'
since it is a checked-in file.

'$(src)' and '$(obj)' are always the same.
(https://github.com/torvalds/linux/blob/master/scripts/Makefile.build#L6)


So, there is no effective difference.
It is just a coding convention to use $(obj)/ for generated files,
and $(src)/ for source files.

The original code already used $(obj)/, so this is not your fault
but I want to fix it while we are here.



One more nit.

$(obj)/conf $(silent) --silentoldconfig $(Kconfig);

can be

$< $(silent) --silentoldconfig $(Kconfig);


I guess you did not touch this line to avoid
conflict with my patch.



If you agree those two, shall I fix it up
when I apply it?





> $(Q)if [ -f .config ]; then \
> cmp -s .tmp.config .config || \
> (mv -f .config .config.old.1; \
> --
> 2.14.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html



--
Best Regards
Masahiro Yamada