[U-Boot] [PATCH 3/5] arm: mvebu: Avoid generating kwbimage.cfg in the source tree

Stefan Roese sr at denx.de
Mon Oct 28 05:07:12 UTC 2019


On 27.10.19 13:28, Bin Meng wrote:
> At present some boards generate kwbimage.cfg in the source tree
> during the build. This breaks buildman testing on some systems
> where the source tree is read-only. Update makefile rules to
> generate it in the build tree instead.
> 
> Note some other boards have the kwbimage.cfg file written in
> advance, hence we need check if the file exists in the build
> tree first, otherwise we fall back to one in the source tree.
> 
> Signed-off-by: Bin Meng <bmeng.cn at gmail.com>

Reviewed-by: Stefan Roese <sr at denx.de>

Thanks,
Stefan

> ---
> 
>   Makefile                             | 15 +++++++++++++--
>   arch/arm/mach-mvebu/Makefile         |  4 ++--
>   board/Marvell/db-88f6281-bp/Makefile |  4 ++--
>   board/Marvell/db-xc3-24g4xg/Makefile |  4 ++--
>   board/mikrotik/crs305-1g-4s/Makefile |  4 ++--
>   5 files changed, 21 insertions(+), 10 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index e78b317..61b94c5 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1276,10 +1276,21 @@ endif
>   
>   MKIMAGEFLAGS_u-boot-dtb.img = $(MKIMAGEFLAGS_u-boot.img)
>   
> -MKIMAGEFLAGS_u-boot.kwb = -n $(srctree)/$(CONFIG_SYS_KWD_CONFIG:"%"=%) \
> +# Some boards have the kwbimage.cfg file written in advance, while some
> +# other boards generate it on the fly during the build in the build tree.
> +# Let's check if the file exists in the build tree first, otherwise we
> +# fall back to use the one in the source tree.
> +KWD_CONFIG_FILE = $(shell \
> +	if [ -f $(objtree)/$(CONFIG_SYS_KWD_CONFIG:"%"=%) ]; then \
> +		echo -n $(objtree)/$(CONFIG_SYS_KWD_CONFIG:"%"=%); \
> +	else \
> +		echo -n $(srctree)/$(CONFIG_SYS_KWD_CONFIG:"%"=%); \
> +	fi)
> +
> +MKIMAGEFLAGS_u-boot.kwb = -n $(KWD_CONFIG_FILE) \
>   	-T kwbimage -a $(CONFIG_SYS_TEXT_BASE) -e $(CONFIG_SYS_TEXT_BASE)
>   
> -MKIMAGEFLAGS_u-boot-spl.kwb = -n $(srctree)/$(CONFIG_SYS_KWD_CONFIG:"%"=%) \
> +MKIMAGEFLAGS_u-boot-spl.kwb = -n $(KWD_CONFIG_FILE) \
>   	-T kwbimage -a $(CONFIG_SYS_TEXT_BASE) -e $(CONFIG_SYS_TEXT_BASE) \
>   	$(if $(KEYDIR),-k $(KEYDIR))
>   
> diff --git a/arch/arm/mach-mvebu/Makefile b/arch/arm/mach-mvebu/Makefile
> index 8228a17..b739520 100644
> --- a/arch/arm/mach-mvebu/Makefile
> +++ b/arch/arm/mach-mvebu/Makefile
> @@ -58,10 +58,10 @@ KWB_REPLACE += SEC_FUSE_DUMP
>   KWB_CFG_SEC_FUSE_DUMP = a38x
>   endif
>   
> -$(src)/kwbimage.cfg: $(src)/kwbimage.cfg.in include/autoconf.mk \
> +$(obj)/kwbimage.cfg: $(src)/kwbimage.cfg.in include/autoconf.mk \
>   		include/config/auto.conf
>   	$(Q)sed -ne '$(foreach V,$(KWB_REPLACE),s/^#@$(V)/$(V) $(KWB_CFG_$(V))/;)p' \
> -	<$< >$(dir $<)$(@F)
> +	<$< >$(dir $@)$(@F)
>   
>   endif # CONFIG_SPL_BUILD
>   obj-y	+= gpio.o
> diff --git a/board/Marvell/db-88f6281-bp/Makefile b/board/Marvell/db-88f6281-bp/Makefile
> index e6aa7e3..003e9f6 100644
> --- a/board/Marvell/db-88f6281-bp/Makefile
> +++ b/board/Marvell/db-88f6281-bp/Makefile
> @@ -4,9 +4,9 @@ obj-y	:= db-88f6281-bp.o
>   extra-y := kwbimage.cfg
>   
>   quiet_cmd_sed = SED     $@
> -      cmd_sed = sed $(SEDFLAGS_$(@F)) $< >$(dir $<)$(@F)
> +      cmd_sed = sed $(SEDFLAGS_$(@F)) $< >$(dir $@)$(@F)
>   
>   SEDFLAGS_kwbimage.cfg = -e "s/^\#@BOOT_FROM.*/BOOT_FROM	$(if $(CONFIG_CMD_NAND),nand,spi)/"
> -$(src)/kwbimage.cfg: $(src)/kwbimage.cfg.in include/autoconf.mk \
> +$(obj)/kwbimage.cfg: $(src)/kwbimage.cfg.in include/autoconf.mk \
>   		include/config/auto.conf
>   	$(call if_changed,sed)
> diff --git a/board/Marvell/db-xc3-24g4xg/Makefile b/board/Marvell/db-xc3-24g4xg/Makefile
> index 4dd5790..24e8200 100644
> --- a/board/Marvell/db-xc3-24g4xg/Makefile
> +++ b/board/Marvell/db-xc3-24g4xg/Makefile
> @@ -6,9 +6,9 @@ obj-y	:= db-xc3-24g4xg.o
>   extra-y	:= kwbimage.cfg
>   
>   quiet_cmd_sed = SED     $@
> -      cmd_sed = sed $(SEDFLAGS_$(@F)) $< >$(dir $<)$(@F)
> +      cmd_sed = sed $(SEDFLAGS_$(@F)) $< >$(dir $@)$(@F)
>   
>   SEDFLAGS_kwbimage.cfg =-e "s|^BINARY.*|BINARY $(srctree)/$(@D)/binary.0 0000005b 00000068|"
> -$(src)/kwbimage.cfg: $(src)/kwbimage.cfg.in include/autoconf.mk \
> +$(obj)/kwbimage.cfg: $(src)/kwbimage.cfg.in include/autoconf.mk \
>   		include/config/auto.conf
>   	  $(call if_changed,sed)
> diff --git a/board/mikrotik/crs305-1g-4s/Makefile b/board/mikrotik/crs305-1g-4s/Makefile
> index 895331b..c03f534 100644
> --- a/board/mikrotik/crs305-1g-4s/Makefile
> +++ b/board/mikrotik/crs305-1g-4s/Makefile
> @@ -6,9 +6,9 @@ obj-y	:= crs305-1g-4s.o
>   extra-y	:= kwbimage.cfg
>   
>   quiet_cmd_sed = SED     $@
> -      cmd_sed = sed $(SEDFLAGS_$(@F)) $< >$(dir $<)$(@F)
> +      cmd_sed = sed $(SEDFLAGS_$(@F)) $< >$(dir $@)$(@F)
>   
>   SEDFLAGS_kwbimage.cfg =-e "s|^BINARY.*|BINARY $(srctree)/$(@D)/binary.0 0000005b 00000068|"
> -$(src)/kwbimage.cfg: $(src)/kwbimage.cfg.in include/autoconf.mk \
> +$(obj)/kwbimage.cfg: $(src)/kwbimage.cfg.in include/autoconf.mk \
>   		include/config/auto.conf
>   	  $(call if_changed,sed)
> 

Viele Grüße,
Stefan

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de


More information about the U-Boot mailing list