Makefile.am revision 1.4
1# Makefile.am -- Backtrace Makefile.
2# Copyright (C) 2012-2016 Free Software Foundation, Inc.
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
32ACLOCAL_AMFLAGS = -I .. -I ../config
33
34AM_CPPFLAGS = -I $(top_srcdir)/../include -I $(top_srcdir)/../libgcc \
35	-I ../libgcc
36
37AM_CFLAGS = $(EXTRA_FLAGS) $(WARN_FLAGS) $(PIC_FLAG)
38
39noinst_LTLIBRARIES = libbacktrace.la
40
41libbacktrace_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
52BACKTRACE_FILES = \
53	backtrace.c \
54	simple.c \
55	nounwind.c
56
57FORMAT_FILES = \
58	elf.c \
59	pecoff.c \
60	unknown.c
61
62VIEW_FILES = \
63	read.c \
64	mmapio.c
65
66ALLOC_FILES = \
67	alloc.c \
68	mmap.c
69
70EXTRA_libbacktrace_la_SOURCES = \
71	$(BACKTRACE_FILES) \
72	$(FORMAT_FILES) \
73	$(VIEW_FILES) \
74	$(ALLOC_FILES)
75
76libbacktrace_la_LIBADD = \
77	$(BACKTRACE_FILE) \
78	$(FORMAT_FILE) \
79	$(VIEW_FILE) \
80	$(ALLOC_FILE)
81
82libbacktrace_la_DEPENDENCIES = $(libbacktrace_la_LIBADD)
83
84# Testsuite.
85
86check_PROGRAMS =
87
88TESTS = $(check_PROGRAMS)
89
90if NATIVE
91
92btest_SOURCES = btest.c
93btest_CFLAGS = $(AM_CFLAGS) -g -O
94btest_LDADD = libbacktrace.la
95
96check_PROGRAMS += btest
97
98stest_SOURCES = stest.c
99stest_LDADD = libbacktrace.la
100
101check_PROGRAMS += stest
102
103endif NATIVE
104
105# We can't use automake's automatic dependency tracking, because it
106# breaks when using bootstrap-lean.  Automatic dependency tracking
107# with GCC bootstrap will cause some of the objects to depend on
108# header files in prev-gcc/include, e.g., stddef.h and stdarg.h.  When
109# using bootstrap-lean, prev-gcc is removed after each stage.  When
110# running "make install", those header files will be gone, causing the
111# library to be rebuilt at install time.  That may not succeed.
112
113# These manual dependencies do not include dependencies on unwind.h,
114# even though that is part of GCC, because where to find it depends on
115# whether we are being built as a host library or a target library.
116
117INCDIR = $(top_srcdir)/../include
118alloc.lo: config.h backtrace.h internal.h
119backtrace.lo: config.h backtrace.h internal.h
120btest.lo: (INCDIR)/filenames.h backtrace.h backtrace-supported.h
121dwarf.lo: config.h $(INCDIR)/dwarf2.h $(INCDIR)/dwarf2.def \
122	$(INCDIR)/filenames.h backtrace.h internal.h
123elf.lo: config.h backtrace.h internal.h
124fileline.lo: config.h backtrace.h internal.h
125mmap.lo: config.h backtrace.h internal.h
126mmapio.lo: config.h backtrace.h internal.h
127nounwind.lo: config.h internal.h
128pecoff.lo: config.h backtrace.h internal.h
129posix.lo: config.h backtrace.h internal.h
130print.lo: config.h backtrace.h internal.h
131read.lo: config.h backtrace.h internal.h
132simple.lo: config.h backtrace.h internal.h
133sort.lo: config.h backtrace.h internal.h
134stest.lo: config.h backtrace.h internal.h
135state.lo: config.h backtrace.h backtrace-supported.h internal.h
136unknown.lo: config.h backtrace.h internal.h
137