<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-e1-hardware/+/21756">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  laforge: Looks good to me, approved; Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">firmware: Build firmware files with auto-generated version numbers<br><br>This resembles what we do for other firmware targets, such as simtrace2,<br>osmo-ccid-firmware, etc.<br><br>As we have multiple different firmware, hardware, gateware projects in<br>this repository, and they each may have separate tags, we now require<br>that there are project specific tags.  So for example, tags with a<br>prefix of icE1usb-fw for the firmware versions.<br><br>symlinks for easy use by scripts etc. are generated, always pointing to<br>the last-built versioned filename.<br><br>Change-Id: Ia308587e36a79c27fdb285e369a9c921ee65995f<br>---<br>M firmware/ice40-riscv/e1-tracer/Makefile<br>M firmware/ice40-riscv/icE1usb/Makefile<br>2 files changed, 29 insertions(+), 8 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/firmware/ice40-riscv/e1-tracer/Makefile b/firmware/ice40-riscv/e1-tracer/Makefile</span><br><span>index 88b80d6..8161066 100644</span><br><span>--- a/firmware/ice40-riscv/e1-tracer/Makefile</span><br><span>+++ b/firmware/ice40-riscv/e1-tracer/Makefile</span><br><span>@@ -9,6 +9,10 @@</span><br><span> ICEPROG = iceprog</span><br><span> DFU_UTIL = dfu-util</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+TAG_PREFIX = e1_tracer-fw</span><br><span style="color: hsl(120, 100%, 40%);">+GITVER = $(shell git describe --match '$(TAG_PREFIX)*')</span><br><span style="color: hsl(120, 100%, 40%);">+TARGET = $(GITVER)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> BOARD_DEFINE=BOARD_$(shell echo $(BOARD) | tr a-z\- A-Z_)</span><br><span> CFLAGS=-Wall -Wextra -Wno-unused -Os -march=rv32i -mabi=ilp32 -ffreestanding -flto -nostartfiles -fomit-frame-pointer -Wl,--gc-section --specs=nano.specs -D$(BOARD_DEFINE) -I. -I../common</span><br><span> </span><br><span>@@ -56,10 +60,10 @@</span><br><span>       $(NULL)</span><br><span> </span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-all: e1_tracer-fw.bin</span><br><span style="color: hsl(120, 100%, 40%);">+all: $(GITVER).bin $(TAG_PREFIX).bin $(TAG_PREFIX).elf</span><br><span> </span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-e1_tracer-fw.elf: $(LNK) $(HEADERS_app) $(SOURCES_app) $(HEADERS_common) $(SOURCES_common)</span><br><span style="color: hsl(120, 100%, 40%);">+$(GITVER).elf: $(LNK) $(HEADERS_app) $(SOURCES_app) $(HEADERS_common) $(SOURCES_common)</span><br><span>      $(CC) $(CFLAGS) -Wl,-Bstatic,-T,$(LNK),--strip-debug -o $@ $(SOURCES_common) $(SOURCES_app)</span><br><span> </span><br><span> </span><br><span>@@ -69,10 +73,17 @@</span><br><span> %.bin: %.elf</span><br><span>    $(OBJCOPY) -O binary $< $@</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-prog: e1_tracer-fw.bin</span><br><span style="color: hsl(120, 100%, 40%);">+$(TAG_PREFIX).bin: $(GITVER).bin</span><br><span style="color: hsl(120, 100%, 40%);">+     ln -sf $< $@</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+$(TAG_PREFIX).elf: $(GITVER).elf</span><br><span style="color: hsl(120, 100%, 40%);">+   ln -sf $< $@</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+prog: $(GITVER).bin</span><br><span>     $(ICEPROG) -o 640k $<</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-dfuprog: e1_tracer-fw.bin</span><br><span style="color: hsl(120, 100%, 40%);">+dfuprog: $(GITVER).bin</span><br><span>        $(DFU_UTIL) -R -a 1 -D $<</span><br><span> </span><br><span> </span><br><span>diff --git a/firmware/ice40-riscv/icE1usb/Makefile b/firmware/ice40-riscv/icE1usb/Makefile</span><br><span>index b830051..1c92edb 100644</span><br><span>--- a/firmware/ice40-riscv/icE1usb/Makefile</span><br><span>+++ b/firmware/ice40-riscv/icE1usb/Makefile</span><br><span>@@ -9,6 +9,10 @@</span><br><span> ICEPROG = iceprog</span><br><span> DFU_UTIL = dfu-util</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+TAG_PREFIX = icE1usb-fw</span><br><span style="color: hsl(120, 100%, 40%);">+GITVER = $(shell git describe --match '$(TAG_PREFIX)*')</span><br><span style="color: hsl(120, 100%, 40%);">+TARGET = $(GITVER)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> BOARD_DEFINE=BOARD_$(shell echo $(BOARD) | tr a-z\- A-Z_)</span><br><span> CFLAGS=-Wall -Wextra -Wno-unused -Os -march=rv32i -mabi=ilp32 -ffreestanding -flto -nostartfiles -fomit-frame-pointer -Wl,--gc-section --specs=nano.specs -D$(BOARD_DEFINE) -I. -I../common</span><br><span> </span><br><span>@@ -56,10 +60,10 @@</span><br><span>       $(NULL)</span><br><span> </span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-all: icE1usb-fw.bin</span><br><span style="color: hsl(120, 100%, 40%);">+all: $(GITVER).bin $(TAG_PREFIX).bin $(TAG_PREFIX).elf</span><br><span> </span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-icE1usb-fw.elf: $(LNK) $(HEADERS_app) $(SOURCES_app) $(HEADERS_common) $(SOURCES_common)</span><br><span style="color: hsl(120, 100%, 40%);">+$(GITVER).elf: $(LNK) $(HEADERS_app) $(SOURCES_app) $(HEADERS_common) $(SOURCES_common)</span><br><span>  $(CC) $(CFLAGS) -Wl,-Bstatic,-T,$(LNK),--strip-debug -o $@ $(SOURCES_common) $(SOURCES_app)</span><br><span> </span><br><span> </span><br><span>@@ -69,10 +73,16 @@</span><br><span> %.bin: %.elf</span><br><span>    $(OBJCOPY) -O binary $< $@</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-prog: icE1usb-fw.bin</span><br><span style="color: hsl(120, 100%, 40%);">+$(TAG_PREFIX).bin: $(GITVER).bin</span><br><span style="color: hsl(120, 100%, 40%);">+       ln -sf $< $@</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+$(TAG_PREFIX).elf: $(GITVER).elf</span><br><span style="color: hsl(120, 100%, 40%);">+   ln -sf $< $@</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+prog: $(GITVER).bin</span><br><span>       $(ICEPROG) -o 640k $<</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-dfuprog: icE1usb-fw.bin</span><br><span style="color: hsl(120, 100%, 40%);">+dfuprog: $(GITVER).bin</span><br><span>  $(DFU_UTIL) -R -a 1 -D $<</span><br><span> </span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-e1-hardware/+/21756">change 21756</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-e1-hardware/+/21756"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-e1-hardware </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ia308587e36a79c27fdb285e369a9c921ee65995f </div>
<div style="display:none"> Gerrit-Change-Number: 21756 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>