Add a build target to create barebox.elf, which provides an ELF format version of barebox that can be used for debugging or alternative boot scenarios.
Signed-off-by: Sascha Hauer <[email protected]> Co-Authored-By: Claude Sonnet 4.5 <[email protected]> --- Makefile | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 3b31cecc22c431a063b8d2d3c387da487b698e74..aa12b385c779512fe20d33792f4968fed2eec29a 100644 --- a/Makefile +++ b/Makefile @@ -853,6 +853,9 @@ all: barebox-flash-images endif all: $(symlink-y) +ifeq ($(CONFIG_PBL_IMAGE)-$(CONFIG_PBL_IMAGE_NO_PIGGY),y-) +all: barebox.elf +endif .SECONDEXPANSION: $(symlink-y): $$(or $$(SYMLINK_DEP_$$(@F)),$$(SYMLINK_TARGET_$$(@F))) FORCE @@ -1096,6 +1099,14 @@ barebox.fit: images/barebox-$(CONFIG_ARCH_LINUX_NAME).fit barebox.srec: barebox $(OBJCOPY) -O srec $< $@ +OBJCOPYFLAGS_barebox.elf = --strip-debug --strip-unneeded \ + --remove-section=.comment \ + --remove-section=.note* \ + --remove-section=.gnu.hash + +barebox.elf: barebox FORCE + $(call if_changed,objcopy) + quiet_cmd_barebox_proper__ = CC $@ cmd_barebox_proper__ = $(CC) -r -o $@ -Wl,--whole-archive $(BAREBOX_OBJS) @@ -1378,7 +1389,7 @@ CLEAN_FILES += barebox System.map include/generated/barebox_default_env.h \ .tmp_version .tmp_barebox* barebox.bin barebox.map \ .tmp_kallsyms* compile_commands.json \ .tmp_barebox.o barebox.o barebox-flash-image \ - barebox.srec barebox.efi + barebox.srec barebox.efi barebox.elf CLEAN_FILES += scripts/bareboxenv-target scripts/kernel-install-target \ scripts/bareboxcrc32-target scripts/bareboximd-target \ -- 2.47.3
