mirror of
https://github.com/cloudflare/quiche.git
synced 2025-04-19 15:55:24 +08:00
56 lines
1.4 KiB
Makefile
56 lines
1.4 KiB
Makefile
DOCKER = docker
|
|
|
|
BASE_REPO = cloudflare/quiche
|
|
BASE_TAG = latest
|
|
|
|
QNS_REPO = cloudflare/quiche-qns
|
|
QNS_TAG = latest
|
|
|
|
FUZZ_REPO = cloudflare.mayhem.security:5000/protocols/quiche-libfuzzer
|
|
FUZZ_TAG = latest
|
|
|
|
docker-build: docker-base docker-qns
|
|
|
|
# build quiche-apps only
|
|
.PHONY: build-apps
|
|
build-apps:
|
|
cargo build --package=quiche_apps
|
|
|
|
# build base image
|
|
.PHONY: docker-base
|
|
docker-base: Dockerfile
|
|
$(DOCKER) build --target quiche-base -t $(BASE_REPO):$(BASE_TAG) .
|
|
|
|
# build qns image
|
|
.PHONY: docker-qns
|
|
docker-qns: Dockerfile apps/run_endpoint.sh
|
|
$(DOCKER) build --target quiche-qns -t $(QNS_REPO):$(QNS_TAG) .
|
|
|
|
.PHONY: docker-publish
|
|
docker-publish:
|
|
$(DOCKER) push $(BASE_REPO):$(BASE_TAG)
|
|
$(DOCKER) push $(QNS_REPO):$(QNS_TAG)
|
|
|
|
# build fuzzers
|
|
.PHONY: build-fuzz
|
|
build-fuzz:
|
|
cargo +nightly fuzz build --release --debug-assertions packet_recv_client
|
|
cargo +nightly fuzz build --release --debug-assertions packet_recv_server
|
|
cargo +nightly fuzz build --release --debug-assertions qpack_decode
|
|
|
|
# build fuzzing image
|
|
.PHONY: docker-fuzz
|
|
docker-fuzz:
|
|
$(DOCKER) build -f fuzz/Dockerfile --target quiche-libfuzzer --tag $(FUZZ_REPO):$(FUZZ_TAG) .
|
|
|
|
.PHONY: docker-fuzz-publish
|
|
docker-fuzz-publish:
|
|
$(DOCKER) push $(FUZZ_REPO):$(FUZZ_TAG)
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
@for id in `$(DOCKER) images -q $(BASE_REPO)` `$(DOCKER) images -q $(QNS_REPO)` `$(DOCKER) images -q $(FUZZ_REPO)`; do \
|
|
echo ">> Removing $$id"; \
|
|
$(DOCKER) rmi -f $$id; \
|
|
done
|