1 AM_CPPFLAGS = -I $(top_srcdir)/include -I $(top_srcdir) 2 3 # May be used by toolexeclibdir. 4 gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) 5 6 DEFS = -D_GNU_SOURCE -D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DASAN_HAS_EXCEPTIONS=1 -DASAN_NEEDS_SEGV=1 -DCAN_SANITIZE_UB=0 -DASAN_HAS_CXA_RETHROW_PRIMARY_EXCEPTION=0 7 if USING_MAC_INTERPOSE 8 DEFS += -DMAC_INTERPOSE_FUNCTIONS -DMISSING_BLOCKS_SUPPORT 9 endif 10 AM_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 -fno-ipa-icf 11 AM_CXXFLAGS += $(LIBSTDCXX_RAW_CXX_CXXFLAGS) 12 AM_CXXFLAGS += -std=gnu++14 13 AM_CXXFLAGS += $(EXTRA_CXXFLAGS) 14 AM_CCASFLAGS = $(EXTRA_ASFLAGS) 15 ACLOCAL_AMFLAGS = -I $(top_srcdir) -I $(top_srcdir)/config 16 17 toolexeclib_LTLIBRARIES = libasan.la 18 nodist_toolexeclib_HEADERS = libasan_preinit.o 19 20 asan_files = \ 21 asan_activation.cpp \ 22 asan_allocator.cpp \ 23 asan_debugging.cpp \ 24 asan_descriptions.cpp \ 25 asan_errors.cpp \ 26 asan_fake_stack.cpp \ 27 asan_flags.cpp \ 28 asan_globals.cpp \ 29 asan_interceptors.cpp \ 30 asan_interceptors_memintrinsics.cpp \ 31 asan_linux.cpp \ 32 asan_mac.cpp \ 33 asan_malloc_linux.cpp \ 34 asan_malloc_mac.cpp \ 35 asan_malloc_win.cpp \ 36 asan_memory_profile.cpp \ 37 asan_new_delete.cpp \ 38 asan_poisoning.cpp \ 39 asan_posix.cpp \ 40 asan_premap_shadow.cpp \ 41 asan_report.cpp \ 42 asan_rtl.cpp \ 43 asan_shadow_setup.cpp \ 44 asan_stack.cpp \ 45 asan_stats.cpp \ 46 asan_suppressions.cpp \ 47 asan_thread.cpp \ 48 asan_win.cpp \ 49 asan_win_dll_thunk.cpp \ 50 asan_win_dynamic_runtime_thunk.cpp \ 51 asan_interceptors_vfork.S 52 53 libasan_la_SOURCES = $(asan_files) 54 libasan_la_LIBADD = $(top_builddir)/sanitizer_common/libsanitizer_common.la $(top_builddir)/lsan/libsanitizer_lsan.la 55 if !USING_MAC_INTERPOSE 56 libasan_la_LIBADD += $(top_builddir)/interception/libinterception.la 57 endif 58 if LIBBACKTRACE_SUPPORTED 59 libasan_la_LIBADD += $(top_builddir)/libbacktrace/libsanitizer_libbacktrace.la 60 endif 61 libasan_la_LIBADD += $(LIBSTDCXX_RAW_CXX_LDFLAGS) 62 63 libasan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(link_libasan) 64 65 libasan_preinit.o: asan_preinit.o 66 cp $< $@ 67 68 # Work around what appears to be a GNU make bug handling MAKEFLAGS 69 # values defined in terms of make variables, as is the case for CC and 70 # friends when we are called from the top level Makefile. 71 AM_MAKEFLAGS = \ 72 "AR_FLAGS=$(AR_FLAGS)" \ 73 "CC_FOR_BUILD=$(CC_FOR_BUILD)" \ 74 "CFLAGS=$(CFLAGS)" \ 75 "CXXFLAGS=$(CXXFLAGS)" \ 76 "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \ 77 "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \ 78 "INSTALL=$(INSTALL)" \ 79 "INSTALL_DATA=$(INSTALL_DATA)" \ 80 "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ 81 "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \ 82 "JC1FLAGS=$(JC1FLAGS)" \ 83 "LDFLAGS=$(LDFLAGS)" \ 84 "LIBCFLAGS=$(LIBCFLAGS)" \ 85 "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \ 86 "MAKE=$(MAKE)" \ 87 "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \ 88 "PICFLAG=$(PICFLAG)" \ 89 "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \ 90 "SHELL=$(SHELL)" \ 91 "RUNTESTFLAGS=$(RUNTESTFLAGS)" \ 92 "exec_prefix=$(exec_prefix)" \ 93 "infodir=$(infodir)" \ 94 "libdir=$(libdir)" \ 95 "prefix=$(prefix)" \ 96 "includedir=$(includedir)" \ 97 "AR=$(AR)" \ 98 "AS=$(AS)" \ 99 "LD=$(LD)" \ 100 "LIBCFLAGS=$(LIBCFLAGS)" \ 101 "NM=$(NM)" \ 102 "PICFLAG=$(PICFLAG)" \ 103 "RANLIB=$(RANLIB)" \ 104 "DESTDIR=$(DESTDIR)" 105 106 MAKEOVERRIDES= 107 108 ## ################################################################ 109 110