From b3753fd71102a32976cc7692d83a37ad8d111de1 Mon Sep 17 00:00:00 2001 From: Allan Wind Date: Tue, 1 Nov 2022 00:19:43 -0400 Subject: [PATCH] Makefile: simplify; clean removes images The target all was previous running setup followed by build. As both setup and build are phony targets they run in sequence and because the firmware contain the timestamp they always run (dependencies doesn't do anything). all now does exactly what it says on the tin without introducing non-standard targets. clean now removes the images that created during build which is what you expect from that target. See: https://www.gnu.org/software/make/manual/html_node/Standard-Targets.html#Standard-Targets --- Makefile | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index 35c0006580..bbccd52762 100644 --- a/Makefile +++ b/Makefile @@ -1,21 +1,16 @@ -TIMESTAMP := $(shell date -u +"%Y%m%d%H%M%S") DOCKER := $(shell { command -v podman || command -v docker; }) +TIMESTAMP := $(shell date -u +"%Y%m%d%H%M%S") -.PHONY: clean setup - -all: setup build - -build: firmware/$$(TIMESTAMP)-left.uf2 firmware/$$(TIMESTAMP)-right.uf2 +.PHONY: all clean -clean: - rm -f firmware/*.uf2 - -firmware/%-left.uf2 firmware/%-right.uf2: config/adv360.keymap +all: + $(DOCKER) build --tag zmk --file Dockerfile . $(DOCKER) run --rm -it --name zmk \ -v $(PWD)/firmware:/app/firmware \ -v $(PWD)/config:/app/config:ro \ -e TIMESTAMP=$(TIMESTAMP) \ zmk -setup: Dockerfile bin/build.sh config/west.yml - $(DOCKER) build --tag zmk --file Dockerfile . +clean: + rm -f firmware/*.uf2 + $(DOCKER) image rm zmk docker.io/zmkfirmware/zmk-build-arm:stable