blob: 8477aa8cb915d8cf06a812b1534960ef36700cc6 [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
Gilles Peskine9ec14f62022-11-29 17:23:19 +01004CFLAGS ?= -O2
5WARNING_CFLAGS ?= -Wall -Wextra
6LOCAL_CFLAGS = $(WARNING_CFLAGS) -I../../tests/include -I../../include -D_FILE_OFFSET_BITS=64
Ronald Cron8dc0af22020-06-05 16:00:22 +02007LOCAL_LDFLAGS = ${MBEDTLS_TEST_OBJS} \
8 -L../../library \
Philippe Antoine03e87d92019-06-04 19:37:52 +02009 -lmbedtls$(SHARED_SUFFIX) \
10 -lmbedx509$(SHARED_SUFFIX) \
11 -lmbedcrypto$(SHARED_SUFFIX)
12
Gilles Peskineaae57bf2020-03-09 17:30:32 +010013LOCAL_CFLAGS += $(patsubst -I../%,-I../../%,$(THIRDPARTY_INCLUDES))
Philippe Antoine03e87d92019-06-04 19:37:52 +020014
15ifndef SHARED
Gilles Peskineaae57bf2020-03-09 17:30:32 +010016DEP=../../library/libmbedcrypto.a ../../library/libmbedx509.a ../../library/libmbedtls.a
Philippe Antoine03e87d92019-06-04 19:37:52 +020017else
Gilles Peskineaae57bf2020-03-09 17:30:32 +010018DEP=../../library/libmbedcrypto.$(DLEXT) ../../library/libmbedx509.$(DLEXT) ../../library/libmbedtls.$(DLEXT)
Philippe Antoine03e87d92019-06-04 19:37:52 +020019endif
20
21
22DLEXT ?= so
23EXEXT=
24SHARED_SUFFIX=
Philippe Antoine03e87d92019-06-04 19:37:52 +020025
Philippe Antoine03e87d92019-06-04 19:37:52 +020026ifdef FUZZINGENGINE
27LOCAL_LDFLAGS += -lFuzzingEngine
28endif
29
30# A test application is built for each suites/test_suite_*.data file.
31# Application name is same as .data file's base name and can be
32# constructed by stripping path 'suites/' and extension .data.
33APPS = $(basename $(wildcard fuzz_*.c))
34
35# Construct executable name by adding OS specific suffix $(EXEXT).
36BINARIES := $(addsuffix $(EXEXT),$(APPS))
37
38.SILENT:
39
40.PHONY: all check test clean
41
42all: $(BINARIES)
43
44$(DEP):
45 $(MAKE) -C ../../library
46
47C_FILES := $(addsuffix .c,$(APPS))
48
49%.o: %.c
50 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) -c $< -o $@
51
52
53ifdef FUZZINGENGINE
54$(BINARIES): %$(EXEXT): %.o common.o $(DEP)
55 echo " $(CC) common.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@"
56 $(CXX) common.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
57else
58$(BINARIES): %$(EXEXT): %.o common.o onefile.o $(DEP)
59 echo " $(CC) common.o onefile.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@"
60 $(CC) common.o onefile.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
61endif
62
63clean:
64ifndef WINDOWS
65 rm -rf $(BINARIES) *.o
66else
Darryl Green9b9a7902019-08-30 14:51:55 +010067 if exist *.o del /Q /F *.o
68 if exist *.exe del /Q /F *.exe
Philippe Antoine03e87d92019-06-04 19:37:52 +020069endif