/ 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