Home | History | Annotate | Line # | Download | only in libbacktrace
      1 # Makefile.am -- Backtrace Makefile.
      2 # Copyright (C) 2012-2022 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 
     32 ACLOCAL_AMFLAGS = -I .. -I ../config
     33 
     34 AM_CPPFLAGS = -I $(top_srcdir)/../include -I $(top_srcdir)/../libgcc \
     35 	-I ../libgcc
     36 
     37 AM_CFLAGS = $(EXTRA_FLAGS) $(WARN_FLAGS) $(PIC_FLAG) $(CET_HOST_FLAGS)
     38 
     39 noinst_LTLIBRARIES = libbacktrace.la
     40 
     41 libbacktrace_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 
     52 BACKTRACE_FILES = \
     53 	backtrace.c \
     54 	simple.c \
     55 	nounwind.c
     56 
     57 FORMAT_FILES = \
     58 	elf.c \
     59 	macho.c \
     60 	pecoff.c \
     61 	unknown.c \
     62 	xcoff.c
     63 
     64 VIEW_FILES = \
     65 	read.c \
     66 	mmapio.c
     67 
     68 ALLOC_FILES = \
     69 	alloc.c \
     70 	mmap.c
     71 
     72 EXTRA_libbacktrace_la_SOURCES = \
     73 	$(BACKTRACE_FILES) \
     74 	$(FORMAT_FILES) \
     75 	$(VIEW_FILES) \
     76 	$(ALLOC_FILES)
     77 
     78 libbacktrace_la_LIBADD = \
     79 	$(BACKTRACE_FILE) \
     80 	$(FORMAT_FILE) \
     81 	$(VIEW_FILE) \
     82 	$(ALLOC_FILE)
     83 
     84 libbacktrace_la_DEPENDENCIES = $(libbacktrace_la_LIBADD)
     85 
     86 # Testsuite.
     87 
     88 # Add a test to this variable if you want it to be built.
     89 check_PROGRAMS =
     90 
     91 # Add a test to this variable if you want it to be run.
     92 TESTS =
     93 
     94 # Add a test to this variable if you want it to be built and run.
     95 BUILDTESTS =
     96 
     97 # Add a file to this variable if you want it to be built for testing.
     98 check_DATA =
     99 
    100 # Flags to use when compiling test programs.
    101 libbacktrace_TEST_CFLAGS = $(EXTRA_FLAGS) $(WARN_FLAGS) -g
    102 
    103 if USE_DSYMUTIL
    104 
    105 %.dSYM: %
    106 	$(DSYMUTIL) $<
    107 
    108 endif USE_DSYMUTIL
    109 
    110 if NATIVE
    111 check_LTLIBRARIES = libbacktrace_alloc.la
    112 
    113 libbacktrace_alloc_la_SOURCES = $(libbacktrace_la_SOURCES)
    114 libbacktrace_alloc_la_LIBADD = $(BACKTRACE_FILE) $(FORMAT_FILE) read.lo alloc.lo
    115 
    116 libbacktrace_alloc_la_DEPENDENCIES = $(libbacktrace_alloc_la_LIBADD)
    117 
    118 check_LTLIBRARIES += libbacktrace_noformat.la
    119 
    120 libbacktrace_noformat_la_SOURCES = $(libbacktrace_la_SOURCES)
    121 libbacktrace_noformat_la_LIBADD = $(BACKTRACE_FILE) $(VIEW_FILE) $(ALLOC_FILE)
    122 
    123 libbacktrace_noformat_la_DEPENDENCIES = $(libbacktrace_noformat_la_LIBADD)
    124 
    125 if HAVE_ELF
    126 if HAVE_OBJCOPY_DEBUGLINK
    127 
    128 TEST_BUILD_ID_DIR=$(abs_builddir)/usr/lib/debug/.build-id/
    129 
    130 check_LTLIBRARIES += libbacktrace_elf_for_test.la
    131 
    132 libbacktrace_elf_for_test_la_SOURCES = $(libbacktrace_la_SOURCES)
    133 libbacktrace_elf_for_test_la_LIBADD = $(BACKTRACE_FILE) elf_for_test.lo \
    134 	$(VIEW_FILE) $(ALLOC_FILE)
    135 
    136 elf_for_test.c: elf.c
    137 	SEARCH='^#define SYSTEM_BUILD_ID_DIR.*$$'; \
    138 	REPLACE="#define SYSTEM_BUILD_ID_DIR \"$(TEST_BUILD_ID_DIR)\""; \
    139 	$(SED) "s%$$SEARCH%$$REPLACE%" \
    140 		$< \
    141 		> $@.tmp
    142 	mv $@.tmp $@
    143 
    144 endif HAVE_OBJCOPY_DEBUGLINK
    145 endif HAVE_ELF
    146 
    147 elf_%.c: elf.c
    148 	nlinit=`echo 'nl="'; echo '"'`; eval "$$nlinit"; \
    149 	SEARCH='#error "Unknown BACKTRACE_ELF_SIZE"'; \
    150 	REPLACE="#undef BACKTRACE_ELF_SIZE\\$${nl}#define BACKTRACE_ELF_SIZE"; \
    151 	$(SED) "s/^$$SEARCH\$$/$$REPLACE $*/" \
    152 		$< \
    153 		> $@.tmp
    154 	mv $@.tmp $@
    155 
    156 xcoff_%.c: xcoff.c
    157 	nlinit=`echo 'nl="'; echo '"'`; eval "$$nlinit"; \
    158 	SEARCH='#error "Unknown BACKTRACE_XCOFF_SIZE"'; \
    159 	REPLACE="#undef BACKTRACE_XCOFF_SIZE\\$${nl}#define BACKTRACE_XCOFF_SIZE"; \
    160 	$(SED) "s/^$$SEARCH\$$/$$REPLACE $*/" \
    161 		$< \
    162 		> $@.tmp
    163 	mv $@.tmp $@
    164 
    165 test_elf_32_SOURCES = test_format.c testlib.c
    166 test_elf_32_CFLAGS = $(libbacktrace_TEST_CFLAGS)
    167 test_elf_32_LDADD = libbacktrace_noformat.la elf_32.lo
    168 
    169 BUILDTESTS += test_elf_32
    170 
    171 test_elf_64_SOURCES = test_format.c testlib.c
    172 test_elf_64_CFLAGS = $(libbacktrace_TEST_CFLAGS)
    173 test_elf_64_LDADD = libbacktrace_noformat.la elf_64.lo
    174 
    175 BUILDTESTS += test_elf_64
    176 
    177 test_macho_SOURCES = test_format.c testlib.c
    178 test_macho_CFLAGS = $(libbacktrace_TEST_CFLAGS)
    179 test_macho_LDADD = libbacktrace_noformat.la macho.lo
    180 
    181 BUILDTESTS += test_macho
    182 
    183 test_xcoff_32_SOURCES = test_format.c testlib.c
    184 test_xcoff_32_CFLAGS = $(libbacktrace_TEST_CFLAGS)
    185 test_xcoff_32_LDADD = libbacktrace_noformat.la xcoff_32.lo
    186 
    187 BUILDTESTS += test_xcoff_32
    188 
    189 test_xcoff_64_SOURCES = test_format.c testlib.c
    190 test_xcoff_64_CFLAGS = $(libbacktrace_TEST_CFLAGS)
    191 test_xcoff_64_LDADD = libbacktrace_noformat.la xcoff_64.lo
    192 
    193 BUILDTESTS += test_xcoff_64
    194 
    195 test_pecoff_SOURCES = test_format.c testlib.c
    196 test_pecoff_CFLAGS = $(libbacktrace_TEST_CFLAGS)
    197 test_pecoff_LDADD = libbacktrace_noformat.la pecoff.lo
    198 
    199 BUILDTESTS += test_pecoff
    200 
    201 test_unknown_SOURCES = test_format.c testlib.c
    202 test_unknown_CFLAGS = $(libbacktrace_TEST_CFLAGS)
    203 test_unknown_LDADD = libbacktrace_noformat.la unknown.lo
    204 
    205 BUILDTESTS += test_unknown
    206 
    207 unittest_SOURCES = unittest.c testlib.c
    208 unittest_CFLAGS = $(libbacktrace_TEST_CFLAGS)
    209 unittest_LDADD = libbacktrace.la
    210 
    211 BUILDTESTS += unittest
    212 
    213 unittest_alloc_SOURCES = $(unittest_SOURCES)
    214 unittest_alloc_CFLAGS = $(libbacktrace_TEST_CFLAGS)
    215 unittest_alloc_LDADD = libbacktrace_alloc.la
    216 
    217 BUILDTESTS += unittest_alloc
    218 
    219 check_LTLIBRARIES += libbacktrace_instrumented_alloc.la
    220 
    221 libbacktrace_instrumented_alloc_la_SOURCES = $(libbacktrace_la_SOURCES)
    222 libbacktrace_instrumented_alloc_la_LIBADD = $(BACKTRACE_FILE) $(FORMAT_FILE) \
    223 	read.lo instrumented_alloc.lo
    224 
    225 libbacktrace_instrumented_alloc_la_DEPENDENCIES = \
    226 	$(libbacktrace_instrumented_alloc_la_LIBADD)
    227 
    228 instrumented_alloc.lo: alloc.c
    229 
    230 allocfail_SOURCES = allocfail.c testlib.c
    231 allocfail_CFLAGS = $(libbacktrace_TEST_CFLAGS)
    232 allocfail_LDADD = libbacktrace_instrumented_alloc.la
    233 
    234 check_PROGRAMS += allocfail
    235 
    236 allocfail.sh: allocfail
    237 
    238 TESTS += allocfail.sh
    239 
    240 if USE_DSYMUTIL
    241 check_DATA += allocfail.dSYM
    242 endif USE_DSYMUTIL
    243 
    244 if HAVE_ELF
    245 if HAVE_OBJCOPY_DEBUGLINK
    246 
    247 b2test_SOURCES = $(btest_SOURCES)
    248 b2test_CFLAGS = $(libbacktrace_TEST_CFLAGS)
    249 b2test_LDFLAGS = -Wl,--build-id
    250 b2test_LDADD = libbacktrace_elf_for_test.la
    251 
    252 check_PROGRAMS += b2test
    253 TESTS += b2test_buildid
    254 
    255 if HAVE_DWZ
    256 
    257 b3test_SOURCES = $(btest_SOURCES)
    258 b3test_CFLAGS = $(libbacktrace_TEST_CFLAGS)
    259 b3test_LDFLAGS = -Wl,--build-id
    260 b3test_LDADD = libbacktrace_elf_for_test.la
    261 
    262 check_PROGRAMS += b3test
    263 TESTS += b3test_dwz_buildid
    264 
    265 endif HAVE_DWZ
    266 
    267 endif HAVE_OBJCOPY_DEBUGLINK
    268 endif HAVE_ELF
    269 
    270 btest_SOURCES = btest.c testlib.c
    271 btest_CFLAGS = $(libbacktrace_TEST_CFLAGS) -O
    272 btest_LDADD = libbacktrace.la
    273 
    274 BUILDTESTS += btest
    275 
    276 if USE_DSYMUTIL
    277 check_DATA += btest.dSYM
    278 endif USE_DSYMUTIL
    279 
    280 if HAVE_ELF
    281 
    282 btest_lto_SOURCES = btest.c testlib.c
    283 btest_lto_CFLAGS = $(libbacktrace_TEST_CFLAGS) -O -flto
    284 btest_lto_LDADD = libbacktrace.la
    285 
    286 BUILDTESTS += btest_lto
    287 
    288 endif HAVE_ELF
    289 
    290 btest_alloc_SOURCES = $(btest_SOURCES)
    291 btest_alloc_CFLAGS = $(libbacktrace_TEST_CFLAGS)
    292 btest_alloc_LDADD = libbacktrace_alloc.la
    293 
    294 BUILDTESTS += btest_alloc
    295 
    296 if USE_DSYMUTIL
    297 check_DATA += btest_alloc.dSYM
    298 endif USE_DSYMUTIL
    299 
    300 if HAVE_DWZ
    301 
    302 %_dwz: %
    303 	rm -f $@ $@_common.debug
    304 	cp $< $@_1
    305 	cp $< $@_2
    306 	if $(DWZ) -m $@_common.debug $@_1 $@_2; then \
    307 	  rm -f $@_2; \
    308 	  mv $@_1 $@; \
    309 	else \
    310 	  echo "Ignoring dwz errors, assuming that test passes"; \
    311 	  cp $< $@; \
    312 	fi
    313 
    314 TESTS += btest_dwz
    315 
    316 if HAVE_OBJCOPY_DEBUGLINK
    317 
    318 TESTS += btest_dwz_gnudebuglink
    319 
    320 endif HAVE_OBJCOPY_DEBUGLINK
    321 
    322 endif HAVE_DWZ
    323 
    324 stest_SOURCES = stest.c
    325 stest_CFLAGS = $(libbacktrace_TEST_CFLAGS)
    326 stest_LDADD = libbacktrace.la
    327 
    328 BUILDTESTS += stest
    329 
    330 if USE_DSYMUTIL
    331 check_DATA += stest.dSYM
    332 endif USE_DSYMUTIL
    333 
    334 stest_alloc_SOURCES = $(stest_SOURCES)
    335 stest_alloc_CFLAGS = $(libbacktrace_TEST_CFLAGS)
    336 stest_alloc_LDADD = libbacktrace_alloc.la
    337 
    338 BUILDTESTS += stest_alloc
    339 
    340 if USE_DSYMUTIL
    341 check_DATA += stest_alloc.dSYM
    342 endif USE_DSYMUTIL
    343 
    344 if HAVE_ELF
    345 
    346 ztest_SOURCES = ztest.c testlib.c
    347 ztest_CFLAGS = $(libbacktrace_TEST_CFLAGS) -DSRCDIR=\"$(srcdir)\"
    348 ztest_LDADD = libbacktrace.la
    349 ztest_alloc_LDADD = libbacktrace_alloc.la
    350 
    351 if HAVE_ZLIB
    352 ztest_LDADD += -lz
    353 ztest_alloc_LDADD += -lz
    354 endif
    355 ztest_LDADD += $(CLOCK_GETTIME_LINK)
    356 ztest_alloc_LDADD += $(CLOCK_GETTIME_LINK)
    357 
    358 BUILDTESTS += ztest
    359 
    360 ztest_alloc_SOURCES = $(ztest_SOURCES)
    361 ztest_alloc_CFLAGS = $(ztest_CFLAGS)
    362 
    363 BUILDTESTS += ztest_alloc
    364 
    365 endif HAVE_ELF
    366 
    367 edtest_SOURCES = edtest.c edtest2_build.c testlib.c
    368 edtest_CFLAGS = $(libbacktrace_TEST_CFLAGS)
    369 edtest_LDADD = libbacktrace.la
    370 
    371 BUILDTESTS += edtest
    372 
    373 if USE_DSYMUTIL
    374 check_DATA += edtest.dSYM
    375 endif USE_DSYMUTIL
    376 
    377 edtest_alloc_SOURCES = $(edtest_SOURCES)
    378 edtest_alloc_CFLAGS = $(libbacktrace_TEST_CFLAGS)
    379 edtest_alloc_LDADD = libbacktrace_alloc.la
    380 
    381 if USE_DSYMUTIL
    382 check_DATA += edtest_alloc.dSYM
    383 endif USE_DSYMUTIL
    384 
    385 BUILDTESTS += edtest_alloc
    386 
    387 edtest2_build.c: gen_edtest2_build; @true
    388 gen_edtest2_build: $(srcdir)/edtest2.c
    389 	cat $(srcdir)/edtest2.c > tmp-edtest2_build.c
    390 	$(SHELL) $(srcdir)/../move-if-change tmp-edtest2_build.c edtest2_build.c
    391 	echo timestamp > $@
    392 
    393 if HAVE_PTHREAD
    394 
    395 BUILDTESTS += ttest
    396 
    397 ttest_SOURCES = ttest.c testlib.c
    398 ttest_CFLAGS = $(libbacktrace_TEST_CFLAGS) -pthread
    399 ttest_LDADD = libbacktrace.la
    400 
    401 if USE_DSYMUTIL
    402 check_DATA += ttest.dSYM
    403 endif USE_DSYMUTIL
    404 
    405 BUILDTESTS += ttest_alloc
    406 
    407 ttest_alloc_SOURCES = $(ttest_SOURCES)
    408 ttest_alloc_CFLAGS = $(ttest_CFLAGS)
    409 ttest_alloc_LDADD = libbacktrace_alloc.la
    410 
    411 if USE_DSYMUTIL
    412 check_DATA += ttest_alloc.dSYM
    413 endif USE_DSYMUTIL
    414 
    415 endif HAVE_PTHREAD
    416 
    417 if HAVE_OBJCOPY_DEBUGLINK
    418 
    419 TESTS += btest_gnudebuglink
    420 
    421 %_gnudebuglink: %
    422 	$(OBJCOPY) --only-keep-debug $< $@.debug
    423 	$(OBJCOPY) --strip-debug --add-gnu-debuglink=$@.debug $< $@
    424 
    425 endif HAVE_OBJCOPY_DEBUGLINK
    426 
    427 %_buildid: %
    428 	./install-debuginfo-for-buildid.sh \
    429 	  "$(TEST_BUILD_ID_DIR)" \
    430 	  $<
    431 	$(OBJCOPY) --strip-debug $< $@
    432 
    433 if HAVE_COMPRESSED_DEBUG
    434 
    435 ctestg_SOURCES = btest.c testlib.c
    436 ctestg_CFLAGS = $(libbacktrace_TEST_CFLAGS)
    437 ctestg_LDFLAGS = -Wl,--compress-debug-sections=zlib-gnu
    438 ctestg_LDADD = libbacktrace.la
    439 
    440 ctesta_SOURCES = btest.c testlib.c
    441 ctesta_CFLAGS = $(libbacktrace_TEST_CFLAGS)
    442 ctesta_LDFLAGS = -Wl,--compress-debug-sections=zlib-gabi
    443 ctesta_LDADD = libbacktrace.la
    444 
    445 BUILDTESTS += ctestg ctesta
    446 
    447 ctestg_alloc_SOURCES = $(ctestg_SOURCES)
    448 ctestg_alloc_CFLAGS = $(ctestg_CFLAGS)
    449 ctestg_alloc_LDFLAGS = $(ctestg_LDFLAGS)
    450 ctestg_alloc_LDADD = libbacktrace_alloc.la
    451 
    452 ctesta_alloc_SOURCES = $(ctesta_SOURCES)
    453 ctesta_alloc_CFLAGS = $(ctesta_CFLAGS)
    454 ctesta_alloc_LDFLAGS = $(ctesta_LDFLAGS)
    455 ctesta_alloc_LDADD = libbacktrace_alloc.la
    456 
    457 BUILDTESTS += ctestg_alloc ctesta_alloc
    458 
    459 endif
    460 
    461 if HAVE_DWARF5
    462 
    463 dwarf5_SOURCES = btest.c testlib.c
    464 dwarf5_CFLAGS = $(libbacktrace_TEST_CFLAGS) -gdwarf-5
    465 dwarf5_LDADD = libbacktrace.la
    466 
    467 BUILDTESTS += dwarf5
    468 
    469 if USE_DSYMUTIL
    470 check_DATA += dwarf5.dSYM
    471 endif USE_DSYMUTIL
    472 
    473 dwarf5_alloc_SOURCES = $(dwarf5_SOURCES)
    474 dwarf5_alloc_CFLAGS = $(dwarf5_CFLAGS)
    475 dwarf5_alloc_LDADD = libbacktrace_alloc.la
    476 
    477 BUILDTESTS += dwarf5_alloc
    478 
    479 if USE_DSYMUTIL
    480 check_DATA += dwarf5_alloc.dSYM
    481 endif USE_DSYMUTIL
    482 
    483 endif
    484 
    485 mtest_SOURCES = mtest.c testlib.c
    486 mtest_CFLAGS = $(libbacktrace_TEST_CFLAGS) -O
    487 mtest_LDADD = libbacktrace.la
    488 
    489 BUILDTESTS += mtest
    490 
    491 if USE_DSYMUTIL
    492 check_DATA += mtest.dSYM
    493 endif USE_DSYMUTIL
    494 
    495 if HAVE_MINIDEBUG
    496 
    497 TESTS += mtest_minidebug
    498 
    499 %_minidebug: %
    500 	$(NM) -D $< -P --defined-only | $(AWK) '{ print $$1 }' | sort > $<.dsyms
    501 	$(NM) $< -P --defined-only | $(AWK) '{ if ($$2 == "T" || $$2 == "t" || $$2 == "D") print $$1 }' | sort > $<.fsyms
    502 	$(COMM) -13 $<.dsyms $<.fsyms > $<.keepsyms
    503 	$(OBJCOPY) --only-keep-debug $< $<.dbg
    504 	$(OBJCOPY) -S --remove-section .gdb_index --remove-section .comment --keep-symbols=$<.keepsyms $<.dbg $<.mdbg
    505 	$(OBJCOPY) --strip-all --remove-section ..comment $< $<.strip
    506 	rm -f $<.mdbg.xz
    507 	$(XZ) $<.mdbg
    508 	$(OBJCOPY) --add-section .gnu_debugdata=$<.mdbg.xz $<.strip
    509 	mv $<.strip $@
    510 
    511 endif HAVE_MINIDEBUG
    512 
    513 endif NATIVE
    514 
    515 if HAVE_ELF
    516 
    517 xztest_SOURCES = xztest.c testlib.c
    518 xztest_CFLAGS = $(libbacktrace_TEST_CFLAGS) -DSRCDIR=\"$(srcdir)\"
    519 xztest_LDADD = libbacktrace.la
    520 
    521 xztest_alloc_SOURCES = $(xztest_SOURCES)
    522 xztest_alloc_CFLAGS = $(xztest_CFLAGS)
    523 xztest_alloc_LDADD = libbacktrace_alloc.la
    524 
    525 if HAVE_LIBLZMA
    526 xztest_LDADD += -llzma
    527 xztest_alloc_LDADD += -llzma
    528 endif
    529 
    530 xztest_LDADD += $(CLOCK_GETTIME_LINK)
    531 xztest_alloc_LDADD += $(CLOCK_GETTIME_LINK)
    532 
    533 BUILDTESTS += xztest xztest_alloc
    534 
    535 endif HAVE_ELF
    536 
    537 check_PROGRAMS += $(BUILDTESTS)
    538 
    539 TESTS += $(BUILDTESTS)
    540 
    541 CLEANFILES = \
    542 	$(TESTS) *.debug elf_for_test.c edtest2_build.c gen_edtest2_build \
    543 	*.dsyms *.fsyms *.keepsyms *.dbg *.mdbg *.mdbg.xz *.strip
    544 
    545 clean-local:
    546 	-rm -rf usr
    547 
    548 # We can't use automake's automatic dependency tracking, because it
    549 # breaks when using bootstrap-lean.  Automatic dependency tracking
    550 # with GCC bootstrap will cause some of the objects to depend on
    551 # header files in prev-gcc/include, e.g., stddef.h and stdarg.h.  When
    552 # using bootstrap-lean, prev-gcc is removed after each stage.  When
    553 # running "make install", those header files will be gone, causing the
    554 # library to be rebuilt at install time.  That may not succeed.
    555 
    556 # These manual dependencies do not include dependencies on unwind.h,
    557 # even though that is part of GCC, because where to find it depends on
    558 # whether we are being built as a host library or a target library.
    559 
    560 INCDIR = $(top_srcdir)/../include
    561 alloc.lo: config.h backtrace.h internal.h
    562 backtrace.lo: config.h backtrace.h internal.h
    563 btest.lo: $(INCDIR)/filenames.h backtrace.h backtrace-supported.h
    564 dwarf.lo: config.h $(INCDIR)/dwarf2.h $(INCDIR)/dwarf2.def \
    565 	$(INCDIR)/filenames.h backtrace.h internal.h
    566 elf.lo: config.h backtrace.h internal.h
    567 fileline.lo: config.h backtrace.h internal.h
    568 macho.lo: config.h backtrace.h internal.h
    569 mmap.lo: config.h backtrace.h internal.h
    570 mmapio.lo: config.h backtrace.h internal.h
    571 mtest.lo: backtrace.h backtrace-supported.h
    572 nounwind.lo: config.h internal.h
    573 pecoff.lo: config.h backtrace.h internal.h
    574 posix.lo: config.h backtrace.h internal.h
    575 print.lo: config.h backtrace.h internal.h
    576 read.lo: config.h backtrace.h internal.h
    577 simple.lo: config.h backtrace.h internal.h
    578 sort.lo: config.h backtrace.h internal.h
    579 stest.lo: config.h backtrace.h internal.h
    580 state.lo: config.h backtrace.h backtrace-supported.h internal.h
    581 unknown.lo: config.h backtrace.h internal.h
    582 xcoff.lo: config.h backtrace.h internal.h
    583 xztest.lo: config.h backtrace.h backtrace-supported.h internal.h testlib.h
    584 ztest.lo: config.h backtrace.h backtrace-supported.h internal.h testlib.h
    585 
    586 include $(top_srcdir)/../multilib.am
    587