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