LOCAL_CFLAGS = -I../../include -D_FILE_OFFSET_BITS=64 LOCAL_LDFLAGS = -L../../library \ -lmbedtls$(SHARED_SUFFIX) \ -lmbedx509$(SHARED_SUFFIX) \ -lmbedcrypto$(SHARED_SUFFIX) LOCAL_LDFLAGS += -L../../crypto/library LOCAL_CFLAGS += -I../../crypto/include CRYPTO := ../../crypto/library/ LOCAL_CFLAGS += $(patsubst -I../3rdparty/%, -I../../crypto/3rdparty/%, $(THIRDPARTY_INCLUDES)) ifndef SHARED DEP=$(CRYPTO)libmbedcrypto.a ../../library/libmbedx509.a ../../library/libmbedtls.a else DEP=$(CRYPTO)libmbedcrypto.$(DLEXT) ../../library/libmbedx509.$(DLEXT) ../../library/libmbedtls.$(DLEXT) endif DLEXT ?= so EXEXT= SHARED_SUFFIX= # python2 for POSIX since FreeBSD has only python2 as default. PYTHON ?= python2 # Zlib shared library extensions: ifdef ZLIB LOCAL_LDFLAGS += -lz endif ifdef FUZZINGENGINE LOCAL_LDFLAGS += -lFuzzingEngine endif # A test application is built for each suites/test_suite_*.data file. # Application name is same as .data file's base name and can be # constructed by stripping path 'suites/' and extension .data. APPS = $(basename $(wildcard fuzz_*.c)) # Construct executable name by adding OS specific suffix $(EXEXT). BINARIES := $(addsuffix $(EXEXT),$(APPS)) .SILENT: .PHONY: all check test clean all: $(BINARIES) $(DEP): $(MAKE) -C ../../library C_FILES := $(addsuffix .c,$(APPS)) %.o: %.c $(CC) $(LOCAL_CFLAGS) $(CFLAGS) -c $< -o $@ ifdef FUZZINGENGINE $(BINARIES): %$(EXEXT): %.o common.o $(DEP) echo " $(CC) common.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@" $(CXX) common.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ else $(BINARIES): %$(EXEXT): %.o common.o onefile.o $(DEP) echo " $(CC) common.o onefile.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@" $(CC) common.o onefile.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ endif clean: ifndef WINDOWS rm -rf $(BINARIES) *.o else if exist *.o del /Q /F *.o if exist *.exe del /Q /F *.exe endif