General Purpose library for Freestanding C++ and POSIX systems
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

17 lines
1.1 KiB

  1. CXX= clang++-10
  2. CXXFLAGS= --std=c++20 -O0 -g -pthread -DGP_TESTS -DFUZZ_STRENGTH=500 -DNO_BENCH=1 -pedantic \
  3. -fprofile-instr-generate -fcoverage-mapping -Wno-unknown-attributes \
  4. -fsanitize=address -fno-omit-frame-pointer
  5. all: tests
  6. tests: bin/tests
  7. LLVM_PROFILE_FILE="./bin/tests.profraw" ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer ./bin/tests
  8. @llvm-profdata merge -sparse ./bin/tests.profraw -o ./bin/tests.profdata
  9. @llvm-cov report ./bin/tests -instr-profile=./bin/tests.profdata include/*.hpp include/gp/*.hpp include/gp/algorithm/*.hpp include/gp/enveloppe/*.hpp include/gp/allocator/*.hpp
  10. @llvm-cov report ./bin/tests -instr-profile=./bin/tests.profdata include/*.hpp include/gp/*.hpp include/gp/algorithm/*.hpp include/gp/enveloppe/*.hpp include/gp/allocator/*.hpp | tail -n 1 | tr -s " " | sed -e 's/ /,/g' -- | awk -F "," '{print $$9}' | sed -e 's/^/Untested lines: /g'
  11. bin/tests: tests.cpp $(wildcard tests/*.cpp) $(wildcard include/*.hpp) ./tests/test_scaffold.h
  12. @mkdir -p $(@D)
  13. $(CXX) $(CXXFLAGS) -Itests -Iinclude tests.cpp -o $@
  14. clean: ./bin
  15. @rm -rf $<