[PATCH v4 01/13] kbuild: add install target
Ahmad Fatoum
a.fatoum at pengutronix.de
Fri Jun 4 01:30:57 PDT 2021
For CI, it would be useful to have the barebox build install the
artifacts into a directory. Add an install target that does this.
Example usage: make install INSTALL_PATH=install/
Unlike Linux, we don't set INSTALL_PATH to a default value, because
most barebox-enabled boards don't have barebox in a file system.
Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
Makefile | 14 ++++++++++++++
images/Makefile | 5 +++++
2 files changed, 19 insertions(+)
diff --git a/Makefile b/Makefile
index 2ac804f079ac..9373644e7da9 100644
--- a/Makefile
+++ b/Makefile
@@ -880,6 +880,20 @@ ifndef CONFIG_PBL_IMAGE
$(call cmd,check_file_size,$@,$(CONFIG_BAREBOX_MAX_IMAGE_SIZE))
endif
+install:
+ifeq ($(INSTALL_PATH),)
+ @echo 'error: INSTALL_PATH undefined' >&2
+ @exit 1
+endif
+ifdef CONFIG_PBL_IMAGE
+ $(Q)$(MAKE) $(build)=images __images_install
+ @install -t "$(INSTALL_PATH)" barebox.bin
+else
+ @install -t "$(INSTALL_PATH)" $(KBUILD_IMAGE)
+endif
+
+PHONY += install
+
# By default the uImage load address is 2MB below CONFIG_TEXT_BASE,
# leaving space for the compressed PBL image at 1MB below CONFIG_TEXT_BASE.
UIMAGE_BASE ?= $(shell printf "0x%08x" $$(($(CONFIG_TEXT_BASE) - 0x200000)))
diff --git a/images/Makefile b/images/Makefile
index ee1347f6b6bd..c185982c17ed 100644
--- a/images/Makefile
+++ b/images/Makefile
@@ -204,6 +204,11 @@ images: $(image-y-path) $(flash-link) $(flash-list) FORCE
@echo "images built:"
@for i in $(image-y); do echo $$i; done
+__images_install: images
+ @for i in $(image-y-path); do install -t "$(INSTALL_PATH)" $$i; done
+
+PHONY += __images_install
+
$(flash-link): $(link-dest) FORCE
$(call if_changed,ln)
--
2.29.2
More information about the barebox
mailing list