1MBEDTLS_TEST_PATH:=../../tests/src 2MBEDTLS_TEST_OBJS:=$(patsubst %.c,%.o,$(wildcard ${MBEDTLS_TEST_PATH}/*.c ${MBEDTLS_TEST_PATH}/drivers/*.c)) 3 4LOCAL_CFLAGS = -I../../tests/include -I../../include -D_FILE_OFFSET_BITS=64 5LOCAL_LDFLAGS = ${MBEDTLS_TEST_OBJS} \ 6 -L../../library \ 7 -lmbedtls$(SHARED_SUFFIX) \ 8 -lmbedx509$(SHARED_SUFFIX) \ 9 -lmbedcrypto$(SHARED_SUFFIX) 10 11LOCAL_CFLAGS += $(patsubst -I../%,-I../../%,$(THIRDPARTY_INCLUDES)) 12 13ifndef SHARED 14DEP=../../library/libmbedcrypto.a ../../library/libmbedx509.a ../../library/libmbedtls.a 15else 16DEP=../../library/libmbedcrypto.$(DLEXT) ../../library/libmbedx509.$(DLEXT) ../../library/libmbedtls.$(DLEXT) 17endif 18 19 20DLEXT ?= so 21EXEXT= 22SHARED_SUFFIX= 23 24# Zlib shared library extensions: 25ifdef ZLIB 26LOCAL_LDFLAGS += -lz 27endif 28 29ifdef FUZZINGENGINE 30LOCAL_LDFLAGS += -lFuzzingEngine 31endif 32 33# A test application is built for each suites/test_suite_*.data file. 34# Application name is same as .data file's base name and can be 35# constructed by stripping path 'suites/' and extension .data. 36APPS = $(basename $(wildcard fuzz_*.c)) 37 38# Construct executable name by adding OS specific suffix $(EXEXT). 39BINARIES := $(addsuffix $(EXEXT),$(APPS)) 40 41.SILENT: 42 43.PHONY: all check test clean 44 45all: $(BINARIES) 46 47$(DEP): 48 $(MAKE) -C ../../library 49 50C_FILES := $(addsuffix .c,$(APPS)) 51 52%.o: %.c 53 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) -c $< -o $@ 54 55 56ifdef FUZZINGENGINE 57$(BINARIES): %$(EXEXT): %.o common.o $(DEP) 58 echo " $(CC) common.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@" 59 $(CXX) common.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ 60else 61$(BINARIES): %$(EXEXT): %.o common.o onefile.o $(DEP) 62 echo " $(CC) common.o onefile.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@" 63 $(CC) common.o onefile.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ 64endif 65 66clean: 67ifndef WINDOWS 68 rm -rf $(BINARIES) *.o 69else 70 if exist *.o del /Q /F *.o 71 if exist *.exe del /Q /F *.exe 72endif 73