xref: /aosp_15_r20/external/elfutils/src/Makefile.am (revision 7304104da70ce23c86437a01be71edd1a2d7f37e)
1*7304104dSAndroid Build Coastguard Worker## Process this file with automake to create Makefile.in
2*7304104dSAndroid Build Coastguard Worker##
3*7304104dSAndroid Build Coastguard Worker## Copyright (C) 1996-2014, 2016 Red Hat, Inc.
4*7304104dSAndroid Build Coastguard Worker## This file is part of elfutils.
5*7304104dSAndroid Build Coastguard Worker##
6*7304104dSAndroid Build Coastguard Worker## This file is free software; you can redistribute it and/or modify
7*7304104dSAndroid Build Coastguard Worker## it under the terms of the GNU General Public License as published by
8*7304104dSAndroid Build Coastguard Worker## the Free Software Foundation; either version 3 of the License, or
9*7304104dSAndroid Build Coastguard Worker## (at your option) any later version.
10*7304104dSAndroid Build Coastguard Worker##
11*7304104dSAndroid Build Coastguard Worker## elfutils is distributed in the hope that it will be useful, but
12*7304104dSAndroid Build Coastguard Worker## WITHOUT ANY WARRANTY; without even the implied warranty of
13*7304104dSAndroid Build Coastguard Worker## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14*7304104dSAndroid Build Coastguard Worker## GNU General Public License for more details.
15*7304104dSAndroid Build Coastguard Worker##
16*7304104dSAndroid Build Coastguard Worker## You should have received a copy of the GNU General Public License
17*7304104dSAndroid Build Coastguard Worker## along with this program.  If not, see <http://www.gnu.org/licenses/>.
18*7304104dSAndroid Build Coastguard Worker##
19*7304104dSAndroid Build Coastguard Workerinclude $(top_srcdir)/config/eu.am
20*7304104dSAndroid Build Coastguard WorkerDEFS += $(YYDEBUG) -DDEBUGPRED=@DEBUGPRED@ \
21*7304104dSAndroid Build Coastguard Worker	-DSRCDIR=\"$(shell cd $(srcdir);pwd)\" -DOBJDIR=\"$(shell pwd)\"
22*7304104dSAndroid Build Coastguard WorkerAM_CPPFLAGS += -I$(srcdir)/../libelf -I$(srcdir)/../libebl \
23*7304104dSAndroid Build Coastguard Worker	    -I$(srcdir)/../libdw -I$(srcdir)/../libdwelf \
24*7304104dSAndroid Build Coastguard Worker	    -I$(srcdir)/../libdwfl -I$(srcdir)/../libasm -I../debuginfod
25*7304104dSAndroid Build Coastguard Worker
26*7304104dSAndroid Build Coastguard WorkerAM_LDFLAGS = -Wl,-rpath-link,../libelf:../libdw $(STACK_USAGE_NO_ERROR)
27*7304104dSAndroid Build Coastguard Worker
28*7304104dSAndroid Build Coastguard Workerbin_PROGRAMS = readelf nm size strip elflint findtextrel addr2line \
29*7304104dSAndroid Build Coastguard Worker	       elfcmp objdump ranlib strings ar unstrip stack elfcompress \
30*7304104dSAndroid Build Coastguard Worker	       elfclassify srcfiles
31*7304104dSAndroid Build Coastguard Worker
32*7304104dSAndroid Build Coastguard Workernoinst_LIBRARIES = libar.a
33*7304104dSAndroid Build Coastguard Worker
34*7304104dSAndroid Build Coastguard Workerlibar_a_SOURCES = arlib.c arlib2.c arlib-argp.c
35*7304104dSAndroid Build Coastguard Worker
36*7304104dSAndroid Build Coastguard WorkerEXTRA_DIST = arlib.h debugpred.h
37*7304104dSAndroid Build Coastguard Worker
38*7304104dSAndroid Build Coastguard Workerbin_SCRIPTS = make-debug-archive
39*7304104dSAndroid Build Coastguard WorkerEXTRA_DIST += make-debug-archive.in
40*7304104dSAndroid Build Coastguard WorkerCLEANFILES += make-debug-archive
41*7304104dSAndroid Build Coastguard Worker
42*7304104dSAndroid Build Coastguard Workerif BUILD_STATIC
43*7304104dSAndroid Build Coastguard Workerlibasm = ../libasm/libasm.a
44*7304104dSAndroid Build Coastguard Workerlibdw = ../libdw/libdw.a -lz $(zip_LIBS) $(libelf) -ldl -lpthread
45*7304104dSAndroid Build Coastguard Workerlibelf = ../libelf/libelf.a -lz $(zstd_LIBS)
46*7304104dSAndroid Build Coastguard Workerif LIBDEBUGINFOD
47*7304104dSAndroid Build Coastguard Workerlibdebuginfod = ../debuginfod/libdebuginfod.a -lpthread $(libcurl_LIBS)
48*7304104dSAndroid Build Coastguard Workerelse
49*7304104dSAndroid Build Coastguard Workerlibdebuginfod =
50*7304104dSAndroid Build Coastguard Workerendif
51*7304104dSAndroid Build Coastguard Workerelse
52*7304104dSAndroid Build Coastguard Workerlibasm = ../libasm/libasm.so
53*7304104dSAndroid Build Coastguard Workerlibdw = ../libdw/libdw.so
54*7304104dSAndroid Build Coastguard Workerlibelf = ../libelf/libelf.so
55*7304104dSAndroid Build Coastguard Workerif LIBDEBUGINFOD
56*7304104dSAndroid Build Coastguard Workerlibdebuginfod = ../debuginfod/libdebuginfod.so
57*7304104dSAndroid Build Coastguard Workerelse
58*7304104dSAndroid Build Coastguard Workerlibdebuginfod =
59*7304104dSAndroid Build Coastguard Workerendif
60*7304104dSAndroid Build Coastguard Workerendif
61*7304104dSAndroid Build Coastguard Workerlibebl = ../libebl/libebl.a ../backends/libebl_backends.a ../libcpu/libcpu.a
62*7304104dSAndroid Build Coastguard Workerlibeu = ../lib/libeu.a
63*7304104dSAndroid Build Coastguard Worker
64*7304104dSAndroid Build Coastguard Workerif DEMANGLE
65*7304104dSAndroid Build Coastguard Workerdemanglelib = -lstdc++
66*7304104dSAndroid Build Coastguard Workerendif
67*7304104dSAndroid Build Coastguard Worker
68*7304104dSAndroid Build Coastguard Worker# Bad, bad stack usage...
69*7304104dSAndroid Build Coastguard Workerreadelf_no_Wstack_usage = yes
70*7304104dSAndroid Build Coastguard Workernm_no_Wstack_usage = yes
71*7304104dSAndroid Build Coastguard Workersize_no_Wstack_usage = yes
72*7304104dSAndroid Build Coastguard Workerstrip_no_Wstack_usage = yes
73*7304104dSAndroid Build Coastguard Workerelflint_no_Wstack_usage = yes
74*7304104dSAndroid Build Coastguard Workerelfcmp_no_Wstack_usage = yes
75*7304104dSAndroid Build Coastguard Workerobjdump_no_Wstack_usage = yes
76*7304104dSAndroid Build Coastguard Workerranlib_no_Wstack_usage = yes
77*7304104dSAndroid Build Coastguard Workerar_no_Wstack_usage = yes
78*7304104dSAndroid Build Coastguard Workerunstrip_no_Wstack_usage = yes
79*7304104dSAndroid Build Coastguard Worker
80*7304104dSAndroid Build Coastguard Workerreadelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD)
81*7304104dSAndroid Build Coastguard Workernm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) $(obstack_LIBS) \
82*7304104dSAndroid Build Coastguard Worker	   $(demanglelib)
83*7304104dSAndroid Build Coastguard Workersize_LDADD = $(libelf) $(libeu) $(argp_LDADD)
84*7304104dSAndroid Build Coastguard Workerstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD)
85*7304104dSAndroid Build Coastguard Workerelflint_LDADD  = $(libebl) $(libdw) $(libelf) $(libeu) $(argp_LDADD)
86*7304104dSAndroid Build Coastguard Workerfindtextrel_LDADD = $(libdw) $(libelf) $(libeu) $(argp_LDADD)
87*7304104dSAndroid Build Coastguard Workeraddr2line_LDADD = $(libdw) $(libelf) $(libeu) $(argp_LDADD) $(demanglelib)
88*7304104dSAndroid Build Coastguard Workerelfcmp_LDADD = $(libebl) $(libdw) $(libelf) $(libeu) $(argp_LDADD)
89*7304104dSAndroid Build Coastguard Workerobjdump_LDADD  = $(libasm) $(libebl) $(libdw) $(libelf) $(libeu) $(argp_LDADD)
90*7304104dSAndroid Build Coastguard Workerranlib_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) $(obstack_LIBS)
91*7304104dSAndroid Build Coastguard Workerstrings_LDADD = $(libelf) $(libeu) $(argp_LDADD)
92*7304104dSAndroid Build Coastguard Workerar_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) $(obstack_LIBS)
93*7304104dSAndroid Build Coastguard Workerunstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD)
94*7304104dSAndroid Build Coastguard Workerstack_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) $(demanglelib)
95*7304104dSAndroid Build Coastguard Workerelfcompress_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD)
96*7304104dSAndroid Build Coastguard Workerelfclassify_LDADD = $(libelf) $(libdw) $(libeu) $(argp_LDADD)
97*7304104dSAndroid Build Coastguard Workersrcfiles_SOURCES = srcfiles.cxx
98*7304104dSAndroid Build Coastguard Workersrcfiles_LDADD = $(libdw) $(libelf) $(libeu)  $(argp_LDADD) $(libarchive_LIBS) $(libdebuginfod)
99*7304104dSAndroid Build Coastguard Worker
100*7304104dSAndroid Build Coastguard Workerinstallcheck-binPROGRAMS: $(bin_PROGRAMS)
101*7304104dSAndroid Build Coastguard Worker	bad=0; pid=$$$$; list="$(bin_PROGRAMS)"; for p in $$list; do \
102*7304104dSAndroid Build Coastguard Worker	  case ' $(AM_INSTALLCHECK_STD_OPTIONS_EXEMPT) ' in \
103*7304104dSAndroid Build Coastguard Worker	   *" $$p "* | *" $(srcdir)/$$p "*) continue;; \
104*7304104dSAndroid Build Coastguard Worker	  esac; \
105*7304104dSAndroid Build Coastguard Worker	  f=`echo "$$p" | \
106*7304104dSAndroid Build Coastguard Worker	     sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
107*7304104dSAndroid Build Coastguard Worker	  for opt in --help --version; do \
108*7304104dSAndroid Build Coastguard Worker	    if LD_LIBRARY_PATH=$(DESTDIR)$(libdir) \
109*7304104dSAndroid Build Coastguard Worker	       $(DESTDIR)$(bindir)/$$f $$opt > c$${pid}_.out 2> c$${pid}_.err \
110*7304104dSAndroid Build Coastguard Worker		 && test -n "`cat c$${pid}_.out`" \
111*7304104dSAndroid Build Coastguard Worker		 && test -z "`cat c$${pid}_.err`"; then :; \
112*7304104dSAndroid Build Coastguard Worker	    else echo "$$f does not support $$opt" 1>&2; bad=1; fi; \
113*7304104dSAndroid Build Coastguard Worker	  done; \
114*7304104dSAndroid Build Coastguard Worker	done; rm -f c$${pid}_.???; exit $$bad
115*7304104dSAndroid Build Coastguard Worker
116*7304104dSAndroid Build Coastguard WorkerCLEANFILES += *.gconv
117*7304104dSAndroid Build Coastguard Worker
118*7304104dSAndroid Build Coastguard Workermake-debug-archive: $(srcdir)/make-debug-archive.in
119*7304104dSAndroid Build Coastguard Worker	$(AM_V_GEN)UNSTRIP=$(bindir)/`echo unstrip | sed '$(transform)'`; \
120*7304104dSAndroid Build Coastguard Worker	AR=$(bindir)/`echo ar | sed '$(transform)'`; \
121*7304104dSAndroid Build Coastguard Worker	sed -e "s,[@]UNSTRIP[@],$$UNSTRIP,g" -e "s,[@]AR[@],$$AR,g" \
122*7304104dSAndroid Build Coastguard Worker	    -e "s%[@]PACKAGE_NAME[@]%$(PACKAGE_NAME)%g" \
123*7304104dSAndroid Build Coastguard Worker	    -e "s%[@]PACKAGE_VERSION[@]%$(PACKAGE_VERSION)%g" \
124*7304104dSAndroid Build Coastguard Worker	    $(srcdir)/make-debug-archive.in > $@.new
125*7304104dSAndroid Build Coastguard Worker	$(AM_V_at)chmod +x $@.new
126*7304104dSAndroid Build Coastguard Worker	$(AM_V_at)mv -f $@.new $@
127