47 lines
882 B
Makefile
47 lines
882 B
Makefile
|
ifdef NOCACHE
|
||
|
NO_CACHE := --no-cache
|
||
|
endif
|
||
|
|
||
|
.DEFAULT_GOAL :=
|
||
|
.PHONY: default
|
||
|
default: out/bootproof
|
||
|
|
||
|
## Primary targets
|
||
|
|
||
|
out/bootproof: Containerfile $(shell git ls-files src) | out
|
||
|
docker build \
|
||
|
--progress=plain \
|
||
|
--output type=local,rewrite-timestamp=true,dest=out \
|
||
|
$(NO_CACHE) \
|
||
|
-f Containerfile \
|
||
|
.
|
||
|
|
||
|
## Development Targets
|
||
|
|
||
|
out/dev-shell.digest: Containerfile | out
|
||
|
docker build --target dev -f Containerfile -q . > $@
|
||
|
|
||
|
.PHONY: shell
|
||
|
shell: out/dev-shell.digest
|
||
|
docker run \
|
||
|
--env TPM2TOOLS_TCTI="swtpm:port=2321" \
|
||
|
--volume .:/home/user \
|
||
|
--workdir /home/user \
|
||
|
-it $(shell cat $<) /bin/sh -c " \
|
||
|
mkdir -p /tmp/swtpm && \
|
||
|
swtpm socket \
|
||
|
--tpmstate dir=/tmp/swtpm \
|
||
|
--tpm2 \
|
||
|
--server type=tcp,port=2321 \
|
||
|
--ctrl type=tcp,port=2322 \
|
||
|
--flags not-need-init,startup-clear & \
|
||
|
sh \
|
||
|
"
|
||
|
|
||
|
.PHONY: clean
|
||
|
clean:
|
||
|
rm -rf out
|
||
|
|
||
|
out:
|
||
|
mkdir -p $@
|