Browse Source

Use makefile for a reusable docker image

V3.0
Josh French 3 years ago
parent
commit
1d14ffdb30
  1. 4
      Dockerfile
  2. 21
      Makefile
  3. 4
      bin/build.sh

4
Dockerfile

@ -1,6 +1,4 @@ @@ -1,6 +1,4 @@
FROM zmkfirmware/zmk-build-arm:2.4
RUN mkdir -p /app/firmware
FROM zmkfirmware/zmk-build-arm:stable
WORKDIR /app

21
Makefile

@ -0,0 +1,21 @@ @@ -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"))

4
bin/build.sh

@ -1,9 +1,9 @@ @@ -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"

Loading…
Cancel
Save