build: refactor kernel hex build to be common
Several platforms utilize a ihex image format. Rather than duplicating the build bits in everyones makefile, pull it into the toplevel makefile so we all share it. Change-Id: I9097b06e7e386a69ce6ab4d4e4d56cc776adfec2 Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
This commit is contained in:
parent
b1d5ae72e3
commit
bbf736cf6e
4 changed files with 12 additions and 36 deletions
14
Makefile
14
Makefile
|
@ -351,10 +351,11 @@ BOARD_NAME = $(subst $(DQUOTE),,$(CONFIG_BOARD))
|
|||
KERNEL_NAME = $(subst $(DQUOTE),,$(CONFIG_KERNEL_BIN_NAME))
|
||||
KERNEL_ELF_NAME = $(KERNEL_NAME).elf
|
||||
KERNEL_BIN_NAME = $(KERNEL_NAME).bin
|
||||
KERNEL_HEX_NAME = $(KERNEL_NAME).hex
|
||||
KERNEL_STAT_NAME = $(KERNEL_NAME).stat
|
||||
|
||||
export SOC_FAMILY SOC_SERIES SOC_PATH SOC_NAME BOARD_NAME
|
||||
export ARCH KERNEL_NAME KERNEL_ELF_NAME KERNEL_BIN_NAME
|
||||
export ARCH KERNEL_NAME KERNEL_ELF_NAME KERNEL_BIN_NAME KERNEL_HEX_NAME
|
||||
# Use ZEPHYRINCLUDE when you must reference the include/ directory.
|
||||
# Needed to be compatible with the O= option
|
||||
ZEPHYRINCLUDE = \
|
||||
|
@ -897,6 +898,15 @@ quiet_cmd_gen_bin = BIN $@
|
|||
$(KERNEL_BIN_NAME): $(KERNEL_ELF_NAME)
|
||||
$(call cmd,gen_bin)
|
||||
|
||||
quiet_cmd_gen_hex = HEX $@
|
||||
cmd_gen_hex = \
|
||||
( \
|
||||
$(OBJCOPY) -S -O ihex -R .note -R .comment -R COMMON -R .eh_frame $< $@; \
|
||||
)
|
||||
|
||||
$(KERNEL_HEX_NAME): $(KERNEL_ELF_NAME)
|
||||
$(call cmd,gen_hex)
|
||||
|
||||
$(KERNEL_STAT_NAME): $(KERNEL_BIN_NAME) $(KERNEL_ELF_NAME)
|
||||
@$(READELF) -e $(KERNEL_ELF_NAME) > $@
|
||||
|
||||
|
@ -1028,7 +1038,7 @@ CLEAN_FILES += misc/generated/sysgen/kernel_main.c \
|
|||
misc/generated/sysgen/kernel_main.h \
|
||||
.old_version .tmp_System.map .tmp_version \
|
||||
.tmp_* System.map *.lnk *.map *.elf *.lst \
|
||||
*.bin *.strip staticIdt.o linker.cmd
|
||||
*.bin *.hex *.strip staticIdt.o linker.cmd
|
||||
|
||||
# Directories & files removed with 'make mrproper'
|
||||
MRPROPER_DIRS += include/config usr/include include/generated \
|
||||
|
|
|
@ -6,16 +6,5 @@ endif
|
|||
|
||||
obj-y += soc.o
|
||||
|
||||
KERNEL_HEX_NAME = $(KERNEL_NAME).hex
|
||||
|
||||
quiet_cmd_gen_hex = HEX $@
|
||||
cmd_gen_hex = \
|
||||
( \
|
||||
$(OBJCOPY) -S -O ihex -R .note -R .comment -R COMMON -R .eh_frame $< $@; \
|
||||
)
|
||||
|
||||
$(KERNEL_HEX_NAME): $(KERNEL_ELF_NAME)
|
||||
$(call cmd,gen_hex)
|
||||
|
||||
zephyr: $(KERNEL_HEX_NAME)
|
||||
all: $(KERNEL_HEX_NAME)
|
||||
|
|
|
@ -6,16 +6,5 @@ endif
|
|||
|
||||
obj-y += soc.o
|
||||
|
||||
KERNEL_HEX_NAME = $(KERNEL_NAME).hex
|
||||
|
||||
quiet_cmd_gen_hex = HEX $@
|
||||
cmd_gen_hex = \
|
||||
( \
|
||||
$(OBJCOPY) -S -O ihex -R .note -R .comment -R COMMON -R .eh_frame $< $@; \
|
||||
)
|
||||
|
||||
$(KERNEL_HEX_NAME): $(KERNEL_ELF_NAME)
|
||||
$(call cmd,gen_hex)
|
||||
|
||||
zephyr: $(KERNEL_HEX_NAME)
|
||||
all: $(KERNEL_HEX_NAME)
|
||||
|
|
|
@ -53,20 +53,8 @@ KBUILD_CFLAGS += $(soc-cflags)
|
|||
KBUILD_CXXFLAGS += $(soc-cxxflags)
|
||||
KBUILD_AFLAGS += $(soc-aflags)
|
||||
|
||||
KERNEL_HEX_NAME = $(KERNEL_NAME).hex
|
||||
|
||||
quiet_cmd_gen_hex = HEX $@
|
||||
cmd_gen_hex = \
|
||||
( \
|
||||
$(OBJCOPY) -S -O ihex -R .note -R .comment -R COMMON -R .eh_frame $< $@; \
|
||||
)
|
||||
|
||||
$(KERNEL_HEX_NAME): $(KERNEL_ELF_NAME)
|
||||
$(call cmd,gen_hex)
|
||||
|
||||
zephyr: $(KERNEL_HEX_NAME)
|
||||
all: $(KERNEL_HEX_NAME)
|
||||
export KERNEL_HEX_NAME
|
||||
|
||||
QEMU_CPU_TYPE_nios2 = nios2
|
||||
QEMU_FLAGS_nios2 = -machine altera_10m50_zephyr -nographic
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue