]>
Commit | Line | Data |
---|---|---|
eff02e4f | 1 | # Makefile.am -- Backtrace Makefile. |
cbe34bb5 | 2 | # Copyright (C) 2012-2017 Free Software Foundation, Inc. |
eff02e4f ILT |
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 | |
84ebf639 | 9 | # notice, this list of conditions and the following disclaimer. |
eff02e4f ILT |
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 | |
84ebf639 | 14 | # distribution. |
56195009 | 15 | |
eff02e4f ILT |
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 | ||
9425c00b | 34 | AM_CPPFLAGS = -I $(top_srcdir)/../include -I $(top_srcdir)/../libgcc \ |
c3de1960 | 35 | -I ../libgcc |
9425c00b | 36 | |
36a58fb3 | 37 | AM_CFLAGS = $(EXTRA_FLAGS) $(WARN_FLAGS) $(PIC_FLAG) |
eff02e4f ILT |
38 | |
39 | noinst_LTLIBRARIES = libbacktrace.la | |
40 | ||
41 | libbacktrace_la_SOURCES = \ | |
42 | backtrace.h \ | |
49579c7e | 43 | atomic.c \ |
eff02e4f ILT |
44 | dwarf.c \ |
45 | fileline.c \ | |
46 | internal.h \ | |
47 | posix.c \ | |
48 | print.c \ | |
c5604b48 | 49 | sort.c \ |
eff02e4f ILT |
50 | state.c |
51 | ||
52 | BACKTRACE_FILES = \ | |
53 | backtrace.c \ | |
54 | simple.c \ | |
55 | nounwind.c | |
56 | ||
57 | FORMAT_FILES = \ | |
58 | elf.c \ | |
e24afc10 | 59 | pecoff.c \ |
b3530b94 TR |
60 | unknown.c \ |
61 | xcoff.c | |
eff02e4f ILT |
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 | ||
d1609a23 | 93 | btest_SOURCES = btest.c testlib.c |
eff02e4f ILT |
94 | btest_CFLAGS = $(AM_CFLAGS) -g -O |
95 | btest_LDADD = libbacktrace.la | |
96 | ||
97 | check_PROGRAMS += btest | |
98 | ||
c5604b48 ILT |
99 | stest_SOURCES = stest.c |
100 | stest_LDADD = libbacktrace.la | |
101 | ||
102 | check_PROGRAMS += stest | |
103 | ||
8da872d9 ILT |
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 | |
8398c1df | 111 | ztest_LDADD += $(CLOCK_GETTIME_LINK) |
8da872d9 ILT |
112 | |
113 | check_PROGRAMS += ztest | |
114 | ||
d1609a23 | 115 | edtest_SOURCES = edtest.c edtest2_build.c testlib.c |
281161d1 TM |
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 | ||
d1609a23 ILT |
126 | if HAVE_PTHREAD |
127 | ||
128 | check_PROGRAMS += ttest | |
129 | ||
130 | ttest_SOURCES = ttest.c testlib.c | |
29788f90 | 131 | ttest_CFLAGS = $(AM_CFLAGS) -pthread |
d1609a23 ILT |
132 | ttest_LDADD = libbacktrace.la |
133 | ||
134 | endif HAVE_PTHREAD | |
135 | ||
9283471b ILT |
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 | ||
8da872d9 ILT |
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 | ||
eff02e4f | 162 | endif NATIVE |
af710874 ILT |
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 | |
fc002444 | 178 | backtrace.lo: config.h backtrace.h internal.h |
af710874 ILT |
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 | |
e24afc10 | 187 | pecoff.lo: config.h backtrace.h internal.h |
af710874 ILT |
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 | |
fc002444 ILT |
192 | sort.lo: config.h backtrace.h internal.h |
193 | stest.lo: config.h backtrace.h internal.h | |
af710874 ILT |
194 | state.lo: config.h backtrace.h backtrace-supported.h internal.h |
195 | unknown.lo: config.h backtrace.h internal.h | |
b3530b94 TR |
196 | xcoff.lo: config.h backtrace.h internal.h |
197 |