diff --git a/Makefile b/Makefile index b63337ee4645200f47d4df52aa414e9d01e82083..07ee51e9b5f7834e6fef7ee15713a6307ee1e187 100644 --- a/Makefile +++ b/Makefile @@ -35,33 +35,20 @@ debug: $(MAKE) build BUILDTYPE=$@ define sanitizer -.PHONY: sanitizer-$1 -sanitizer-$1: export CC = clang -sanitizer-$1: export CXX = clang++ -sanitizer-$1: - rm -f build - $(MAKE) build BUILDTYPE=debug BUILDDIR=$@ \ - EMPER_B_SANITIZE=$1 EMPER_B_LUNDEF=false +rm -rf build +$(MAKE) build \ + BUILDDIR=build-$@ \ + CC=clang CXX=clang++ \ + EMPER_B_SANITIZE=$(subst sanitize-,,$@) EMPER_B_LUNDEF=false endef -$(sanitizer) memory -$(sanitizer) address - -.PHONY: debug-msan -debug-msan: export CC = clang -debug-msan: export CXX = clang++ -debug-msan: - rm -f build - $(MAKE) build BUILDTYPE=debug BUILDDIR=$@ \ - EMPER_B_SANITIZE=memory EMPER_B_LUNDEF=false +PHONY: sanitize-memory +sanitize-memory: + $(sanitizer) -.PHONY: debug-asan -debug-asan: export CC = clang -debug-asan: export CXX = clang++ -debug-asan: - rm -f build - $(MAKE) build BUILDTYPE=debug BUILDDIR=$@ \ - EMPER_B_SANITIZE=address EMPER_B_LUNDEF=false +PHONY: sanitize-address +sanitize-address: + $(sanitizer) .PHONY: fast-static-analysis fast-static-analysis: all check-format check-license doc