Makefile 1.2 KB

123456789101112131415161718192021222324252627
  1. #CXX = clang++
  2. # Do not add default sanitizer flags here as OSS-fuzz adds its own sanitizer flags.
  3. CXXFLAGS += -ggdb -O0 -std=c++11 -DGTEST_USE_OWN_TR1_TUPLE -I../.. -I. -Wall -Wextra -Wtype-limits -Wconversion
  4. OPENSSL_DIR = /usr/local/opt/[email protected]
  5. # Using full path to libssl and libcrypto to avoid accidentally picking openssl libs brought in by msan.
  6. OPENSSL_SUPPORT = -DCPPHTTPLIB_OPENSSL_SUPPORT -I$(OPENSSL_DIR)/include -I$(OPENSSL_DIR)/lib /usr/local/lib/libssl.a /usr/local/lib/libcrypto.a
  7. ZLIB_SUPPORT = -DCPPHTTPLIB_ZLIB_SUPPORT -lz
  8. BROTLI_DIR = /usr/local/opt/brotli
  9. # BROTLI_SUPPORT = -DCPPHTTPLIB_BROTLI_SUPPORT -I$(BROTLI_DIR)/include -L$(BROTLI_DIR)/lib -lbrotlicommon -lbrotlienc -lbrotlidec
  10. # Runs all the tests and also fuzz tests against seed corpus.
  11. all : server_fuzzer
  12. ./server_fuzzer corpus/*
  13. # Fuzz target, so that you can choose which $(LIB_FUZZING_ENGINE) to use.
  14. server_fuzzer : server_fuzzer.cc ../../httplib.h
  15. # $(CXX) $(CXXFLAGS) -o $@ $< -Wl,-Bstatic $(OPENSSL_SUPPORT) -Wl,-Bdynamic -ldl $(ZLIB_SUPPORT) $(LIB_FUZZING_ENGINE) -pthread
  16. $(CXX) $(CXXFLAGS) -o $@ $< $(ZLIB_SUPPORT) $(LIB_FUZZING_ENGINE) -pthread
  17. zip -q -r server_fuzzer_seed_corpus.zip corpus
  18. clean:
  19. rm -f server_fuzzer pem *.0 *.o *.1 *.srl *.zip