Message ID | 20221211130408.2800314-2-masahiroy@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/2] kbuild: change module.order to list *.o instead of *.ko | expand |
On Sun 11 Dec 2022 22:04:08 GMT, Masahiro Yamada wrote: > The prerequisites of modpost are cluttered. The variables > *-if-present > and *-if-needed are unreadable. > > It is cleaner to append them into modpost-deps. > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > --- Reviewed-by: Nicolas Schier <nicolas@fjasle.eu> > scripts/Makefile.modpost | 36 ++++++++++++++++++++++-------------- > 1 file changed, 22 insertions(+), 14 deletions(-) > > diff --git a/scripts/Makefile.modpost b/scripts/Makefile.modpost > index f814a6acd200..5eb5e8280379 100644 > --- a/scripts/Makefile.modpost > +++ b/scripts/Makefile.modpost > @@ -38,6 +38,8 @@ __modpost: > include include/config/auto.conf > include $(srctree)/scripts/Kbuild.include > > +MODPOST = scripts/mod/modpost > + > modpost-args = \ > $(if $(CONFIG_MODVERSIONS),-m) \ > $(if $(CONFIG_MODULE_SRCVERSION_ALL),-a) \ > @@ -46,6 +48,8 @@ modpost-args = \ > $(if $(CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS)$(KBUILD_NSDEPS),-N) \ > -o $@ > > +modpost-deps := $(MODPOST) > + > # 'make -i -k' ignores compile errors, and builds as many modules as possible. > ifneq ($(findstring i,$(filter-out --%,$(MAKEFLAGS))),) > modpost-args += -n > @@ -78,12 +82,13 @@ targets += .vmlinux.objs > .vmlinux.objs: vmlinux.a $(KBUILD_VMLINUX_LIBS) FORCE > $(call if_changed,vmlinux_objs) > > -vmlinux.o-if-present := $(wildcard vmlinux.o) > -output-symdump := vmlinux.symvers > - > -ifdef KBUILD_MODULES > -output-symdump := $(if $(vmlinux.o-if-present), Module.symvers, modules-only.symvers) > -missing-input := $(filter-out $(vmlinux.o-if-present),vmlinux.o) > +ifeq ($(wildcard vmlinux.o),) > +missing-input := vmlinux.o > +output-symdump := modules-only.symvers > +else > +modpost-args += vmlinux.o > +modpost-deps += vmlinux.o > +output-symdump := $(if $(KBUILD_MODULES), Module.symvers, vmlinux.symvers) > endif > > else > @@ -95,11 +100,16 @@ src := $(obj) > # Include the module's Makefile to find KBUILD_EXTRA_SYMBOLS > include $(kbuild-file) > > -module.symvers-if-present := $(wildcard Module.symvers) > output-symdump := $(KBUILD_EXTMOD)/Module.symvers > -missing-input := $(filter-out $(module.symvers-if-present), Module.symvers) > > -modpost-args += -e $(addprefix -i ,$(module.symvers-if-present) $(KBUILD_EXTRA_SYMBOLS)) > +ifeq ($(wildcard Module.symvers),) > +missing-input := Module.symvers > +else > +modpost-args += -i Module.symvers > +modpost-deps += Module.symvers > +endif > + > +modpost-args += -e $(addprefix -i , $(KBUILD_EXTRA_SYMBOLS)) > > endif # ($(KBUILD_EXTMOD),) > > @@ -108,12 +118,10 @@ modpost-args += -w > endif > > ifdef KBUILD_MODULES > -modorder-if-needed := $(MODORDER) > modpost-args += -T $(MODORDER) > +modpost-deps += $(MODORDER) > endif > > -MODPOST = scripts/mod/modpost > - > # Read out modules.order to pass in modpost. > # Otherwise, allmodconfig would fail with "Argument list too long". > quiet_cmd_modpost = MODPOST $@ > @@ -122,10 +130,10 @@ quiet_cmd_modpost = MODPOST $@ > echo >&2 "WARNING: $(missing-input) is missing."; \ > echo >&2 " Modules may not have dependencies or modversions."; \ > echo >&2 " You may get many unresolved symbol warnings.";) \ > - $(MODPOST) $(modpost-args) $(vmlinux.o-if-present) > + $(MODPOST) $(modpost-args) > > targets += $(output-symdump) > -$(output-symdump): $(modorder-if-needed) $(vmlinux.o-if-present) $(module.symvers-if-present) $(MODPOST) FORCE > +$(output-symdump): $(modpost-deps) FORCE > $(call if_changed,modpost) > > __modpost: $(output-symdump) > -- > 2.34.1
diff --git a/scripts/Makefile.modpost b/scripts/Makefile.modpost index f814a6acd200..5eb5e8280379 100644 --- a/scripts/Makefile.modpost +++ b/scripts/Makefile.modpost @@ -38,6 +38,8 @@ __modpost: include include/config/auto.conf include $(srctree)/scripts/Kbuild.include +MODPOST = scripts/mod/modpost + modpost-args = \ $(if $(CONFIG_MODVERSIONS),-m) \ $(if $(CONFIG_MODULE_SRCVERSION_ALL),-a) \ @@ -46,6 +48,8 @@ modpost-args = \ $(if $(CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS)$(KBUILD_NSDEPS),-N) \ -o $@ +modpost-deps := $(MODPOST) + # 'make -i -k' ignores compile errors, and builds as many modules as possible. ifneq ($(findstring i,$(filter-out --%,$(MAKEFLAGS))),) modpost-args += -n @@ -78,12 +82,13 @@ targets += .vmlinux.objs .vmlinux.objs: vmlinux.a $(KBUILD_VMLINUX_LIBS) FORCE $(call if_changed,vmlinux_objs) -vmlinux.o-if-present := $(wildcard vmlinux.o) -output-symdump := vmlinux.symvers - -ifdef KBUILD_MODULES -output-symdump := $(if $(vmlinux.o-if-present), Module.symvers, modules-only.symvers) -missing-input := $(filter-out $(vmlinux.o-if-present),vmlinux.o) +ifeq ($(wildcard vmlinux.o),) +missing-input := vmlinux.o +output-symdump := modules-only.symvers +else +modpost-args += vmlinux.o +modpost-deps += vmlinux.o +output-symdump := $(if $(KBUILD_MODULES), Module.symvers, vmlinux.symvers) endif else @@ -95,11 +100,16 @@ src := $(obj) # Include the module's Makefile to find KBUILD_EXTRA_SYMBOLS include $(kbuild-file) -module.symvers-if-present := $(wildcard Module.symvers) output-symdump := $(KBUILD_EXTMOD)/Module.symvers -missing-input := $(filter-out $(module.symvers-if-present), Module.symvers) -modpost-args += -e $(addprefix -i ,$(module.symvers-if-present) $(KBUILD_EXTRA_SYMBOLS)) +ifeq ($(wildcard Module.symvers),) +missing-input := Module.symvers +else +modpost-args += -i Module.symvers +modpost-deps += Module.symvers +endif + +modpost-args += -e $(addprefix -i , $(KBUILD_EXTRA_SYMBOLS)) endif # ($(KBUILD_EXTMOD),) @@ -108,12 +118,10 @@ modpost-args += -w endif ifdef KBUILD_MODULES -modorder-if-needed := $(MODORDER) modpost-args += -T $(MODORDER) +modpost-deps += $(MODORDER) endif -MODPOST = scripts/mod/modpost - # Read out modules.order to pass in modpost. # Otherwise, allmodconfig would fail with "Argument list too long". quiet_cmd_modpost = MODPOST $@ @@ -122,10 +130,10 @@ quiet_cmd_modpost = MODPOST $@ echo >&2 "WARNING: $(missing-input) is missing."; \ echo >&2 " Modules may not have dependencies or modversions."; \ echo >&2 " You may get many unresolved symbol warnings.";) \ - $(MODPOST) $(modpost-args) $(vmlinux.o-if-present) + $(MODPOST) $(modpost-args) targets += $(output-symdump) -$(output-symdump): $(modorder-if-needed) $(vmlinux.o-if-present) $(module.symvers-if-present) $(MODPOST) FORCE +$(output-symdump): $(modpost-deps) FORCE $(call if_changed,modpost) __modpost: $(output-symdump)
The prerequisites of modpost are cluttered. The variables *-if-present and *-if-needed are unreadable. It is cleaner to append them into modpost-deps. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> --- scripts/Makefile.modpost | 36 ++++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 14 deletions(-)