[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