arm: mvebu: Avoid generating kwbimage.cfg in the source tree
authorBin Meng <bmeng.cn@gmail.com>
Mon, 28 Oct 2019 14:25:01 +0000 (07:25 -0700)
committerTom Rini <trini@konsulko.com>
Tue, 29 Oct 2019 20:17:36 +0000 (16:17 -0400)
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@gmail.com>
Reviewed-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Makefile
arch/arm/mach-mvebu/Makefile
board/Marvell/db-88f6281-bp/Makefile
board/Marvell/db-xc3-24g4xg/Makefile
board/mikrotik/crs305-1g-4s/Makefile

index e78b3179b1388373933fb561ffc2d1f902d094a8..61b94c5a6e2eb10c4b930dd10ae495b8ef7e1c55 100644 (file)
--- 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))
 
index 8228a17972f96e14a5b1409d2f9e55094f25344f..b73952044de7ab07f89d6554be59ad88925be1c3 100644 (file)
@@ -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
index e6aa7e39a07f5edebf0cc8a7f07b835f9545aba0..003e9f66d18f3b4e13905f238b065c74414bdbbe 100644 (file)
@@ -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)
index 4dd57902d474042202e9e403a4fcd037e912e98c..24e82000075c8b2285ee0b37208c3360d3015aba 100644 (file)
@@ -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)
index 895331beb86d588780d5fa623eae726f51e4ec1f..c03f534e48503107a121bbc0d882ee628558d552 100644 (file)
@@ -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)