22
33CFLAGS = /nologo /O2 /Imlkem /Imlkem/src /Imlkem/src/fips202 /Imlkem/src/fips202/native /Imlkem/src/sys /Imlkem/src/native
44
5+ ALLOC_CFLAGS = \
6+ $(CFLAGS) \
7+ /D MLK_CONFIG_FILE="\"../test/configs/test_alloc_config.h\""
8+
59OBJ_FILES = .\mlkem\*.obj \
610 .\mlkem\fips202\*.obj
711
@@ -17,6 +21,13 @@ OBJ_FILES_768 = $(MLKEM768_BUILD_DIR)\mlkem\*.obj \
1721OBJ_FILES_1024 = $(MLKEM1024_BUILD_DIR)\mlkem\*.obj \
1822 $(MLKEM1024_BUILD_DIR)\mlkem\fips202\*.obj
1923
24+ OBJ_FILES_512_ALLOC = $(MLKEM512_BUILD_DIR)\alloc\mlkem\*.obj \
25+ $(MLKEM512_BUILD_DIR)\alloc\mlkem\fips202\*.obj
26+ OBJ_FILES_768_ALLOC = $(MLKEM768_BUILD_DIR)\alloc\mlkem\*.obj \
27+ $(MLKEM768_BUILD_DIR)\alloc\mlkem\fips202\*.obj
28+ OBJ_FILES_1024_ALLOC = $(MLKEM1024_BUILD_DIR)\alloc\mlkem\*.obj \
29+ $(MLKEM1024_BUILD_DIR)\alloc\mlkem\fips202\*.obj
30+
2031# NOTE: We currently only build code for non-opt code, as we haven't yet made the assembly compatible on Windows
2132!IFNDEF OPT
2233OPT = 0
@@ -65,6 +76,45 @@ OPT = 0
6576 @if NOT EXIST $(MLKEM1024_BUILD_DIR)\test mkdir $(MLKEM1024_BUILD_DIR)\test
6677 $(CC) $(CFLAGS) /D MLK_CONFIG_PARAMETER_SET=1024 /c /Fo$(MLKEM1024_BUILD_DIR)\test\ $<
6778
79+ # compilation for mlkem512 alloc test
80+ {mlkem\src}.c{$(MLKEM512_BUILD_DIR)\alloc\mlkem}.obj::
81+ @if NOT EXIST $(MLKEM512_BUILD_DIR)\alloc\mlkem mkdir $(MLKEM512_BUILD_DIR)\alloc\mlkem
82+ $(CC) $(ALLOC_CFLAGS) /D MLK_CONFIG_PARAMETER_SET=512 /c /Fo$(MLKEM512_BUILD_DIR)\alloc\mlkem\ $<
83+
84+ {mlkem\src\fips202}.c{$(MLKEM512_BUILD_DIR)\alloc\mlkem\fips202}.obj::
85+ @if NOT EXIST $(MLKEM512_BUILD_DIR)\alloc\mlkem\fips202 mkdir $(MLKEM512_BUILD_DIR)\alloc\mlkem\fips202
86+ $(CC) $(ALLOC_CFLAGS) /D MLK_CONFIG_PARAMETER_SET=512 /c /Fo$(MLKEM512_BUILD_DIR)\alloc\mlkem\fips202\ $<
87+
88+ {test\src}.c{$(MLKEM512_BUILD_DIR)\test\alloc}.obj::
89+ @if NOT EXIST $(MLKEM512_BUILD_DIR)\test\alloc mkdir $(MLKEM512_BUILD_DIR)\test\alloc
90+ $(CC) $(ALLOC_CFLAGS) /D MLK_CONFIG_PARAMETER_SET=512 /c /Fo$(MLKEM512_BUILD_DIR)\test\alloc\ $<
91+
92+ # compilation for mlkem768 alloc test
93+ {mlkem\src}.c{$(MLKEM768_BUILD_DIR)\alloc\mlkem}.obj::
94+ @if NOT EXIST $(MLKEM768_BUILD_DIR)\alloc\mlkem mkdir $(MLKEM768_BUILD_DIR)\alloc\mlkem
95+ $(CC) $(ALLOC_CFLAGS) /D MLK_CONFIG_PARAMETER_SET=768 /c /Fo$(MLKEM768_BUILD_DIR)\alloc\mlkem\ $<
96+
97+ {mlkem\src\fips202}.c{$(MLKEM768_BUILD_DIR)\alloc\mlkem\fips202}.obj::
98+ @if NOT EXIST $(MLKEM768_BUILD_DIR)\alloc\mlkem\fips202 mkdir $(MLKEM768_BUILD_DIR)\alloc\mlkem\fips202
99+ $(CC) $(ALLOC_CFLAGS) /D MLK_CONFIG_PARAMETER_SET=768 /c /Fo$(MLKEM768_BUILD_DIR)\alloc\mlkem\fips202\ $<
100+
101+ {test\src}.c{$(MLKEM768_BUILD_DIR)\test\alloc}.obj::
102+ @if NOT EXIST $(MLKEM768_BUILD_DIR)\test\alloc mkdir $(MLKEM768_BUILD_DIR)\test\alloc
103+ $(CC) $(ALLOC_CFLAGS) /D MLK_CONFIG_PARAMETER_SET=768 /c /Fo$(MLKEM768_BUILD_DIR)\test\alloc\ $<
104+
105+ # compilation for mlkem1024 alloc test
106+ {mlkem\src}.c{$(MLKEM1024_BUILD_DIR)\alloc\mlkem}.obj::
107+ @if NOT EXIST $(MLKEM1024_BUILD_DIR)\alloc\mlkem mkdir $(MLKEM1024_BUILD_DIR)\alloc\mlkem
108+ $(CC) $(ALLOC_CFLAGS) /D MLK_CONFIG_PARAMETER_SET=1024 /c /Fo$(MLKEM1024_BUILD_DIR)\alloc\mlkem\ $<
109+
110+ {mlkem\src\fips202}.c{$(MLKEM1024_BUILD_DIR)\alloc\mlkem\fips202}.obj::
111+ @if NOT EXIST $(MLKEM1024_BUILD_DIR)\alloc\mlkem\fips202 mkdir $(MLKEM1024_BUILD_DIR)\alloc\mlkem\fips202
112+ $(CC) $(ALLOC_CFLAGS) /D MLK_CONFIG_PARAMETER_SET=1024 /c /Fo$(MLKEM1024_BUILD_DIR)\alloc\mlkem\fips202\ $<
113+
114+ {test\src}.c{$(MLKEM1024_BUILD_DIR)\test\alloc}.obj::
115+ @if NOT EXIST $(MLKEM1024_BUILD_DIR)\test\alloc mkdir $(MLKEM1024_BUILD_DIR)\test\alloc
116+ $(CC) $(ALLOC_CFLAGS) /D MLK_CONFIG_PARAMETER_SET=1024 /c /Fo$(MLKEM1024_BUILD_DIR)\test\alloc\ $<
117+
68118# compilation of acvp test for mlkem512
69119{test\acvp}.c{$(MLKEM512_BUILD_DIR)\test\acvp}.obj::
70120 @if NOT EXIST $(MLKEM512_BUILD_DIR)\test\acvp mkdir $(MLKEM512_BUILD_DIR)\test\acvp
@@ -140,6 +190,21 @@ test_rng_fail1024: $(OBJ_FILES_1024) $(MLKEM1024_BUILD_DIR)\test\test_rng_fail.o
140190 @if NOT EXIST $(MLKEM1024_BUILD_DIR)\bin mkdir $(MLKEM1024_BUILD_DIR)\bin
141191 $(CC) $(CFLAGS) /D MLK_CONFIG_PARAMETER_SET=1024 /Fe$(MLKEM1024_BUILD_DIR)\bin\test_rng_fail1024 $** /link
142192
193+ # compile alloc test for mlkem512
194+ test_alloc512: $(OBJ_FILES_512_ALLOC) $(MLKEM512_BUILD_DIR)\test\alloc\test_alloc.obj $(BUILD_DIR)\randombytes\notrandombytes.obj
195+ @if NOT EXIST $(MLKEM512_BUILD_DIR)\bin mkdir $(MLKEM512_BUILD_DIR)\bin
196+ $(CC) $(CFLAGS) /D MLK_CONFIG_PARAMETER_SET=512 /Fe$(MLKEM512_BUILD_DIR)\bin\test_alloc512 $** /link
197+
198+ # compile alloc test for mlkem768
199+ test_alloc768: $(OBJ_FILES_768_ALLOC) $(MLKEM768_BUILD_DIR)\test\alloc\test_alloc.obj $(BUILD_DIR)\randombytes\notrandombytes.obj
200+ @if NOT EXIST $(MLKEM768_BUILD_DIR)\bin mkdir $(MLKEM768_BUILD_DIR)\bin
201+ $(CC) $(CFLAGS) /D MLK_CONFIG_PARAMETER_SET=768 /Fe$(MLKEM768_BUILD_DIR)\bin\test_alloc768 $** /link
202+
203+ # compile alloc test for mlkem1024
204+ test_alloc1024: $(OBJ_FILES_1024_ALLOC) $(MLKEM1024_BUILD_DIR)\test\alloc\test_alloc.obj $(BUILD_DIR)\randombytes\notrandombytes.obj
205+ @if NOT EXIST $(MLKEM1024_BUILD_DIR)\bin mkdir $(MLKEM1024_BUILD_DIR)\bin
206+ $(CC) $(CFLAGS) /D MLK_CONFIG_PARAMETER_SET=1024 /Fe$(MLKEM1024_BUILD_DIR)\bin\test_alloc1024 $** /link
207+
143208acvp: acvp_mlkem512 acvp_mlkem768 acvp_mlkem1024
144209
145210gen_KAT: gen_KAT512 gen_KAT768 gen_KAT1024
@@ -162,7 +227,12 @@ run_rng_fail: test_rng_fail512 test_rng_fail768 test_rng_fail1024
162227 $(MLKEM768_BUILD_DIR)\bin\test_rng_fail768.exe
163228 $(MLKEM1024_BUILD_DIR)\bin\test_rng_fail1024.exe
164229
165- test: run_func run_rng_fail run_acvp run_kat
230+ run_alloc: test_alloc512 test_alloc768 test_alloc1024
231+ $(MLKEM512_BUILD_DIR)\bin\test_alloc512.exe
232+ $(MLKEM768_BUILD_DIR)\bin\test_alloc768.exe
233+ $(MLKEM1024_BUILD_DIR)\bin\test_alloc1024.exe
234+
235+ test: run_func run_rng_fail run_alloc run_acvp run_kat
166236 @echo Everything checks fine!
167237
168238quickcheck: test
0 commit comments