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