[PATCH] Make barebox flashable image link for "multi-image" targets

Trent Piepho tpiepho at kymetacorp.com
Tue Oct 20 14:47:30 PDT 2015


For a target with multi-image support, no barebox-flash-image link is
made pointing to the finished flashable image.  This makes it hard for
buildroot to figure out which file is the barebox image.  And one has
to assume this link is generally useful and convenient to users of
barebox, or why would it have been created in the first place?

This patch to the multi-image build will create that link.

It only works when a single image is made.  If one is making multiple
images, then the concept of a single finished image no longer applies,
and no link is made.

Signed-off-by: Trent Piepho <tpiepho at kymetacorp.com>
---
 images/Makefile | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/images/Makefile b/images/Makefile
index a5f589b..fcdf404 100644
--- a/images/Makefile
+++ b/images/Makefile
@@ -121,10 +121,16 @@ targets += $(foreach m, $(image-y), $(FILE_$(m)))
 
 SECONDARY: $(addprefix $(obj)/,$(targets))
 
-images: $(addprefix $(obj)/, $(image-y)) FORCE
+# Set if there is only one image in image-y
+flash-link := $(if $(filter 1,$(words $(image-y))),$(obj)/../barebox-flash-image)
+
+images: $(addprefix $(obj)/, $(image-y)) $(flash-link) FORCE
 	@echo "images built:"
 	@for i in $(image-y); do echo $$i; done
 
+$(flash-link): $(addprefix $(obj)/, $(image-y)) FORCE
+	$(call if_changed,ln)
+
 clean-files := *.pbl *.pblb *.pblx *.map start_*.imximg *.img barebox.z start_*.kwbimg \
 	start_*.kwbuartimg *.socfpgaimg *.mlo *.t20img *.t20img.cfg *.t30img \
 	*.t30img.cfg *.t124img *.t124img.cfg *.mlospi *.mlo *.mxsbs *.mxssd
-- 
1.8.3.1




More information about the barebox mailing list