|
1 | 1 | # SPDX-License-Identifier: Apache-2.0
|
2 | 2 |
|
3 |
| -.PHONY: mlkem kat nistkat clean quickcheck buildall checkall all check-defined-CYCLES |
| 3 | +.PHONY: func kat nistkat acvp \ |
| 4 | + func_512 kat_512 nistkat_512 acvp_512 \ |
| 5 | + func_768 kat_768 nistkat_768 acvp_768 \ |
| 6 | + func_1024 kat_1024 nistkat_1024 acvp_1024 \ |
| 7 | + run_func run_kat run_nistkat run_acvp \ |
| 8 | + run_func_512 run_kat_512 run_nistkat_512 run_acvp_512 \ |
| 9 | + run_func_768 run_kat_768 run_nistkat_768 run_acvp_768 \ |
| 10 | + run_func_1024 run_kat_1024 run_nistkat_1024 run_acvp_1024 \ |
| 11 | + bench_512 bench_768 bench_1024 bench \ |
| 12 | + run_bench_512 run_bench_768 run_bench_1024 run_bench \ |
| 13 | + bench_components_512 bench_components_768 bench_components_1024 bench_components \ |
| 14 | + run_bench_components_512 run_bench_components_768 run_bench_components_1024 run_bench_components \ |
| 15 | + buildall checkall all \ |
| 16 | + clean quickcheck check-defined-CYCLES |
| 17 | + |
4 | 18 | .DEFAULT_GOAL := buildall
|
5 | 19 | all: quickcheck
|
6 | 20 |
|
| 21 | +W := $(EXEC_WRAPPER) |
| 22 | + |
7 | 23 | include mk/config.mk
|
8 |
| -include mk/crypto.mk |
9 |
| -include mk/schemes.mk |
| 24 | +include mk/components.mk |
10 | 25 | include mk/rules.mk
|
11 | 26 |
|
12 | 27 | quickcheck: checkall
|
13 | 28 |
|
14 |
| -buildall: mlkem nistkat kat acvp |
| 29 | +buildall: func nistkat kat acvp |
15 | 30 | $(Q)echo " Everything builds fine!"
|
16 | 31 |
|
17 |
| -checkall: check_kat check_nistkat check_func check_acvp |
| 32 | +checkall: run_kat run_nistkat run_func run_acvp |
18 | 33 | $(Q)echo " Everything checks fine!"
|
19 | 34 |
|
20 |
| -check_kat: kat |
21 |
| - $(MLKEM512_DIR)/bin/gen_KAT512 | sha256sum | cut -d " " -f 1 | xargs ./META.sh ML-KEM-512 kat-sha256 |
22 |
| - $(MLKEM768_DIR)/bin/gen_KAT768 | sha256sum | cut -d " " -f 1 | xargs ./META.sh ML-KEM-768 kat-sha256 |
23 |
| - $(MLKEM1024_DIR)/bin/gen_KAT1024 | sha256sum | cut -d " " -f 1 | xargs ./META.sh ML-KEM-1024 kat-sha256 |
| 35 | +run_kat_512: kat_512 |
| 36 | + $(W) $(MLKEM512_DIR)/bin/gen_KAT512 | sha256sum | cut -d " " -f 1 | xargs ./META.sh ML-KEM-512 kat-sha256 |
| 37 | +run_kat_768: kat_768 |
| 38 | + $(W) $(MLKEM768_DIR)/bin/gen_KAT768 | sha256sum | cut -d " " -f 1 | xargs ./META.sh ML-KEM-768 kat-sha256 |
| 39 | +run_kat_1024: kat_1024 |
| 40 | + $(W) $(MLKEM1024_DIR)/bin/gen_KAT1024 | sha256sum | cut -d " " -f 1 | xargs ./META.sh ML-KEM-1024 kat-sha256 |
| 41 | +run_kat: run_kat_512 run_kat_768 run_kat_1024 |
| 42 | + |
| 43 | +run_nistkat_512: nistkat_512 |
| 44 | + $(W) $(MLKEM512_DIR)/bin/gen_NISTKAT512 | sha256sum | cut -d " " -f 1 | xargs ./META.sh ML-KEM-512 nistkat-sha256 |
| 45 | +run_nistkat_768: nistkat_768 |
| 46 | + $(W) $(MLKEM768_DIR)/bin/gen_NISTKAT768 | sha256sum | cut -d " " -f 1 | xargs ./META.sh ML-KEM-768 nistkat-sha256 |
| 47 | +run_nistkat_1024: nistkat_1024 |
| 48 | + $(W) $(MLKEM1024_DIR)/bin/gen_NISTKAT1024 | sha256sum | cut -d " " -f 1 | xargs ./META.sh ML-KEM-1024 nistkat-sha256 |
| 49 | +run_nistkat: run_nistkat_512 run_nistkat_768 run_nistkat_1024 |
| 50 | + |
| 51 | +run_func_512: func_512 |
| 52 | + $(W) $(MLKEM512_DIR)/bin/test_mlkem512 |
| 53 | +run_func_768: func_768 |
| 54 | + $(W) $(MLKEM768_DIR)/bin/test_mlkem768 |
| 55 | +run_func_1024: func_1024 |
| 56 | + $(W) $(MLKEM1024_DIR)/bin/test_mlkem1024 |
| 57 | +run_func: run_func_512 run_func_768 run_func_1024 |
| 58 | + |
| 59 | +run_acvp: acvp |
| 60 | + python3 ./test/acvp_client.py |
24 | 61 |
|
25 |
| -check_nistkat: nistkat |
26 |
| - $(MLKEM512_DIR)/bin/gen_NISTKAT512 | sha256sum | cut -d " " -f 1 | xargs ./META.sh ML-KEM-512 nistkat-sha256 |
27 |
| - $(MLKEM768_DIR)/bin/gen_NISTKAT768 | sha256sum | cut -d " " -f 1 | xargs ./META.sh ML-KEM-768 nistkat-sha256 |
28 |
| - $(MLKEM1024_DIR)/bin/gen_NISTKAT1024 | sha256sum | cut -d " " -f 1 | xargs ./META.sh ML-KEM-1024 nistkat-sha256 |
| 62 | +func_512: $(MLKEM512_DIR)/bin/test_mlkem512 |
| 63 | +func_768: $(MLKEM768_DIR)/bin/test_mlkem768 |
| 64 | +func_1024: $(MLKEM1024_DIR)/bin/test_mlkem1024 |
| 65 | +func: func_512 func_768 func_1024 |
29 | 66 |
|
30 |
| -check_func: mlkem |
31 |
| - $(MLKEM512_DIR)/bin/test_mlkem512 |
32 |
| - $(MLKEM768_DIR)/bin/test_mlkem768 |
33 |
| - $(MLKEM1024_DIR)/bin/test_mlkem1024 |
| 67 | +nistkat_512: $(MLKEM512_DIR)/bin/gen_NISTKAT512 |
| 68 | +nistkat_768: $(MLKEM768_DIR)/bin/gen_NISTKAT768 |
| 69 | +nistkat_1024: $(MLKEM1024_DIR)/bin/gen_NISTKAT1024 |
| 70 | +nistkat: nistkat_512 nistkat_768 nistkat_1024 |
34 | 71 |
|
35 |
| -check_acvp: acvp |
36 |
| - python3 ./test/acvp_client.py |
| 72 | +kat_512: $(MLKEM512_DIR)/bin/gen_KAT512 |
| 73 | +kat_768: $(MLKEM768_DIR)/bin/gen_KAT768 |
| 74 | +kat_1024: $(MLKEM1024_DIR)/bin/gen_KAT1024 |
| 75 | +kat: kat_512 kat_768 kat_1024 |
37 | 76 |
|
38 |
| -lib: $(BUILD_DIR)/libmlkem.a |
| 77 | +acvp_512: $(MLKEM512_DIR)/bin/acvp_mlkem512 |
| 78 | +acvp_768: $(MLKEM768_DIR)/bin/acvp_mlkem768 |
| 79 | +acvp_1024: $(MLKEM1024_DIR)/bin/acvp_mlkem1024 |
| 80 | +acvp: acvp_512 acvp_768 acvp_1024 |
39 | 81 |
|
40 |
| -mlkem: \ |
41 |
| - $(MLKEM512_DIR)/bin/test_mlkem512 \ |
42 |
| - $(MLKEM768_DIR)/bin/test_mlkem768 \ |
43 |
| - $(MLKEM1024_DIR)/bin/test_mlkem1024 |
| 82 | +lib: $(BUILD_DIR)/libmlkem.a |
44 | 83 |
|
45 | 84 | # Enforce setting CYCLES make variable when
|
46 | 85 | # building benchmarking binaries
|
47 | 86 | check_defined = $(if $(value $1),, $(error $2))
|
48 | 87 | check-defined-CYCLES:
|
49 | 88 | @:$(call check_defined,CYCLES,CYCLES undefined. Benchmarking requires setting one of NO PMU PERF M1)
|
50 | 89 |
|
51 |
| -bench: check-defined-CYCLES \ |
52 |
| - $(MLKEM512_DIR)/bin/bench_mlkem512 \ |
53 |
| - $(MLKEM768_DIR)/bin/bench_mlkem768 \ |
| 90 | +bench_512: check-defined-CYCLES \ |
| 91 | + $(MLKEM512_DIR)/bin/bench_mlkem512 |
| 92 | +bench_768: check-defined-CYCLES \ |
| 93 | + $(MLKEM768_DIR)/bin/bench_mlkem768 |
| 94 | +bench_1024: check-defined-CYCLES \ |
54 | 95 | $(MLKEM1024_DIR)/bin/bench_mlkem1024
|
55 |
| - |
56 |
| -acvp: \ |
57 |
| - $(MLKEM512_DIR)/bin/acvp_mlkem512 \ |
58 |
| - $(MLKEM768_DIR)/bin/acvp_mlkem768 \ |
59 |
| - $(MLKEM1024_DIR)/bin/acvp_mlkem1024 |
60 |
| - |
61 |
| -bench_components: check-defined-CYCLES \ |
62 |
| - $(MLKEM512_DIR)/bin/bench_components_mlkem512 \ |
63 |
| - $(MLKEM768_DIR)/bin/bench_components_mlkem768 \ |
| 96 | +bench: bench_512 bench_768 bench_1024 |
| 97 | + |
| 98 | +run_bench_512: bench_512 |
| 99 | + $(W) $(MLKEM512_DIR)/bin/bench_mlkem512 |
| 100 | +run_bench_768: bench_768 |
| 101 | + $(W) $(MLKEM768_DIR)/bin/bench_mlkem768 |
| 102 | +run_bench_1024: bench_1024 |
| 103 | + $(W) $(MLKEM1024_DIR)/bin/bench_mlkem1024 |
| 104 | + |
| 105 | +# Use .WAIT to prevent parallel execution when -j is passed |
| 106 | +run_bench: \ |
| 107 | + run_bench_512 .WAIT\ |
| 108 | + run_bench_768 .WAIT\ |
| 109 | + run_bench_1024 |
| 110 | + |
| 111 | +bench_components_512: check-defined-CYCLES \ |
| 112 | + $(MLKEM512_DIR)/bin/bench_components_mlkem512 |
| 113 | +bench_components_768: check-defined-CYCLES \ |
| 114 | + $(MLKEM768_DIR)/bin/bench_components_mlkem768 |
| 115 | +bench_components_1024: check-defined-CYCLES \ |
64 | 116 | $(MLKEM1024_DIR)/bin/bench_components_mlkem1024
|
65 |
| - |
66 |
| -nistkat: \ |
67 |
| - $(MLKEM512_DIR)/bin/gen_NISTKAT512 \ |
68 |
| - $(MLKEM768_DIR)/bin/gen_NISTKAT768 \ |
69 |
| - $(MLKEM1024_DIR)/bin/gen_NISTKAT1024 |
70 |
| - |
71 |
| -kat: \ |
72 |
| - $(MLKEM512_DIR)/bin/gen_KAT512 \ |
73 |
| - $(MLKEM768_DIR)/bin/gen_KAT768 \ |
74 |
| - $(MLKEM1024_DIR)/bin/gen_KAT1024 |
| 117 | +bench_components: bench_components_512 bench_components_768 bench_components_1024 |
| 118 | + |
| 119 | +run_bench_components_512: bench_components_512 |
| 120 | + $(W) $(MLKEM512_DIR)/bin/bench_components_mlkem512 |
| 121 | +run_bench_components_768: bench_components_768 |
| 122 | + $(W) $(MLKEM768_DIR)/bin/bench_components_mlkem768 |
| 123 | +run_bench_components_1024: bench_components_1024 |
| 124 | + $(W) $(MLKEM1024_DIR)/bin/bench_components_mlkem1024 |
| 125 | + |
| 126 | +# Use .WAIT to prevent parallel execution when -j is passed |
| 127 | +run_bench_components: \ |
| 128 | + run_bench_components_512 .WAIT\ |
| 129 | + run_bench_components_768 .WAIT\ |
| 130 | + run_bench_components_1024 |
75 | 131 |
|
76 | 132 | clean:
|
77 | 133 | -$(RM) -rf *.gcno *.gcda *.lcov *.o *.so
|
|
0 commit comments