diff options
author | Palmer Dabbelt <palmer@dabbelt.com> | 2018-12-14 09:39:11 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-14 09:39:11 -0800 |
commit | bb4e58de759386187c3818dc11074fa2d61970cd (patch) | |
tree | be7b0dcc478fc97978a7efccce04a17557a37b22 /Makefile | |
parent | 0c3b3d75eadffb9ab1d85e811cac55d54ac9d3ca (diff) | |
parent | 2077ff04a25b4393d9b88cd0ee69db3f8eb40276 (diff) |
Merge pull request #114 from sifive/elf2hex
Add support for generating coreip hex files via elf2hex
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 32 |
1 files changed, 31 insertions, 1 deletions
@@ -192,16 +192,41 @@ mee_install: mee $(MAKE) -C $(MEE_SOURCE_PATH) install ############################################################# +# This Section is for elf2hex Compliation +############################################################# +scripts/elf2hex/build/Makefile: scripts/elf2hex/configure + @rm -rf $(dir $@) + @mkdir -p $(dir $@) + cd $(dir $@); \ + $(abspath $<) \ + --prefix=$(abspath $(dir $<))/install \ + --target=$(CROSS_COMPILE) + +scripts/elf2hex/install/bin/$(CROSS_COMPILE)-elf2hex: scripts/elf2hex/build/Makefile + $(MAKE) -C $(dir $<) install + touch -c $@ + +.PHONY: clean-elf2hex +clean-elf2hex: + rm -rf scripts/elf2hex/build scripts/elf2hex/install +clean: clean-elf2hex + +############################################################# # This Section is for Software Compilation ############################################################# PROGRAM_ELF = software/$(PROGRAM)/$(PROGRAM) +PROGRAM_HEX = software/$(PROGRAM)/$(PROGRAM).hex ifeq ($(BSP),mee) .PHONY: software software: $(PROGRAM_ELF) +ifneq ($(COREIP_MEM_WIDTH),) +software: $(PROGRAM_HEX) +endif + $(PROGRAM_ELF): \ - $(shell find $(abspath $(dir $(PROGRAM_ELF))) -type f) \ + $(addprefix software/$(PROGRAM)/,$(shell git -C software/$(PROGRAM) ls-files)) \ $(MEE_BSP_PATH)/install/lib/libmee.a \ $(MEE_BSP_PATH)/install/lib/libmee-gloss.a \ $(MEE_BSP_PATH)/mee.lds @@ -214,6 +239,11 @@ $(PROGRAM_ELF): \ LDLIBS="-Wl,--start-group -lc -lmee -lmee-gloss -Wl,--end-group" touch -c $@ +$(PROGRAM_HEX): \ + scripts/elf2hex/install/bin/$(CROSS_COMPILE)-elf2hex \ + $(PROGRAM_ELF) + $< --output $@ --input $(PROGRAM_ELF) --bit-width $(COREIP_MEM_WIDTH) + .PHONY: clean-software clean-software: $(MAKE) -C $(dir $(PROGRAM_ELF)) clean |