DOCKER := $(shell { command -v podman || command -v docker; }) TIMESTAMP := $(shell date -u +"%Y%m%d%H%M") COMMIT := $(shell git rev-parse --short HEAD 2>/dev/null) detected_OS := $(shell uname) # Classify UNIX OS ifeq ($(strip $(detected_OS)),Darwin) #We only care if it's OS X SELINUX1 := SELINUX2 := else SELINUX1 := :z SELINUX2 := ,z endif .PHONY: all clean all: $(shell bin/get_version.sh >> /dev/null) $(DOCKER) build --tag zmk --file Dockerfile . $(DOCKER) run --rm -it --name zmk \ -v $(PWD)/firmware:/app/firmware$(SELINUX1) \ -v $(PWD)/config:/app/config:ro$(SELINUX2) \ -e TIMESTAMP=$(TIMESTAMP) \ -e COMMIT=$(COMMIT) \ zmk clean: rm -f firmware/*.uf2 $(DOCKER) image rm zmk docker.io/zmkfirmware/zmk-build-arm:stable