1 AM_CPPFLAGS = -I $(top_srcdir)/include -I $(top_srcdir)
3 # May be used by toolexeclibdir.
4 gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
6 DEFS = -D_GNU_SOURCE -D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DCAN_SANITIZE_UB=0 -DHWASAN_WITH_INTERCEPTORS=1
7 AM_CXXFLAGS = -Wall -W -Wno-unused-parameter -Wwrite-strings -pedantic -Wno-long-long -fPIC -fno-builtin -fno-exceptions -fno-rtti -funwind-tables -fvisibility=hidden -Wno-variadic-macros -fno-ipa-icf
8 AM_CXXFLAGS += $(LIBSTDCXX_RAW_CXX_CXXFLAGS)
9 AM_CXXFLAGS += -std=gnu++14
10 AM_CXXFLAGS += $(EXTRA_CXXFLAGS)
11 AM_CCASFLAGS = $(EXTRA_ASFLAGS)
12 ACLOCAL_AMFLAGS = -I $(top_srcdir) -I $(top_srcdir)/config
14 toolexeclib_LTLIBRARIES = libhwasan.la
15 nodist_toolexeclib_HEADERS = libhwasan_preinit.o
18 hwasan_allocation_functions.cpp \
19 hwasan_allocator.cpp \
21 hwasan_dynamic_shadow.cpp \
22 hwasan_exceptions.cpp \
26 hwasan_interceptors.cpp \
27 hwasan_interceptors_vfork.S \
29 hwasan_memintrinsics.cpp \
30 hwasan_new_delete.cpp \
31 hwasan_poisoning.cpp \
33 hwasan_setjmp_aarch64.S \
34 hwasan_setjmp_x86_64.S \
35 hwasan_tag_mismatch_aarch64.S \
37 hwasan_thread_list.cpp \
40 libhwasan_la_SOURCES = $(hwasan_files)
41 libhwasan_la_LIBADD = $(top_builddir)/sanitizer_common/libsanitizer_common.la
42 if !USING_MAC_INTERPOSE
43 libhwasan_la_LIBADD += $(top_builddir)/interception/libinterception.la
45 if LIBBACKTRACE_SUPPORTED
46 libhwasan_la_LIBADD += $(top_builddir)/libbacktrace/libsanitizer_libbacktrace.la
48 libhwasan_la_LIBADD += $(LIBSTDCXX_RAW_CXX_LDFLAGS)
50 libhwasan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(link_libhwasan)
52 libhwasan_preinit.o: hwasan_preinit.o
55 # Work around what appears to be a GNU make bug handling MAKEFLAGS
56 # values defined in terms of make variables, as is the case for CC and
57 # friends when we are called from the top level Makefile.
59 "AR_FLAGS=$(AR_FLAGS)" \
60 "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
62 "CXXFLAGS=$(CXXFLAGS)" \
63 "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
64 "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
65 "INSTALL=$(INSTALL)" \
66 "INSTALL_DATA=$(INSTALL_DATA)" \
67 "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
68 "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
69 "JC1FLAGS=$(JC1FLAGS)" \
70 "LDFLAGS=$(LDFLAGS)" \
71 "LIBCFLAGS=$(LIBCFLAGS)" \
72 "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
74 "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
75 "PICFLAG=$(PICFLAG)" \
76 "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
78 "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
79 "exec_prefix=$(exec_prefix)" \
80 "infodir=$(infodir)" \
83 "includedir=$(includedir)" \
87 "LIBCFLAGS=$(LIBCFLAGS)" \
89 "PICFLAG=$(PICFLAG)" \
95 ## ################################################################