1MBEDTLS_TEST_PATH:=../../tests 2 3MBEDTLS_PATH := ../.. 4include ../../scripts/common.make 5 6PROGRAM_FUZZ_PATH:=$(MBEDTLS_PATH)/tf-psa-crypto/programs/fuzz 7 8DEP=${MBEDLIBS} 9 10ifdef FUZZINGENGINE 11LOCAL_LDFLAGS += -lFuzzingEngine 12endif 13 14LOCAL_CFLAGS += -I$(PROGRAM_FUZZ_PATH) 15 16# A test application is built for each fuzz_*.c file. 17APPS = $(basename $(wildcard fuzz_*.c)) 18APPS += $(basename $(PROGRAM_FUZZ_PATH)/fuzz_privkey.c) 19APPS += $(basename $(PROGRAM_FUZZ_PATH)/fuzz_pubkey.c) 20 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 30C_FILES := $(addsuffix .c,$(APPS)) 31 32%.o: %.c 33 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) -c $< -o $@ 34 35 36ifdef FUZZINGENGINE 37$(BINARIES): %$(EXEXT): %.o $(PROGRAM_FUZZ_PATH)/fuzz_common.o $(DEP) 38 echo " $(CC) $(PROGRAM_FUZZ_PATH)/fuzz_common.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@" 39 $(CXX) $(PROGRAM_FUZZ_PATH)/fuzz_common.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ 40else 41$(BINARIES): %$(EXEXT): %.o $(PROGRAM_FUZZ_PATH)/fuzz_common.o $(PROGRAM_FUZZ_PATH)/fuzz_onefile.o $(DEP) 42 echo " $(CC) $(PROGRAM_FUZZ_PATH)/fuzz_common.o $(PROGRAM_FUZZ_PATH)/fuzz_onefile.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@" 43 $(CC) $(PROGRAM_FUZZ_PATH)/fuzz_common.o $(PROGRAM_FUZZ_PATH)/fuzz_onefile.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ 44endif 45 46clean: 47ifndef WINDOWS 48 rm -rf $(BINARIES) *.o 49 rm -rf $(MBEDTLS_PATH)/tf-psa-crypto/programs/fuzz/*.o 50else 51 if exist *.o del /Q /F *.o 52 if exist *.exe del /Q /F *.exe 53 if exist $(MBEDTLS_PATH)\tf-psa-crypto\programs\fuzz\*.o del /Q /F $(MBEDTLS_PATH)\tf-psa-crypto\programs\fuzz\*.o 54endif 55