Makefile 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. MBEDTLS_TEST_PATH:=../../tests/src
  2. MBEDTLS_TEST_OBJS:=$(patsubst %.c,%.o,$(wildcard ${MBEDTLS_TEST_PATH}/*.c ${MBEDTLS_TEST_PATH}/drivers/*.c))
  3. CFLAGS ?= -O2
  4. WARNING_CFLAGS ?= -Wall -Wextra
  5. LOCAL_CFLAGS = $(WARNING_CFLAGS) -I../../tests/include -I../../include -D_FILE_OFFSET_BITS=64
  6. LOCAL_LDFLAGS = ${MBEDTLS_TEST_OBJS} \
  7. -L../../library \
  8. -lmbedtls$(SHARED_SUFFIX) \
  9. -lmbedx509$(SHARED_SUFFIX) \
  10. -lmbedcrypto$(SHARED_SUFFIX)
  11. LOCAL_CFLAGS += $(patsubst -I../%,-I../../%,$(THIRDPARTY_INCLUDES))
  12. ifndef SHARED
  13. DEP=../../library/libmbedcrypto.a ../../library/libmbedx509.a ../../library/libmbedtls.a
  14. else
  15. DEP=../../library/libmbedcrypto.$(DLEXT) ../../library/libmbedx509.$(DLEXT) ../../library/libmbedtls.$(DLEXT)
  16. endif
  17. DLEXT ?= so
  18. EXEXT=
  19. SHARED_SUFFIX=
  20. ifdef FUZZINGENGINE
  21. LOCAL_LDFLAGS += -lFuzzingEngine
  22. endif
  23. # A test application is built for each suites/test_suite_*.data file.
  24. # Application name is same as .data file's base name and can be
  25. # constructed by stripping path 'suites/' and extension .data.
  26. APPS = $(basename $(wildcard fuzz_*.c))
  27. # Construct executable name by adding OS specific suffix $(EXEXT).
  28. BINARIES := $(addsuffix $(EXEXT),$(APPS))
  29. .SILENT:
  30. .PHONY: all check test clean
  31. all: $(BINARIES)
  32. $(DEP):
  33. $(MAKE) -C ../../library
  34. C_FILES := $(addsuffix .c,$(APPS))
  35. %.o: %.c
  36. $(CC) $(LOCAL_CFLAGS) $(CFLAGS) -c $< -o $@
  37. ifdef FUZZINGENGINE
  38. $(BINARIES): %$(EXEXT): %.o common.o $(DEP)
  39. echo " $(CC) common.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@"
  40. $(CXX) common.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
  41. else
  42. $(BINARIES): %$(EXEXT): %.o common.o onefile.o $(DEP)
  43. echo " $(CC) common.o onefile.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@"
  44. $(CC) common.o onefile.o $< $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
  45. endif
  46. clean:
  47. ifndef WINDOWS
  48. rm -rf $(BINARIES) *.o
  49. else
  50. if exist *.o del /Q /F *.o
  51. if exist *.exe del /Q /F *.exe
  52. endif