Re: [PATCH 1/2] kbuild: factor out genksyms command from cmd_gensymtypes_{c,S}

From: Masahiro Yamada
Date: Mon Apr 04 2022 - 22:47:56 EST


On Wed, Mar 30, 2022 at 3:18 AM Nick Desaulniers
<ndesaulniers@xxxxxxxxxx> wrote:
>
> On Mon, Mar 28, 2022 at 7:15 PM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:
> >
> > The genksyms command part in cmd_gensymtypes_{c,S} is duplicated.
> > Factor it out into the 'genksyms' macro.
> >
> > For the readability, I slightly refactor the arguments to genksyms.
>
> Looks nicer, thanks for the patch!
> Reviewed-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>
>
> >

Applied to linux-kbuild.


> > Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
> > ---
> >
> > scripts/Makefile.build | 19 ++++++++-----------
> > 1 file changed, 8 insertions(+), 11 deletions(-)
> >
> > diff --git a/scripts/Makefile.build b/scripts/Makefile.build
> > index 9717e6f6fb31..3f2985df4d60 100644
> > --- a/scripts/Makefile.build
> > +++ b/scripts/Makefile.build
> > @@ -125,13 +125,14 @@ cmd_cpp_i_c = $(CPP) $(c_flags) -o $@ $<
> > $(obj)/%.i: $(src)/%.c FORCE
> > $(call if_changed_dep,cpp_i_c)
> >
> > +genksyms = scripts/genksyms/genksyms \
> > + $(if $(1), -T $(2)) \
> > + $(if $(CONFIG_MODULE_REL_CRCS), -R) \
> > + $(if $(KBUILD_PRESERVE), -p) \
> > + -r $(or $(wildcard $(2:.symtypes=.symref), /dev/null))
> > +
> > # These mirror gensymtypes_S and co below, keep them in synch.
> > -cmd_gensymtypes_c = \
> > - $(CPP) -D__GENKSYMS__ $(c_flags) $< | \
> > - scripts/genksyms/genksyms $(if $(1), -T $(2)) \
> > - $(patsubst y,-R,$(CONFIG_MODULE_REL_CRCS)) \
> > - $(if $(KBUILD_PRESERVE),-p) \
> > - -r $(firstword $(wildcard $(2:.symtypes=.symref) /dev/null))
> > +cmd_gensymtypes_c = $(CPP) -D__GENKSYMS__ $(c_flags) $< | $(genksyms)
> >
> > quiet_cmd_cc_symtypes_c = SYM $(quiet_modtag) $@
> > cmd_cc_symtypes_c = \
> > @@ -344,11 +345,7 @@ cmd_gensymtypes_S = \
> > $(CPP) $(a_flags) $< | \
> > grep "\<___EXPORT_SYMBOL\>" | \
> > sed 's/.*___EXPORT_SYMBOL[[:space:]]*\([a-zA-Z0-9_]*\)[[:space:]]*,.*/EXPORT_SYMBOL(\1);/' ; } | \
> > - $(CPP) -D__GENKSYMS__ $(c_flags) -xc - | \
> > - scripts/genksyms/genksyms $(if $(1), -T $(2)) \
> > - $(patsubst y,-R,$(CONFIG_MODULE_REL_CRCS)) \
> > - $(if $(KBUILD_PRESERVE),-p) \
> > - -r $(firstword $(wildcard $(2:.symtypes=.symref) /dev/null))
> > + $(CPP) -D__GENKSYMS__ $(c_flags) -xc - | $(genksyms)
> >
> > quiet_cmd_cc_symtypes_S = SYM $(quiet_modtag) $@
> > cmd_cc_symtypes_S = \
> > --
> > 2.32.0
> >
>
>
> --
> Thanks,
> ~Nick Desaulniers



--
Best Regards
Masahiro Yamada