summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Dockerfile4
-rw-r--r--Makefile21
-rwxr-xr-xbin/build.sh4
3 files changed, 24 insertions, 5 deletions
diff --git a/Dockerfile b/Dockerfile
index dd98a29..cf25a84 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,6 +1,4 @@
-FROM zmkfirmware/zmk-build-arm:2.4
-
-RUN mkdir -p /app/firmware
+FROM zmkfirmware/zmk-build-arm:stable
WORKDIR /app
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..7849774
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,21 @@
+.PHONY: clean timestamp setup
+
+all: setup build
+
+build: timestamp firmware/$$(TIMESTAMP)-left.uf2 firmware/$$(TIMESTAMP)-right.uf2
+
+clean:
+ rm ./firmware/*.uf2
+
+firmware/%-left.uf2 firmware/%-right.uf2: config/adv360.keymap timestamp
+ docker run --rm -it --name zmk \
+ -v $(PWD)/firmware:/app/firmware \
+ -v $(PWD)/config:/app/config:ro \
+ -e TIMESTAMP=$(TIMESTAMP) \
+ zmk
+
+setup:
+ docker build --tag zmk .
+
+timestamp:
+ $(eval TIMESTAMP:=$(shell date -u +"%Y%m%d%H%M%S"))
diff --git a/bin/build.sh b/bin/build.sh
index 2f6c8cd..e783844 100755
--- a/bin/build.sh
+++ b/bin/build.sh
@@ -1,9 +1,9 @@
#!/usr/bin/env bash
-set -e
+set -eu
PWD=$(pwd)
-TIMESTAMP=$(date -u +"%Y%m%d%H%M%S")
+TIMESTAMP="${TIMESTAMP:-$(date -u +"%Y%m%d%H%M%S")}"
# West Build (left)
west build -s zmk/app -d build/left -b adv360_left -- -DZMK_CONFIG="${PWD}/config"