111
|
1 # Makefile.am -- Backtrace Makefile.
|
131
|
2 # Copyright (C) 2012-2018 Free Software Foundation, Inc.
|
111
|
3
|
|
4 # Redistribution and use in source and binary forms, with or without
|
|
5 # modification, are permitted provided that the following conditions are
|
|
6 # met:
|
|
7
|
|
8 # (1) Redistributions of source code must retain the above copyright
|
|
9 # notice, this list of conditions and the following disclaimer.
|
|
10
|
|
11 # (2) Redistributions in binary form must reproduce the above copyright
|
|
12 # notice, this list of conditions and the following disclaimer in
|
|
13 # the documentation and/or other materials provided with the
|
|
14 # distribution.
|
|
15
|
|
16 # (3) The name of the author may not be used to
|
|
17 # endorse or promote products derived from this software without
|
|
18 # specific prior written permission.
|
|
19
|
|
20 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
|
21 # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
22 # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
23 # DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
|
|
24 # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
25 # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
26 # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
27 # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
|
28 # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
|
29 # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
30 # POSSIBILITY OF SUCH DAMAGE.
|
|
31
|
|
32 ACLOCAL_AMFLAGS = -I .. -I ../config
|
|
33
|
|
34 AM_CPPFLAGS = -I $(top_srcdir)/../include -I $(top_srcdir)/../libgcc \
|
|
35 -I ../libgcc
|
|
36
|
|
37 AM_CFLAGS = $(EXTRA_FLAGS) $(WARN_FLAGS) $(PIC_FLAG)
|
|
38
|
|
39 noinst_LTLIBRARIES = libbacktrace.la
|
|
40
|
|
41 libbacktrace_la_SOURCES = \
|
|
42 backtrace.h \
|
|
43 atomic.c \
|
|
44 dwarf.c \
|
|
45 fileline.c \
|
|
46 internal.h \
|
|
47 posix.c \
|
|
48 print.c \
|
|
49 sort.c \
|
|
50 state.c
|
|
51
|
|
52 BACKTRACE_FILES = \
|
|
53 backtrace.c \
|
|
54 simple.c \
|
|
55 nounwind.c
|
|
56
|
|
57 FORMAT_FILES = \
|
|
58 elf.c \
|
|
59 pecoff.c \
|
|
60 unknown.c \
|
|
61 xcoff.c
|
|
62
|
|
63 VIEW_FILES = \
|
|
64 read.c \
|
|
65 mmapio.c
|
|
66
|
|
67 ALLOC_FILES = \
|
|
68 alloc.c \
|
|
69 mmap.c
|
|
70
|
|
71 EXTRA_libbacktrace_la_SOURCES = \
|
|
72 $(BACKTRACE_FILES) \
|
|
73 $(FORMAT_FILES) \
|
|
74 $(VIEW_FILES) \
|
|
75 $(ALLOC_FILES)
|
|
76
|
|
77 libbacktrace_la_LIBADD = \
|
|
78 $(BACKTRACE_FILE) \
|
|
79 $(FORMAT_FILE) \
|
|
80 $(VIEW_FILE) \
|
|
81 $(ALLOC_FILE)
|
|
82
|
|
83 libbacktrace_la_DEPENDENCIES = $(libbacktrace_la_LIBADD)
|
|
84
|
|
85 # Testsuite.
|
|
86
|
|
87 check_PROGRAMS =
|
|
88
|
|
89 TESTS = $(check_PROGRAMS)
|
|
90
|
|
91 if NATIVE
|
|
92
|
|
93 btest_SOURCES = btest.c testlib.c
|
|
94 btest_CFLAGS = $(AM_CFLAGS) -g -O
|
|
95 btest_LDADD = libbacktrace.la
|
|
96
|
|
97 check_PROGRAMS += btest
|
|
98
|
|
99 stest_SOURCES = stest.c
|
|
100 stest_LDADD = libbacktrace.la
|
|
101
|
|
102 check_PROGRAMS += stest
|
|
103
|
|
104 ztest_SOURCES = ztest.c testlib.c
|
|
105 ztest_CFLAGS = -DSRCDIR=\"$(srcdir)\"
|
|
106 ztest_LDADD = libbacktrace.la
|
|
107
|
|
108 if HAVE_ZLIB
|
|
109 ztest_LDADD += -lz
|
|
110 endif
|
|
111 ztest_LDADD += $(CLOCK_GETTIME_LINK)
|
|
112
|
|
113 check_PROGRAMS += ztest
|
|
114
|
|
115 edtest_SOURCES = edtest.c edtest2_build.c testlib.c
|
|
116 edtest_LDADD = libbacktrace.la
|
|
117
|
|
118 check_PROGRAMS += edtest
|
|
119
|
|
120 edtest2_build.c: gen_edtest2_build; @true
|
|
121 gen_edtest2_build: $(srcdir)/edtest2.c
|
|
122 cat $(srcdir)/edtest2.c > tmp-edtest2_build.c
|
|
123 $(SHELL) $(srcdir)/../move-if-change tmp-edtest2_build.c edtest2_build.c
|
|
124 echo timestamp > $@
|
|
125
|
|
126 if HAVE_PTHREAD
|
|
127
|
|
128 check_PROGRAMS += ttest
|
|
129
|
|
130 ttest_SOURCES = ttest.c testlib.c
|
|
131 ttest_CFLAGS = $(AM_CFLAGS) -pthread
|
|
132 ttest_LDADD = libbacktrace.la
|
|
133
|
|
134 endif HAVE_PTHREAD
|
|
135
|
|
136 if HAVE_OBJCOPY_DEBUGLINK
|
|
137
|
|
138 TESTS += dtest
|
|
139
|
|
140 dtest: btest
|
|
141 $(OBJCOPY) --only-keep-debug btest btest.debug
|
|
142 $(OBJCOPY) --strip-debug --add-gnu-debuglink=btest.debug btest dtest
|
|
143
|
|
144 endif HAVE_OBJCOPY_DEBUGLINK
|
|
145
|
|
146 if HAVE_COMPRESSED_DEBUG
|
|
147
|
|
148 ctestg_SOURCES = btest.c testlib.c
|
|
149 ctestg_CFLAGS = $(AM_CFLAGS) -g
|
|
150 ctestg_LDFLAGS = -Wl,--compress-debug-sections=zlib-gnu
|
|
151 ctestg_LDADD = libbacktrace.la
|
|
152
|
|
153 ctesta_SOURCES = btest.c testlib.c
|
|
154 ctesta_CFLAGS = $(AM_CFLAGS) -g
|
|
155 ctesta_LDFLAGS = -Wl,--compress-debug-sections=zlib-gabi
|
|
156 ctesta_LDADD = libbacktrace.la
|
|
157
|
|
158 check_PROGRAMS += ctestg ctesta
|
|
159
|
|
160 endif
|
|
161
|
|
162 endif NATIVE
|
|
163
|
|
164 # We can't use automake's automatic dependency tracking, because it
|
|
165 # breaks when using bootstrap-lean. Automatic dependency tracking
|
|
166 # with GCC bootstrap will cause some of the objects to depend on
|
|
167 # header files in prev-gcc/include, e.g., stddef.h and stdarg.h. When
|
|
168 # using bootstrap-lean, prev-gcc is removed after each stage. When
|
|
169 # running "make install", those header files will be gone, causing the
|
|
170 # library to be rebuilt at install time. That may not succeed.
|
|
171
|
|
172 # These manual dependencies do not include dependencies on unwind.h,
|
|
173 # even though that is part of GCC, because where to find it depends on
|
|
174 # whether we are being built as a host library or a target library.
|
|
175
|
|
176 INCDIR = $(top_srcdir)/../include
|
|
177 alloc.lo: config.h backtrace.h internal.h
|
|
178 backtrace.lo: config.h backtrace.h internal.h
|
|
179 btest.lo: (INCDIR)/filenames.h backtrace.h backtrace-supported.h
|
|
180 dwarf.lo: config.h $(INCDIR)/dwarf2.h $(INCDIR)/dwarf2.def \
|
|
181 $(INCDIR)/filenames.h backtrace.h internal.h
|
|
182 elf.lo: config.h backtrace.h internal.h
|
|
183 fileline.lo: config.h backtrace.h internal.h
|
|
184 mmap.lo: config.h backtrace.h internal.h
|
|
185 mmapio.lo: config.h backtrace.h internal.h
|
|
186 nounwind.lo: config.h internal.h
|
|
187 pecoff.lo: config.h backtrace.h internal.h
|
|
188 posix.lo: config.h backtrace.h internal.h
|
|
189 print.lo: config.h backtrace.h internal.h
|
|
190 read.lo: config.h backtrace.h internal.h
|
|
191 simple.lo: config.h backtrace.h internal.h
|
|
192 sort.lo: config.h backtrace.h internal.h
|
|
193 stest.lo: config.h backtrace.h internal.h
|
|
194 state.lo: config.h backtrace.h backtrace-supported.h internal.h
|
|
195 unknown.lo: config.h backtrace.h internal.h
|
|
196 xcoff.lo: config.h backtrace.h internal.h
|
|
197
|