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_NAME = $(subst $(DQUOTE),,$(CONFIG_KERNEL_BIN_NAME))
|
||||||
KERNEL_ELF_NAME = $(KERNEL_NAME).elf
|
KERNEL_ELF_NAME = $(KERNEL_NAME).elf
|
||||||
KERNEL_BIN_NAME = $(KERNEL_NAME).bin
|
KERNEL_BIN_NAME = $(KERNEL_NAME).bin
|
||||||
|
KERNEL_HEX_NAME = $(KERNEL_NAME).hex
|
||||||
KERNEL_STAT_NAME = $(KERNEL_NAME).stat
|
KERNEL_STAT_NAME = $(KERNEL_NAME).stat
|
||||||
|
|
||||||
export SOC_FAMILY SOC_SERIES SOC_PATH SOC_NAME BOARD_NAME
|
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.
|
# Use ZEPHYRINCLUDE when you must reference the include/ directory.
|
||||||
# Needed to be compatible with the O= option
|
# Needed to be compatible with the O= option
|
||||||
ZEPHYRINCLUDE = \
|
ZEPHYRINCLUDE = \
|
||||||
|
@ -897,6 +898,15 @@ quiet_cmd_gen_bin = BIN $@
|
||||||
$(KERNEL_BIN_NAME): $(KERNEL_ELF_NAME)
|
$(KERNEL_BIN_NAME): $(KERNEL_ELF_NAME)
|
||||||
$(call cmd,gen_bin)
|
$(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)
|
$(KERNEL_STAT_NAME): $(KERNEL_BIN_NAME) $(KERNEL_ELF_NAME)
|
||||||
@$(READELF) -e $(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 \
|
misc/generated/sysgen/kernel_main.h \
|
||||||
.old_version .tmp_System.map .tmp_version \
|
.old_version .tmp_System.map .tmp_version \
|
||||||
.tmp_* System.map *.lnk *.map *.elf *.lst \
|
.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'
|
# Directories & files removed with 'make mrproper'
|
||||||
MRPROPER_DIRS += include/config usr/include include/generated \
|
MRPROPER_DIRS += include/config usr/include include/generated \
|
||||||
|
|
|
@ -6,16 +6,5 @@ endif
|
||||||
|
|
||||||
obj-y += soc.o
|
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)
|
zephyr: $(KERNEL_HEX_NAME)
|
||||||
all: $(KERNEL_HEX_NAME)
|
all: $(KERNEL_HEX_NAME)
|
||||||
|
|
|
@ -6,16 +6,5 @@ endif
|
||||||
|
|
||||||
obj-y += soc.o
|
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)
|
zephyr: $(KERNEL_HEX_NAME)
|
||||||
all: $(KERNEL_HEX_NAME)
|
all: $(KERNEL_HEX_NAME)
|
||||||
|
|
|
@ -53,20 +53,8 @@ KBUILD_CFLAGS += $(soc-cflags)
|
||||||
KBUILD_CXXFLAGS += $(soc-cxxflags)
|
KBUILD_CXXFLAGS += $(soc-cxxflags)
|
||||||
KBUILD_AFLAGS += $(soc-aflags)
|
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)
|
zephyr: $(KERNEL_HEX_NAME)
|
||||||
all: $(KERNEL_HEX_NAME)
|
all: $(KERNEL_HEX_NAME)
|
||||||
export KERNEL_HEX_NAME
|
|
||||||
|
|
||||||
QEMU_CPU_TYPE_nios2 = nios2
|
QEMU_CPU_TYPE_nios2 = nios2
|
||||||
QEMU_FLAGS_nios2 = -machine altera_10m50_zephyr -nographic
|
QEMU_FLAGS_nios2 = -machine altera_10m50_zephyr -nographic
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue