From 0efbdf96b0243c7f02d30a039e0515ddf9b4ecc4 Mon Sep 17 00:00:00 2001 From: Romain Goyet Date: Tue, 18 Jun 2019 11:21:27 +0200 Subject: [PATCH] [scripts/device] Add a binpack target --- scripts/targets.device.mak | 37 ++++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/scripts/targets.device.mak b/scripts/targets.device.mak index 15b5d8190..2c63edb4e 100644 --- a/scripts/targets.device.mak +++ b/scripts/targets.device.mak @@ -69,21 +69,21 @@ endif #TODO Do not build all apps... Put elsewhere? ifeq ($(EPSILON_USB_DFU_XIP)$(EPSILON_DEVICE_BENCH),11) -$(BUILD_DIR)/benchRAM.$(EXE): LDFLAGS += -Lion/src/$(PLATFORM)/bench -$(BUILD_DIR)/benchRAM.$(EXE): LDSCRIPT = ion/src/$(PLATFORM)/shared/ram.ld -$(BUILD_DIR)/benchRAM.$(EXE): $(objs) $(call object_for,$(bench_src)) +$(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.ram.$(EXE): $(objs) $(call object_for,$(bench_src)) else -$(BUILD_DIR)/benchRAM.$(EXE): - @echo "Error: benchRAM.bin requires EPSILON_DEVICE_BENCH=1 EPSILON_USB_DFU_XIP=1" +$(BUILD_DIR)/bench.ram.$(EXE): + @echo "Error: bench.ram.bin requires EPSILON_DEVICE_BENCH=1 EPSILON_USB_DFU_XIP=1" endif #TODO Do not build all apps... Put elsewhere? ifeq ($(EPSILON_USB_DFU_XIP)$(EPSILON_DEVICE_BENCH),11) -$(BUILD_DIR)/benchFlash.$(EXE): LDSCRIPT = ion/src/$(PLATFORM)/$(MODEL)/internal_flash.ld -$(BUILD_DIR)/benchFlash.$(EXE): $(objs) $(call object_for,$(bench_src)) +$(BUILD_DIR)/bench.flash.$(EXE): LDSCRIPT = ion/src/$(PLATFORM)/$(MODEL)/internal_flash.ld +$(BUILD_DIR)/bench.flash.$(EXE): $(objs) $(call object_for,$(bench_src)) else -$(BUILD_DIR)/benchFlash.$(EXE): - @echo "Error: benchFlash.bin requires EPSILON_DEVICE_BENCH=1 EPSILON_USB_DFU_XIP=1" +$(BUILD_DIR)/bench.flash.$(EXE): + @echo "Error: bench.flash.bin requires EPSILON_DEVICE_BENCH=1 EPSILON_USB_DFU_XIP=1" endif ifeq ($(EPSILON_USB_DFU_XIP)$(EPSILON_DEVICE_BENCH)$(EPSILON_ONBOARDING_APP)$(EPSILON_BOOT_PROMPT),001update) @@ -100,4 +100,23 @@ else @echo "Error: two_binaries requires EPSILON_DEVICE_BENCH=0 EPSILON_USB_DFU_XIP=0 EPSILON_ONBOARDING_APP=1 EPSILON_BOOT_PROMPT=update" endif +.PHONY: binpack +binpack: + rm -rf build/binpack + mkdir -p build/binpack + make clean + make -j8 EPSILON_USB_DFU_XIP=1 EPSILON_DEVICE_BENCH=0 EPSILON_FLASHER_VERBOSE=0 $(BUILD_DIR)/flasher.bin + cp $(BUILD_DIR)/flasher.bin build/binpack + make clean + make -j8 EPSILON_USB_DFU_XIP=1 EPSILON_DEVICE_BENCH=1 $(BUILD_DIR)/bench.flash.bin + make -j8 EPSILON_USB_DFU_XIP=1 EPSILON_DEVICE_BENCH=1 $(BUILD_DIR)/bench.ram.bin + cp $(BUILD_DIR)/bench.ram.bin $(BUILD_DIR)/bench.flash.bin build/binpack + make clean + make -j8 EPSILON_DEVICE_BENCH=0 EPSILON_USB_DFU_XIP=0 EPSILON_ONBOARDING_APP=1 EPSILON_BOOT_PROMPT=update $(BUILD_DIR)/epsilon_two_binaries + cp $(BUILD_DIR)/epsilon.internal.bin $(BUILD_DIR)/epsilon.external.bin build/binpack + make clean + cd build && for binary in flasher.bin bench.flash.bin bench.ram.bin epsilon.internal.bin epsilon.external.bin; do shasum -a 256 -b binpack/$${binary} > binpack/$${binary}.sha256;done + cd build && tar cvfz binpack-`git rev-parse HEAD | head -c 7`.tgz binpack + rm -rf build/binpack + include scripts/targets.device.$(MODEL).mak