1 2 .include <bsd.own.mk> 3 4 .include "../Makefile.inc" 5 6 TSAN=${GCCDIST}/libsanitizer 7 .PATH: ${TSAN}/tsan ${TSAN}/interception ${TSAN}/sanitizer_common 8 9 TSAN_SRCS= \ 10 tsan_clock.cc \ 11 tsan_fd.cc \ 12 tsan_flags.cc \ 13 tsan_interceptors.cc \ 14 tsan_interface.cc \ 15 tsan_interface_ann.cc \ 16 tsan_interface_atomic.cc \ 17 tsan_interface_java.cc \ 18 tsan_md5.cc \ 19 tsan_mman.cc \ 20 tsan_mutex.cc \ 21 tsan_mutexset.cc \ 22 tsan_platform_linux.cc \ 23 tsan_platform_mac.cc \ 24 tsan_report.cc \ 25 tsan_rtl.cc \ 26 tsan_rtl_amd64.S \ 27 tsan_rtl_mutex.cc \ 28 tsan_rtl_report.cc \ 29 tsan_rtl_thread.cc \ 30 tsan_stat.cc \ 31 tsan_suppressions.cc \ 32 tsan_symbolize.cc \ 33 tsan_symbolize_addr2line_linux.cc \ 34 tsan_sync.cc 35 36 INTERCEPTION_SRCS= \ 37 interception_linux.cc \ 38 interception_type_test.cc 39 40 SANITIZER_SRCS= \ 41 sanitizer_allocator.cc \ 42 sanitizer_common.cc \ 43 sanitizer_flags.cc \ 44 sanitizer_libc.cc \ 45 sanitizer_netbsd.cc \ 46 sanitizer_mac.cc \ 47 sanitizer_posix.cc \ 48 sanitizer_platform_limits_posix.cc \ 49 sanitizer_printf.cc \ 50 sanitizer_stackdepot.cc \ 51 sanitizer_stacktrace.cc \ 52 sanitizer_symbolizer.cc \ 53 sanitizer_symbolizer_linux.cc \ 54 sanitizer_win.cc 55 56 # The linux build does this to avoid preinit sections on shared libraries 57 CSHLIBFLAGS+= -DPIC 58 59 LIB= asan 60 SRCS= ${TSAN_SRCS} ${INTERCEPTION_SRCS} ${SANITIZER_SRCS} 61 CPPFLAGS+=-I${TSAN}/include -I${TSAN} 62 63 LDADD+= -lstdc++ -lpthread 64 DPADD+= ${LIBSTDCXX} ${LIBPTHREAD} 65 66 .include <bsd.lib.mk> 67