blob: 3809abc777ee0e78fd26e3381171ddb910c5cad2 [file] [log] [blame]
#
# Simple Makefile for building docker images
#
QNSDIR = ./qns
DOCKER = docker
BASE_REPO = cloudflare/quiche
BASE_TAG = latest
QNS_REPO = cloudflare/quiche-qns
QNS_TAG = latest
BUILD_TAG = base-build
.PHONY: build base qns test publish clean
all: build base qns
# build quiche only
build: Dockerfile
$(DOCKER) build --target build -t $(BASE_REPO):$(BUILD_TAG) .
# run cargo test
test: build
$(DOCKER) run --rm -w /build/quiche $(BASE_REPO):$(BUILD_TAG) cargo test
# build base image
base: Dockerfile
$(DOCKER) build --target quiche-base -t $(BASE_REPO):$(BASE_TAG) .
# build qns image
qns: Dockerfile qns/run_endpoint.sh
$(DOCKER) build --target quiche-qns -t $(QNS_REPO):$(QNS_TAG) .
test: base
publish: base qns
$(DOCKER) push $(BASE_REPO):$(BASE_TAG)
$(DOCKER) push $(QNS_REPO):$(QNS_TAG)
clean:
@for id in `$(DOCKER) images -q $(BASE_REPO)` `$(DOCKER) images -q $(QNS_REPO)`; do \
echo ">> Removing $$id"; \
$(DOCKER) rmi -f $$id; \
done