blob: 59a2bb7f3f965c198751b2ae8eb608d00f9e4f19 [file] [log] [blame]
Ronald Cron8dc0af22020-06-05 16:00:22 +02001MBEDTLS_TEST_PATH:=../../tests/src
Steven Cooremana70d5882020-07-16 20:26:18 +02002MBEDTLS_TEST_OBJS:=$(patsubst %.c,%.o,$(wildcard ${MBEDTLS_TEST_PATH}/*.c ${MBEDTLS_TEST_PATH}/drivers/*.c))
Philippe Antoine03e87d92019-06-04 19:37:52 +02003
Ronald Cron8dc0af22020-06-05 16:00:22 +02004LOCAL_CFLAGS = -I../../tests/include -I../../include -D_FILE_OFFSET_BITS=64
5LOCAL_LDFLAGS = ${MBEDTLS_TEST_OBJS} \
6 -L../../library \
Philippe Antoine03e87d92019-06-04 19:37:52 +02007 -lmbedtls$(SHARED_SUFFIX) \
8 -lmbedx509$(SHARED_SUFFIX) \
9 -lmbedcrypto$(SHARED_SUFFIX)
10
Gilles Peskineaae57bf2020-03-09 17:30:32 +010011LOCAL_CFLAGS += $(patsubst -I../%,-I../../%,$(THIRDPARTY_INCLUDES))
Philippe Antoine03e87d92019-06-04 19:37:52 +020012
13ifndef SHARED
Gilles Peskineaae57bf2020-03-09 17:30:32 +010014DEP=../../library/libmbedcrypto.a ../../library/libmbedx509.a ../../library/libmbedtls.a
Philippe Antoine03e87d92019-06-04 19:37:52 +020015else
Gilles Peskineaae57bf2020-03-09 17:30:32 +010016DEP=../../library/libmbedcrypto.$(DLEXT) ../../library/libmbedx509.$(DLEXT) ../../library/libmbedtls.$(DLEXT)
Philippe Antoine03e87d92019-06-04 19:37:52 +020017endif
18
19
20DLEXT ?= so
21EXEXT=
22SHARED_SUFFIX=
Philippe Antoine03e87d92019-06-04 19:37:52 +020023
Philippe Antoine03e87d92019-06-04 19:37:52 +020024ifdef FUZZINGENGINE
25LOCAL_LDFLAGS += -lFuzzingEngine
26endif
27
28# A test application is built for each suites/test_suite_*.data file.
29# Application name is same as .data file's base name and can be
30# constructed by stripping path 'suites/' and extension .data.
31APPS = $(basename $(wildcard fuzz_*.c))
32
33# Construct executable name by adding OS specific suffix $(EXEXT).
34BINARIES := $(addsuffix $(EXEXT),$(APPS))
35
36.SILENT:
37
38.PHONY: all check test clean
39
40all: $(BINARIES)
41
42$(DEP):
43 $(MAKE) -C ../../library
44
45C_FILES := $(addsuffix .c,$(APPS))
46
47%.o: %.c
48 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) -c $< -o $@
49
50
51ifdef FUZZINGENGINE
52$(BINARIES): %$(EXEXT): %.o common.o $(DEP)
53 echo " $(CC) common.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@"
54 $(CXX) common.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
55else
56$(BINARIES): %$(EXEXT): %.o common.o onefile.o $(DEP)
57 echo " $(CC) common.o onefile.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@"
58 $(CC) common.o onefile.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
59endif
60
61clean:
62ifndef WINDOWS
63 rm -rf $(BINARIES) *.o
64else
Darryl Green9b9a7902019-08-30 14:51:55 +010065 if exist *.o del /Q /F *.o
66 if exist *.exe del /Q /F *.exe
Philippe Antoine03e87d92019-06-04 19:37:52 +020067endif