The file(s) being removed may not exist, but make shouldn't fail because
of it:
$ make clean
rm ./firmware/*.uf2
rm: cannot remove './firmware/*.uf2': No such file or directory
make: *** [Makefile:10: clean] Error 1
$ echo $?
2
this also removes leading ./ from path in clean, and assumes that `make
clean` is being run from the top level repo dir
21 lines
487 B
Makefile
21 lines
487 B
Makefile
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
|
|
|
|
clean:
|
|
rm -f firmware/*.uf2
|
|
|
|
firmware/%-left.uf2 firmware/%-right.uf2: config/adv360.keymap
|
|
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 .
|