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