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