• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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