summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.rules12
-rw-r--r--Makefile.toolchain1
2 files changed, 9 insertions, 4 deletions
diff --git a/Makefile.rules b/Makefile.rules
index b129550199..958e116311 100644
--- a/Makefile.rules
+++ b/Makefile.rules
@@ -40,12 +40,13 @@ cmd_lds = $(CPP) -P -C -MMD -MF $@.d -MT $@ $(CPPFLAGS) \
cmd_obj_to_bin ?= $(OBJCOPY) --gap-fill=0xff -O binary $^ $(out)/$*.bin.tmp
cmd_flat_to_obj = $(CC) -T $(out)/firmware_image.lds -nostdlib $(CPPFLAGS) \
-Wl,--build-id=none -o $@ $<
-cmd_elf_to_flat = $(OBJCOPY) -O binary $^ $@
+cmd_elf_to_flat = $(OBJCOPY) -O binary $< $@
cmd_elf_to_dis = $(OBJDUMP) -D $< > $@
-cmd_elf_to_hex = $(OBJCOPY) -O ihex $^ $@
+cmd_elf_to_hex = $(OBJCOPY) -O ihex $< $@
cmd_bin_to_hex = $(OBJCOPY) -I binary -O ihex \
--change-addresses $(_flash_base) $^ $@
cmd_elf = $(LD) $(objs) $(LDFLAGS) -o $@ -T $< -Map $(out)/$*.map
+cmd_smap = $(NM) $< | sort > $@
cmd_exe = $(CC) $(objs) $(HOST_TEST_LDFLAGS) -o $@
cmd_c_to_o = $(CC) $(CFLAGS) -MMD -MF $@.d -c $< -o $@
cmd_c_to_build = $(BUILDCC) $(BUILD_CFLAGS) \
@@ -170,10 +171,10 @@ $(out)/%.obj: common/firmware_image.S $(out)/firmware_image.lds $(flat-y)
$(out)/%.dis: $(out)/%.elf
$(call quiet,elf_to_dis,OBJDUMP)
-$(out)/%.flat: $(out)/%.elf
+$(out)/%.flat: $(out)/%.elf $(out)/%.smap
$(call quiet,elf_to_flat,OBJCOPY)
-$(out)/%.hex: $(out)/%.elf
+$(out)/%.hex: $(out)/%.elf $(out)/%.smap
$(call quiet,elf_to_hex,OBJCOPY)
$(out)/$(PROJECT).hex: $(out)/$(PROJECT).bin
@@ -182,6 +183,9 @@ $(out)/$(PROJECT).hex: $(out)/$(PROJECT).bin
$(out)/%.elf: $(out)/%.lds $(objs)
$(call quiet,elf,LD )
+$(out)/%.smap: $(out)/%.elf
+ $(call quiet,smap,NM )
+
$(out)/$(PROJECT).exe: $(objs)
$(call quiet,exe,EXE )
diff --git a/Makefile.toolchain b/Makefile.toolchain
index 4efca6cec1..db8a640372 100644
--- a/Makefile.toolchain
+++ b/Makefile.toolchain
@@ -12,6 +12,7 @@ HOST_CROSS_COMPILE ?= x86_64-pc-linux-gnu-
CC=$(CROSS_COMPILE)gcc
CPP=$(CROSS_COMPILE)cpp
LD=$(CROSS_COMPILE)ld
+NM=$(CROSS_COMPILE)nm
OBJCOPY=$(CROSS_COMPILE)objcopy
OBJDUMP=$(CROSS_COMPILE)objdump
PKG_CONFIG?=pkg-config