Message ID | 20221229184650.1107463-1-masahiroy@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | kbuild: unify cmd_dt_S_dtb and cmd_dt_S_dtbo | expand |
On Fri, Dec 30, 2022 at 03:46:50AM +0900 Masahiro Yamada wrote: > cmd_dt_S_dtb and cmd_dt_S_dtbo are almost the same; the only differnce > is the prefix of the bein/end symbols. (__dtb vs __dtbo) Two letters got lost: differ_e_nce, be_g_in. > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > --- > > scripts/Makefile.lib | 45 +++++++++++++++----------------------------- > 1 file changed, 15 insertions(+), 30 deletions(-) > > diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib > index 4a4a5f67c1a6..100a386fcd71 100644 > --- a/scripts/Makefile.lib > +++ b/scripts/Makefile.lib > @@ -368,40 +368,25 @@ DTC_FLAGS += $(DTC_FLAGS_$(basetarget)) > DTC_FLAGS += $(if $(filter $(patsubst $(obj)/%,%,$@), $(base-dtb-y)), -@) > > # Generate an assembly file to wrap the output of the device tree compiler > -quiet_cmd_dt_S_dtb= DTBS $@ > -cmd_dt_S_dtb= \ > -{ \ > - echo '\#include <asm-generic/vmlinux.lds.h>'; \ > - echo '.section .dtb.init.rodata,"a"'; \ > - echo '.balign STRUCT_ALIGNMENT'; \ > - echo '.global __dtb_$(subst -,_,$(*F))_begin'; \ > - echo '__dtb_$(subst -,_,$(*F))_begin:'; \ > - echo '.incbin "$<" '; \ > - echo '__dtb_$(subst -,_,$(*F))_end:'; \ > - echo '.global __dtb_$(subst -,_,$(*F))_end'; \ > - echo '.balign STRUCT_ALIGNMENT'; \ > -} > $@ > +quiet_cmd_wrap_S_dtb = WRAP $@ > + cmd_wrap_S_dtb = { \ > + symbase=__$(patsubst .%,%,$(suffix $<))_$(subst -,_,$(notdir $*)); \ As long as I know, '$(notdir $*)' should be equivalent to '$(*F)'. Is it just personal preference or is there some other reason for choosing one or the other? Nevertheless, with the typos fixed, it looks good to me: Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
On Fri, Dec 30, 2022 at 4:47 AM Nicolas Schier <nicolas@fjasle.eu> wrote: > > On Fri, Dec 30, 2022 at 03:46:50AM +0900 Masahiro Yamada wrote: > > cmd_dt_S_dtb and cmd_dt_S_dtbo are almost the same; the only differnce > > is the prefix of the bein/end symbols. (__dtb vs __dtbo) > > Two letters got lost: differ_e_nce, be_g_in. Ah, thanks. I will fix it. > > > > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > > --- > > > > scripts/Makefile.lib | 45 +++++++++++++++----------------------------- > > 1 file changed, 15 insertions(+), 30 deletions(-) > > > > diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib > > index 4a4a5f67c1a6..100a386fcd71 100644 > > --- a/scripts/Makefile.lib > > +++ b/scripts/Makefile.lib > > @@ -368,40 +368,25 @@ DTC_FLAGS += $(DTC_FLAGS_$(basetarget)) > > DTC_FLAGS += $(if $(filter $(patsubst $(obj)/%,%,$@), $(base-dtb-y)), -@) > > > > # Generate an assembly file to wrap the output of the device tree compiler > > -quiet_cmd_dt_S_dtb= DTBS $@ > > -cmd_dt_S_dtb= \ > > -{ \ > > - echo '\#include <asm-generic/vmlinux.lds.h>'; \ > > - echo '.section .dtb.init.rodata,"a"'; \ > > - echo '.balign STRUCT_ALIGNMENT'; \ > > - echo '.global __dtb_$(subst -,_,$(*F))_begin'; \ > > - echo '__dtb_$(subst -,_,$(*F))_begin:'; \ > > - echo '.incbin "$<" '; \ > > - echo '__dtb_$(subst -,_,$(*F))_end:'; \ > > - echo '.global __dtb_$(subst -,_,$(*F))_end'; \ > > - echo '.balign STRUCT_ALIGNMENT'; \ > > -} > $@ > > +quiet_cmd_wrap_S_dtb = WRAP $@ > > + cmd_wrap_S_dtb = { \ > > + symbase=__$(patsubst .%,%,$(suffix $<))_$(subst -,_,$(notdir $*)); \ > > As long as I know, '$(notdir $*)' should be equivalent to '$(*F)'. Is it just > personal preference or is there some other reason for choosing one or the > other? Your understanding is correct. Automatic variables can have 'D' / 'F', as explained in the manual. https://www.gnu.org/software/make/manual/html_node/Automatic-Variables.html Yes, it is just my personal preference. Perhaps, I did not need to change it, though. > Nevertheless, with the typos fixed, it looks good to me: > Reviewed-by: Nicolas Schier <nicolas@fjasle.eu> >
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 4a4a5f67c1a6..100a386fcd71 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -368,40 +368,25 @@ DTC_FLAGS += $(DTC_FLAGS_$(basetarget)) DTC_FLAGS += $(if $(filter $(patsubst $(obj)/%,%,$@), $(base-dtb-y)), -@) # Generate an assembly file to wrap the output of the device tree compiler -quiet_cmd_dt_S_dtb= DTBS $@ -cmd_dt_S_dtb= \ -{ \ - echo '\#include <asm-generic/vmlinux.lds.h>'; \ - echo '.section .dtb.init.rodata,"a"'; \ - echo '.balign STRUCT_ALIGNMENT'; \ - echo '.global __dtb_$(subst -,_,$(*F))_begin'; \ - echo '__dtb_$(subst -,_,$(*F))_begin:'; \ - echo '.incbin "$<" '; \ - echo '__dtb_$(subst -,_,$(*F))_end:'; \ - echo '.global __dtb_$(subst -,_,$(*F))_end'; \ - echo '.balign STRUCT_ALIGNMENT'; \ -} > $@ +quiet_cmd_wrap_S_dtb = WRAP $@ + cmd_wrap_S_dtb = { \ + symbase=__$(patsubst .%,%,$(suffix $<))_$(subst -,_,$(notdir $*)); \ + echo '\#include <asm-generic/vmlinux.lds.h>'; \ + echo '.section .dtb.init.rodata,"a"'; \ + echo '.balign STRUCT_ALIGNMENT'; \ + echo ".global $${symbase}_begin"; \ + echo "$${symbase}_begin:"; \ + echo '.incbin "$<" '; \ + echo ".global $${symbase}_end"; \ + echo "$${symbase}_end:"; \ + echo '.balign STRUCT_ALIGNMENT'; \ + } > $@ $(obj)/%.dtb.S: $(obj)/%.dtb FORCE - $(call if_changed,dt_S_dtb) - -# Generate an assembly file to wrap the output of the device tree compiler -quiet_cmd_dt_S_dtbo= DTBOS $@ -cmd_dt_S_dtbo= \ -{ \ - echo '\#include <asm-generic/vmlinux.lds.h>'; \ - echo '.section .dtb.init.rodata,"a"'; \ - echo '.balign STRUCT_ALIGNMENT'; \ - echo '.global __dtbo_$(subst -,_,$(*F))_begin'; \ - echo '__dtbo_$(subst -,_,$(*F))_begin:'; \ - echo '.incbin "$<" '; \ - echo '__dtbo_$(subst -,_,$(*F))_end:'; \ - echo '.global __dtbo_$(subst -,_,$(*F))_end'; \ - echo '.balign STRUCT_ALIGNMENT'; \ -} > $@ + $(call if_changed,wrap_S_dtb) $(obj)/%.dtbo.S: $(obj)/%.dtbo FORCE - $(call if_changed,dt_S_dtbo) + $(call if_changed,wrap_S_dtb) quiet_cmd_dtc = DTC $@ cmd_dtc = $(HOSTCC) -E $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
cmd_dt_S_dtb and cmd_dt_S_dtbo are almost the same; the only differnce is the prefix of the bein/end symbols. (__dtb vs __dtbo) Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> --- scripts/Makefile.lib | 45 +++++++++++++++----------------------------- 1 file changed, 15 insertions(+), 30 deletions(-)