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