blob: 29483eafda14ac7cb2a0f4885205f22864dd2a19 [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 Taylor5578c062025-06-30 11:22:14 +01006PROGRAM_FUZZ_PATH:=$(MBEDTLS_PATH)/programs/fuzz
Ben Taylorc9b71752025-06-10 13:16:32 +01007
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 Taylord9fc98a2025-06-30 11:21:01 +010014LOCAL_CFLAGS += -I$(PROGRAM_FUZZ_PATH)
Ben Taylor2584ead2025-04-03 13:46:13 +010015
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))
18
19# Construct executable name by adding OS specific suffix $(EXEXT).
20BINARIES := $(addsuffix $(EXEXT),$(APPS))
21
22.SILENT:
23
24.PHONY: all check test clean
25
26all: $(BINARIES)
27
Philippe Antoine03e87d92019-06-04 19:37:52 +020028C_FILES := $(addsuffix .c,$(APPS))
29
30%.o: %.c
31 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) -c $< -o $@
32
33
34ifdef FUZZINGENGINE
Ben Taylorb8ebc212025-06-30 11:23:18 +010035$(BINARIES): %$(EXEXT): %.o $(PROGRAM_FUZZ_PATH)/common.o $(DEP)
Ben Taylor56d54c62025-06-13 10:29:21 +010036 echo " $(PROGRAM_FUZZ_PATH)/common.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@"
37 $(CXX) $(PROGRAM_FUZZ_PATH)/common.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Philippe Antoine03e87d92019-06-04 19:37:52 +020038else
Ben Taylor56d54c62025-06-13 10:29:21 +010039$(BINARIES): %$(EXEXT): %.o $(PROGRAM_FUZZ_PATH)/common.o $(PROGRAM_FUZZ_PATH)/onefile.o $(DEP)
40 echo " $(CC) $(PROGRAM_FUZZ_PATH)/common.o $(PROGRAM_FUZZ_PATH)/onefile.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@"
41 $(CC) $(PROGRAM_FUZZ_PATH)/common.o $(PROGRAM_FUZZ_PATH)/onefile.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Philippe Antoine03e87d92019-06-04 19:37:52 +020042endif
43
44clean:
45ifndef WINDOWS
46 rm -rf $(BINARIES) *.o
Ben Taylor72870402025-04-14 08:43:59 +010047 rm -rf $(MBEDTLS_PATH)/tf-psa-crypto/programs/fuzz/*.o
Philippe Antoine03e87d92019-06-04 19:37:52 +020048else
Darryl Green9b9a7902019-08-30 14:51:55 +010049 if exist *.o del /Q /F *.o
50 if exist *.exe del /Q /F *.exe
Ben Taylor946b0d92025-05-21 08:06:15 +010051 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 +020052endif