/ Makefile
Makefile
1 # Top-level Makefile for avx512-keccak-bench. 2 # 3 # Delegates to src/Makefile. The top-level targets are the user-facing ones: 4 # make bench — build both binaries and run the 60s steady-state bench 5 # make test — build + run src/validate.py's 3-check harness 6 # make docker-bench — same as `make bench` but inside the Dockerfile 7 # make clean — remove build artifacts 8 # 9 # Requires: XKCP AVX-512 static lib at /tmp/XKCP/bin/AVX512/libXKCP.a 10 # (overridable via XKCP_DIR; see src/Makefile). 11 # 12 # On Debian/Ubuntu, install XKCP with: 13 # sudo apt-get install xsltproc 14 # git clone --recurse-submodules https://github.com/XKCP/XKCP.git /tmp/XKCP 15 # make -C /tmp/XKCP AVX512/libXKCP.a 16 17 XKCP_DIR ?= /tmp/XKCP 18 19 .PHONY: all build bench test docker-bench clean leak-audit 20 21 all: build 22 23 build: 24 $(MAKE) -C src XKCP_DIR=$(XKCP_DIR) 25 26 bench: build 27 @./tools/bench.sh 28 29 test: build 30 python3 src/validate.py --miner src/keccak_bench_lto 31 32 docker-bench: 33 sudo docker build -t avx512-keccak-bench . 34 sudo docker run --rm avx512-keccak-bench make bench 35 36 clean: 37 $(MAKE) -C src clean 38 39 leak-audit: 40 @./tools/leak_audit.sh