1AM_CPPFLAGS = -I $(top_srcdir) -I $(top_srcdir)/include 2 3# May be used by toolexeclibdir. 4gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) 5 6DEFS = -D_GNU_SOURCE -D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DCAN_SANITIZE_UB=0 7AM_CXXFLAGS = -Wall -W -Wno-unused-parameter -Wwrite-strings -pedantic -Wno-long-long -fPIC -fno-builtin -fno-exceptions -fno-rtti -fomit-frame-pointer -funwind-tables -fvisibility=hidden -Wno-variadic-macros 8AM_CXXFLAGS += $(LIBSTDCXX_RAW_CXX_CXXFLAGS) 9AM_CXXFLAGS += -std=gnu++11 10AM_CXXFLAGS += $(EXTRA_CXXFLAGS) 11ACLOCAL_AMFLAGS = -I m4 12 13toolexeclib_LTLIBRARIES = libtsan.la 14nodist_toolexeclib_HEADERS = libtsan_preinit.o 15 16tsan_files = \ 17 tsan_clock.cc \ 18 tsan_debugging.cc \ 19 tsan_external.cc \ 20 tsan_fd.cc \ 21 tsan_flags.cc \ 22 tsan_ignoreset.cc \ 23 tsan_interceptors.cc \ 24 tsan_interceptors_mac.cc \ 25 tsan_interface_ann.cc \ 26 tsan_interface_atomic.cc \ 27 tsan_interface.cc \ 28 tsan_interface_java.cc \ 29 tsan_libdispatch_mac.cc \ 30 tsan_malloc_mac.cc \ 31 tsan_md5.cc \ 32 tsan_mman.cc \ 33 tsan_mutex.cc \ 34 tsan_mutexset.cc \ 35 tsan_new_delete.cc \ 36 tsan_platform_linux.cc \ 37 tsan_platform_mac.cc \ 38 tsan_platform_posix.cc \ 39 tsan_platform_windows.cc \ 40 tsan_report.cc \ 41 tsan_rtl.cc \ 42 tsan_rtl_mutex.cc \ 43 tsan_rtl_proc.cc \ 44 tsan_rtl_report.cc \ 45 tsan_rtl_thread.cc \ 46 tsan_stack_trace.cc \ 47 tsan_stat.cc \ 48 tsan_suppressions.cc \ 49 tsan_symbolize.cc \ 50 tsan_sync.cc 51 52libtsan_la_SOURCES = $(tsan_files) 53EXTRA_libtsan_la_SOURCES = tsan_rtl_amd64.S tsan_rtl_aarch64.S tsan_rtl_mips64.S tsan_rtl_ppc64.S 54libtsan_la_LIBADD = $(top_builddir)/sanitizer_common/libsanitizer_common.la $(top_builddir)/interception/libinterception.la $(TSAN_TARGET_DEPENDENT_OBJECTS) 55libtsan_la_DEPENDENCIES = $(top_builddir)/sanitizer_common/libsanitizer_common.la $(top_builddir)/interception/libinterception.la $(TSAN_TARGET_DEPENDENT_OBJECTS) 56if LIBBACKTRACE_SUPPORTED 57libtsan_la_LIBADD += $(top_builddir)/libbacktrace/libsanitizer_libbacktrace.la 58libtsan_la_DEPENDENCIES +=$(top_builddir)/libbacktrace/libsanitizer_libbacktrace.la 59endif 60libtsan_la_LIBADD += $(LIBSTDCXX_RAW_CXX_LDFLAGS) 61libtsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(link_libtsan) 62 63libtsan_preinit.o: tsan_preinit.o 64 cp $< $@ 65 66# Work around what appears to be a GNU make bug handling MAKEFLAGS 67# values defined in terms of make variables, as is the case for CC and 68# friends when we are called from the top level Makefile. 69AM_MAKEFLAGS = \ 70 "AR_FLAGS=$(AR_FLAGS)" \ 71 "CC_FOR_BUILD=$(CC_FOR_BUILD)" \ 72 "CFLAGS=$(CFLAGS)" \ 73 "CXXFLAGS=$(CXXFLAGS)" \ 74 "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \ 75 "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \ 76 "INSTALL=$(INSTALL)" \ 77 "INSTALL_DATA=$(INSTALL_DATA)" \ 78 "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ 79 "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \ 80 "JC1FLAGS=$(JC1FLAGS)" \ 81 "LDFLAGS=$(LDFLAGS)" \ 82 "LIBCFLAGS=$(LIBCFLAGS)" \ 83 "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \ 84 "MAKE=$(MAKE)" \ 85 "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \ 86 "PICFLAG=$(PICFLAG)" \ 87 "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \ 88 "SHELL=$(SHELL)" \ 89 "RUNTESTFLAGS=$(RUNTESTFLAGS)" \ 90 "exec_prefix=$(exec_prefix)" \ 91 "infodir=$(infodir)" \ 92 "libdir=$(libdir)" \ 93 "prefix=$(prefix)" \ 94 "includedir=$(includedir)" \ 95 "AR=$(AR)" \ 96 "AS=$(AS)" \ 97 "LD=$(LD)" \ 98 "LIBCFLAGS=$(LIBCFLAGS)" \ 99 "NM=$(NM)" \ 100 "PICFLAG=$(PICFLAG)" \ 101 "RANLIB=$(RANLIB)" \ 102 "DESTDIR=$(DESTDIR)" 103 104MAKEOVERRIDES= 105 106## ################################################################ 107 108