blob: f2195d1298da3140c455b5d97f531280943fce36 [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/
11
12ifndef SHARED
13DEP=$(CRYPTO)libmbedcrypto.a ../../library/libmbedx509.a ../../library/libmbedtls.a
14else
15DEP=$(CRYPTO)libmbedcrypto.$(DLEXT) ../../library/libmbedx509.$(DLEXT) ../../library/libmbedtls.$(DLEXT)
16endif
17
18
19DLEXT ?= so
20EXEXT=
21SHARED_SUFFIX=
22# python2 for POSIX since FreeBSD has only python2 as default.
23PYTHON ?= python2
24
25# Zlib shared library extensions:
26ifdef ZLIB
27LOCAL_LDFLAGS += -lz
28endif
29
30ifdef FUZZINGENGINE
31LOCAL_LDFLAGS += -lFuzzingEngine
32endif
33
34# A test application is built for each suites/test_suite_*.data file.
35# Application name is same as .data file's base name and can be
36# constructed by stripping path 'suites/' and extension .data.
37APPS = $(basename $(wildcard fuzz_*.c))
38
39# Construct executable name by adding OS specific suffix $(EXEXT).
40BINARIES := $(addsuffix $(EXEXT),$(APPS))
41
42.SILENT:
43
44.PHONY: all check test clean
45
46all: $(BINARIES)
47
48$(DEP):
49 $(MAKE) -C ../../library
50
51C_FILES := $(addsuffix .c,$(APPS))
52
53%.o: %.c
54 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) -c $< -o $@
55
56
57ifdef FUZZINGENGINE
58$(BINARIES): %$(EXEXT): %.o common.o $(DEP)
59 echo " $(CC) common.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@"
60 $(CXX) common.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
61else
62$(BINARIES): %$(EXEXT): %.o common.o onefile.o $(DEP)
63 echo " $(CC) common.o onefile.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@"
64 $(CC) common.o onefile.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
65endif
66
67clean:
68ifndef WINDOWS
69 rm -rf $(BINARIES) *.o
70else
71 del /Q /F *.o *.exe
72endif