mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-18 16:27:34 +01:00
57 lines
2.4 KiB
Makefile
57 lines
2.4 KiB
Makefile
include build/targets.device.$(MODEL).mak
|
|
|
|
HANDY_TARGETS += flasher.light flasher.verbose flasher.verbose.flash bench.ram bench.flash
|
|
HANDY_TARGETS_EXTENSIONS += dfu hex bin
|
|
|
|
%_ram_map: %.$(EXE)
|
|
$(PYTHON) build/device/ram_map.py $(BUILD_DIR)/$<
|
|
|
|
$(eval $(call rule_for, \
|
|
RAMSIZE, %_ram_map.png, %.elf, \
|
|
$$(PYTHON) build/device/ram_map.py $$< $$@, \
|
|
local \
|
|
))
|
|
|
|
.PHONY: %_size
|
|
%_size: $(BUILD_DIR)/%.$(EXE)
|
|
@echo "========= BUILD OUTPUT ========"
|
|
@echo "File: $<"
|
|
@$(SIZE) $< | tail -n 1 | awk '{print "Code: " $$1 " bytes";print "Data: " $$2 " bytes"; print "Total: " int(($$1+$$2)/1024) " kB (" $$1 + $$2 " bytes)";}'
|
|
@echo "==============================="
|
|
|
|
.PHONY: %_run
|
|
%_run: $(BUILD_DIR)/%.$(EXE)
|
|
$(GDB) -x build/$(PLATFORM)/gdb_script.gdb $<
|
|
|
|
$(BUILD_DIR)/%.map: $(BUILD_DIR)/%.elf
|
|
@echo "LDMAP $@"
|
|
$(Q) $(LD) $^ $(LDFLAGS) -Wl,-M -Wl,-Map=$@ -o /dev/null
|
|
|
|
.PHONY: %_memory_map
|
|
%_memory_map: $(BUILD_DIR)/%.map
|
|
@echo "========== MEMORY MAP ========="
|
|
$(Q) awk -f build/device/memory_map.awk < $<
|
|
@echo "==============================="
|
|
|
|
.PHONY: openocd
|
|
openocd:
|
|
openocd -f build/$(PLATFORM)/openocd.$(MODEL).cfg
|
|
|
|
# The flasher target is defined here because otherwise $(%_src) has not been
|
|
# fully filled
|
|
flasher_src = $(ion_src) $(ion_device_flasher_src) $(liba_src) $(simple_kandinsky_src)
|
|
$(BUILD_DIR)/flasher.light.$(EXE): $(call flavored_object_for,$(flasher_src),light usbxip)
|
|
$(BUILD_DIR)/flasher.verbose.$(EXE): $(call flavored_object_for,$(flasher_src),usbxip)
|
|
$(BUILD_DIR)/flasher.verbose.flash.$(EXE): $(call flavored_object_for,$(flasher_src))
|
|
$(BUILD_DIR)/flasher.%.$(EXE): LDFLAGS += -Lion/src/$(PLATFORM)/flasher
|
|
$(BUILD_DIR)/flasher.%.$(EXE): LDSCRIPT = ion/src/$(PLATFORM)/shared/ram.ld
|
|
$(BUILD_DIR)/flasher.%.flash.$(EXE): LDSCRIPT = ion/src/$(PLATFORM)/$(MODEL)/internal_flash.ld
|
|
|
|
#TODO Do not build all apps... Put elsewhere?
|
|
bench_src = $(ion_src) $(ion_device_bench_src) $(liba_src) $(simple_kandinsky_src) $(poincare_src) $(libaxx_src) $(app_shared_src)
|
|
$(BUILD_DIR)/bench.ram.$(EXE): $(call flavored_object_for,$(bench_src),consoleuart usbxip)
|
|
$(BUILD_DIR)/bench.ram.$(EXE): LDFLAGS += -Lion/src/$(PLATFORM)/bench
|
|
$(BUILD_DIR)/bench.ram.$(EXE): LDSCRIPT = ion/src/$(PLATFORM)/shared/ram.ld
|
|
$(BUILD_DIR)/bench.flash.$(EXE): $(call flavored_object_for,$(bench_src),consoleuart usbxip)
|
|
$(BUILD_DIR)/bench.flash.$(EXE): LDSCRIPT = ion/src/$(PLATFORM)/$(MODEL)/internal_flash.ld
|