1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
|
## Process this file with automake to produce Makefile.in.
## Copyright (C) 2021, 2025 Mark J. Wielaard <mark@klomp.org>
##
## This program is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 3 of the License, or
## (at your option) any later version.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <https://www.gnu.org/licenses/>.
# Tests have their own directory and Makefile.am everything else is
# defined here.
SUBDIRS = tests
AM_CFLAGS = -Wall
# All our programs
bin_PROGRAMS = debugedit sepdebugcrcfix debugedit-classify-ar
# Install find-debuginfo in $(bindir)
bin_SCRIPTS = find-debuginfo
# All our scripts are generated, so need to be explicitly cleaned
CLEANFILES = $(bin_SCRIPTS)
# Some standard substitutions for scripts
do_subst = ($(SED) -e 's,[@]PACKAGE[@],$(PACKAGE),g' \
-e 's,[@]VERSION[@],$(VERSION),g' \
-e 's,[@]READELF[@],$(READELF),g' \
-e 's,[@]OBJCOPY[@],$(OBJCOPY),g' \
-e 's,[@]NM[@],$(NM),g' \
-e 's,[@]AR[@],$(AR),g' \
-e 's,[@]DWZ_J[@],$(DWZ_J),g')
find-debuginfo: $(top_srcdir)/scripts/find-debuginfo.in Makefile
$(do_subst) < "$(top_srcdir)/scripts/$@.in" > "$@"
chmod +x "$@"
debugedit_SOURCES = tools/debugedit.c \
tools/hashtab.c
debugedit_CFLAGS = @LIBELF_CFLAGS@ @LIBDW_CFLAGS@ @XXHASH_CFLAGS@ $(AM_CFLAGS)
debugedit_LDADD = @LIBELF_LIBS@ @LIBDW_LIBS@ @XXHASH_LIBS@
sepdebugcrcfix_SOURCES = tools/sepdebugcrcfix.c
sepdebugcrcfix_CFLAGS = @LIBELF_CFLAGS@ $(AM_CFLAGS)
sepdebugcrcfix_LDADD = @LIBELF_LIBS@
debugedit_classify_ar_SOURCES = tools/debugedit-classify-ar.c
debugedit_classify_ar_CFLAGS = @LIBELF_CFLAGS@ $(AM_CFLAGS)
debugedit_classify_ar_LDADD = @LIBELF_LIBS@
# Manual pages are generated for dist
dist_man_MANS = debugedit.1 sepdebugcrcfix.1 find-debuginfo.1 \
debugedit-classify-ar.1
# The 'case' ensures the man pages are only generated if the corresponding
# source script (the first prerequisite) or configure.ac (for the version)
# has been changed. The executable prerequisite is solely meant to force
# these docs to be made only after the executable has been compiled.
# This makes sure help2man is not normally necessary (since the generated
# man pages are distributed).
debugedit.1: tools/debugedit.c configure.ac debugedit$(EXEEXT)
@case '$?' in \
*$<* | *configure.ac* ) $(HELP2MAN) -N --output=$@ \
--name='debug source path manipulation tool' \
./debugedit$(EXEEXT) ;; \
* ) : ;; \
esac
sepdebugcrcfix.1: tools/sepdebugcrcfix.c configure.ac sepdebugcrcfix$(EXEEXT)
@case '$?' in \
*$<* | *configure.ac* ) $(HELP2MAN) -N --output=$@ \
--name='fixes CRC for separate .debug files' \
./sepdebugcrcfix$(EXEEXT) ;;\
* ) : ;; \
esac
debugedit-classify-ar.1: tools/debugedit-classify-ar.c configure.ac debugedit-classify-ar$(EXEEXT)
@case '$?' in \
*$<* | *configure.ac* ) $(HELP2MAN) -N --output=$@ \
--name='Checks whether ELF archive members should be processed' \
./debugedit-classify-ar$(EXEEXT) ;;\
* ) : ;; \
esac
find-debuginfo.1: $(top_srcdir)/scripts/find-debuginfo.in configure.ac find-debuginfo
@case '$?' in \
*$<* | *configure.ac* ) $(HELP2MAN) -N --output=$@ \
--name='finds debuginfo and processes it' \
./find-debuginfo ;;\
* ) : ;; \
esac
noinst_HEADERS= tools/ansidecl.h \
tools/hashtab.h
EXTRA_DIST = README COPYING COPYING3 COPYING.LIB scripts/find-debuginfo.in
|