blob: b7664414b910fd55909de5528a6913ad26eec641 [file] [log] [blame]
Paul Elliott053db692024-01-05 18:11:32 +00001MBEDTLS_TEST_PATH:=../../tests
Philippe Antoine03e87d92019-06-04 19:37:52 +02002
Paul Elliott053db692024-01-05 18:11:32 +00003MBEDTLS_PATH := ../..
4include ../../scripts/common.make
Philippe Antoine03e87d92019-06-04 19:37:52 +02005
Ben Taylorc9b71752025-06-10 13:16:32 +01006PROGRAM_FUZZ_PATH:=$(MBEDTLS_PATH)/tf-psa-crypto/programs/fuzz/
7
Paul Elliott053db692024-01-05 18:11:32 +00008DEP=${MBEDLIBS}
Philippe Antoine03e87d92019-06-04 19:37:52 +02009
Philippe Antoine03e87d92019-06-04 19:37:52 +020010ifdef FUZZINGENGINE
11LOCAL_LDFLAGS += -lFuzzingEngine
12endif
13
Ben Taylor2584ead2025-04-03 13:46:13 +010014LOCAL_CFLAGS += -I$(MBEDTLS_PATH)/tf-psa-crypto/programs/fuzz/
15
Ronald Cron6f55ddc2024-07-12 19:37:00 +020016# A test application is built for each fuzz_*.c file.
Philippe Antoine03e87d92019-06-04 19:37:52 +020017APPS = $(basename $(wildcard fuzz_*.c))
Ben Taylor9784b402025-05-21 08:01:28 +010018APPS += $(basename $(MBEDTLS_PATH)/tf-psa-crypto/programs/fuzz/fuzz_privkey.c)
19APPS += $(basename $(MBEDTLS_PATH)/tf-psa-crypto/programs/fuzz/fuzz_pubkey.c)
Philippe Antoine03e87d92019-06-04 19:37:52 +020020
21# Construct executable name by adding OS specific suffix $(EXEXT).
22BINARIES := $(addsuffix $(EXEXT),$(APPS))
23
24.SILENT:
25
26.PHONY: all check test clean
27
28all: $(BINARIES)
29
Philippe Antoine03e87d92019-06-04 19:37:52 +020030C_FILES := $(addsuffix .c,$(APPS))
31
32%.o: %.c
33 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) -c $< -o $@
34
35
36ifdef FUZZINGENGINE
Ben Taylorc9b71752025-06-10 13:16:32 +010037$(BINARIES): %$(EXEXT): %.o $(PROGRAM_FUZZ_PATH)/fuzz_common.o $(DEP)
38 echo " $(PROGRAM_FUZZ_PATH)/fuzz_common.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@"
39 $(CXX) $(PROGRAM_FUZZ_PATH)/fuzz_common.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Philippe Antoine03e87d92019-06-04 19:37:52 +020040else
Ben Taylorc9b71752025-06-10 13:16:32 +010041$(BINARIES): %$(EXEXT): %.o $(PROGRAM_FUZZ_PATH)/fuzz_common.o $(MBEDTLS_PATH)/tf-psa-crypto/programs/fuzz/onefile.o $(DEP)
42 echo " $(CC) $(PROGRAM_FUZZ_PATH)/fuzz_common.o $(MBEDTLS_PATH)/tf-psa-crypto/programs/fuzz/onefile.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@"
43 $(CC) $(PROGRAM_FUZZ_PATH)/fuzz_common.o $(MBEDTLS_PATH)/tf-psa-crypto/programs/fuzz/onefile.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Philippe Antoine03e87d92019-06-04 19:37:52 +020044endif
45
46clean:
47ifndef WINDOWS
48 rm -rf $(BINARIES) *.o
Ben Taylor72870402025-04-14 08:43:59 +010049 rm -rf $(MBEDTLS_PATH)/tf-psa-crypto/programs/fuzz/*.o
Philippe Antoine03e87d92019-06-04 19:37:52 +020050else
Darryl Green9b9a7902019-08-30 14:51:55 +010051 if exist *.o del /Q /F *.o
52 if exist *.exe del /Q /F *.exe
Ben Taylor946b0d92025-05-21 08:06:15 +010053 if exist $(MBEDTLS_PATH)\tf-psa-crypto\programs\fuzz\*.o del /Q /F $(MBEDTLS_PATH)\tf-psa-crypto\programs\fuzz\*.o
Philippe Antoine03e87d92019-06-04 19:37:52 +020054endif