blob: 83059aa6652ce23de943fefa233a8e5bf04c1fd4 [file] [log] [blame]
Philippe Antoine03e87d92019-06-04 19:37:52 +02001
2LOCAL_CFLAGS = -I../../include -D_FILE_OFFSET_BITS=64
3LOCAL_LDFLAGS = -L../../library \
4 -lmbedtls$(SHARED_SUFFIX) \
5 -lmbedx509$(SHARED_SUFFIX) \
6 -lmbedcrypto$(SHARED_SUFFIX)
7
8LOCAL_LDFLAGS += -L../../crypto/library
9LOCAL_CFLAGS += -I../../crypto/include
10CRYPTO := ../../crypto/library/
Janos Follath4f055f42019-08-20 15:12:54 +010011LOCAL_CFLAGS += $(patsubst -I../3rdparty/%, -I../../crypto/3rdparty/%, $(THIRDPARTY_INCLUDES))
Philippe Antoine03e87d92019-06-04 19:37:52 +020012
13ifndef SHARED
14DEP=$(CRYPTO)libmbedcrypto.a ../../library/libmbedx509.a ../../library/libmbedtls.a
15else
16DEP=$(CRYPTO)libmbedcrypto.$(DLEXT) ../../library/libmbedx509.$(DLEXT) ../../library/libmbedtls.$(DLEXT)
17endif
18
19
20DLEXT ?= so
21EXEXT=
22SHARED_SUFFIX=
23# python2 for POSIX since FreeBSD has only python2 as default.
24PYTHON ?= python2
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 del /Q /F *.o *.exe
73endif