1b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper## Process this file with automake to create Makefile.in
2b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper##
3f18f233615cdae0a3633506238348a1dee9d3ea0Mark Wielaard## Copyright (C) 2002-2010, 2012, 2014 Red Hat, Inc.
4de2ed97f33139af5c7a0811e4ec66fc896a13cf2Mark Wielaard## This file is part of elfutils.
5b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper##
6de2ed97f33139af5c7a0811e4ec66fc896a13cf2Mark Wielaard## This file is free software; you can redistribute it and/or modify
7de2ed97f33139af5c7a0811e4ec66fc896a13cf2Mark Wielaard## it under the terms of either
8b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper##
9de2ed97f33139af5c7a0811e4ec66fc896a13cf2Mark Wielaard##   * the GNU Lesser General Public License as published by the Free
10de2ed97f33139af5c7a0811e4ec66fc896a13cf2Mark Wielaard##     Software Foundation; either version 3 of the License, or (at
11de2ed97f33139af5c7a0811e4ec66fc896a13cf2Mark Wielaard##     your option) any later version
12de2ed97f33139af5c7a0811e4ec66fc896a13cf2Mark Wielaard##
13de2ed97f33139af5c7a0811e4ec66fc896a13cf2Mark Wielaard## or
14de2ed97f33139af5c7a0811e4ec66fc896a13cf2Mark Wielaard##
15de2ed97f33139af5c7a0811e4ec66fc896a13cf2Mark Wielaard##   * the GNU General Public License as published by the Free
16de2ed97f33139af5c7a0811e4ec66fc896a13cf2Mark Wielaard##     Software Foundation; either version 2 of the License, or (at
17de2ed97f33139af5c7a0811e4ec66fc896a13cf2Mark Wielaard##     your option) any later version
18de2ed97f33139af5c7a0811e4ec66fc896a13cf2Mark Wielaard##
19de2ed97f33139af5c7a0811e4ec66fc896a13cf2Mark Wielaard## or both in parallel, as here.
20de2ed97f33139af5c7a0811e4ec66fc896a13cf2Mark Wielaard##
21de2ed97f33139af5c7a0811e4ec66fc896a13cf2Mark Wielaard## elfutils is distributed in the hope that it will be useful, but
22361df7da6dfecd817b27e62b91752ac316d7cdd4Ulrich Drepper## WITHOUT ANY WARRANTY; without even the implied warranty of
23361df7da6dfecd817b27e62b91752ac316d7cdd4Ulrich Drepper## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
24361df7da6dfecd817b27e62b91752ac316d7cdd4Ulrich Drepper## General Public License for more details.
25361df7da6dfecd817b27e62b91752ac316d7cdd4Ulrich Drepper##
26de2ed97f33139af5c7a0811e4ec66fc896a13cf2Mark Wielaard## You should have received copies of the GNU General Public License and
27de2ed97f33139af5c7a0811e4ec66fc896a13cf2Mark Wielaard## the GNU Lesser General Public License along with this program.  If
28de2ed97f33139af5c7a0811e4ec66fc896a13cf2Mark Wielaard## not, see <http://www.gnu.org/licenses/>.
29b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper##
3022359e265395fd2f8267190ef97f5417770e6206Roland McGrathinclude $(top_srcdir)/config/eu.am
31e47ab76f02c2a4f4d802ec298969ba67956435feRoland McGrathif BUILD_STATIC
32133509fa406e0e8d4d0f0632e2ee8c5e32dcb010Jose E. MarchesiAM_CFLAGS += -fPIC
33e47ab76f02c2a4f4d802ec298969ba67956435feRoland McGrathendif
34cdaaf2153a1f40d1be080c8ff6e10767b51a1c96Mark WielaardAM_CPPFLAGS += -I$(srcdir)/../libelf
35b08d5a8fb42f4586d756068065186b5af7e48daUlrich DrepperVERSION = 1
36b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper
37b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepperlib_LIBRARIES = libdw.a
38b08d5a8fb42f4586d756068065186b5af7e48daUlrich Dreppernoinst_LIBRARIES = libdw_pic.a
39b08d5a8fb42f4586d756068065186b5af7e48daUlrich Dreppernoinst_PROGRAMS = $(noinst_LIBRARIES:_pic.a=.so)
40b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper
41b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepperinclude_HEADERS = dwarf.h
427f617347794f7d57f69d08f38c00f3f6ad221a56Petr Machatapkginclude_HEADERS = libdw.h known-dwarf.h
43b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper
44b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepperlibdw_a_SOURCES = dwarf_begin.c dwarf_begin_elf.c dwarf_end.c dwarf_getelf.c \
45b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper		  dwarf_getpubnames.c dwarf_getabbrev.c dwarf_tag.c \
46b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper		  dwarf_error.c dwarf_nextcu.c dwarf_diename.c dwarf_offdie.c \
473e0f7d1d1b817040cef82f41879f471ab59b663eRoland McGrath		  dwarf_attr.c dwarf_formstring.c \
483e0f7d1d1b817040cef82f41879f471ab59b663eRoland McGrath		  dwarf_abbrev_hash.c dwarf_sig8_hash.c \
49b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper		  dwarf_attr_integrate.c dwarf_hasattr_integrate.c \
50b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper		  dwarf_child.c dwarf_haschildren.c dwarf_formaddr.c \
51b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper		  dwarf_formudata.c dwarf_formsdata.c dwarf_lowpc.c \
5207d4f2fc1cb53f170a71bc13617bbdd9cb1c3c60Roland McGrath		  dwarf_entrypc.c dwarf_haspc.c dwarf_highpc.c dwarf_ranges.c \
53b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper		  dwarf_formref.c dwarf_formref_die.c dwarf_siblingof.c \
5407d4f2fc1cb53f170a71bc13617bbdd9cb1c3c60Roland McGrath		  dwarf_dieoffset.c dwarf_cuoffset.c dwarf_diecu.c \
5507d4f2fc1cb53f170a71bc13617bbdd9cb1c3c60Roland McGrath		  dwarf_hasattr.c dwarf_hasform.c \
5607d4f2fc1cb53f170a71bc13617bbdd9cb1c3c60Roland McGrath		  dwarf_whatform.c dwarf_whatattr.c \
57b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper		  dwarf_bytesize.c dwarf_arrayorder.c dwarf_bitsize.c \
58b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper		  dwarf_bitoffset.c dwarf_srclang.c dwarf_getabbrevtag.c \
59b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper		  dwarf_getabbrevcode.c dwarf_abbrevhaschildren.c \
60b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper		  dwarf_getattrcnt.c dwarf_getabbrevattr.c \
61b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper		  dwarf_getsrclines.c dwarf_getsrc_die.c \
6271e15a01742e5d5de9c6260d4526146be54e5a8aRoland McGrath		  dwarf_getscopes.c dwarf_getscopes_die.c dwarf_getscopevar.c \
63b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper		  dwarf_linesrc.c dwarf_lineno.c dwarf_lineaddr.c \
64b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper		  dwarf_linecol.c dwarf_linebeginstatement.c \
65b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper		  dwarf_lineendsequence.c dwarf_lineblock.c \
66b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper		  dwarf_lineprologueend.c dwarf_lineepiloguebegin.c \
67c70cf4e5e5a463b64673c4e80bcf60c938b437b4Roland McGrath		  dwarf_lineisa.c dwarf_linediscriminator.c \
68c70cf4e5e5a463b64673c4e80bcf60c938b437b4Roland McGrath		  dwarf_lineop_index.c \
69b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper		  dwarf_onesrcline.c dwarf_formblock.c \
7043da9895c6d828ceae65a47f2337e8ef24eb97c1Roland McGrath		  dwarf_getsrcfiles.c dwarf_filesrc.c dwarf_getsrcdirs.c \
716724c90d02659f7466b67b357563042e403d154eRoland McGrath		  dwarf_getlocation.c dwarf_getstring.c dwarf_offabbrev.c \
72b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper		  dwarf_getaranges.c dwarf_onearange.c dwarf_getarangeinfo.c \
73b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper		  dwarf_getarange_addr.c dwarf_getattrs.c dwarf_formflag.c \
74fb90bf3f84b5683bbc1f234ee05008ff26250e5cPetr Machata		  dwarf_getmacros.c dwarf_macro_getparamcnt.c	\
75fb90bf3f84b5683bbc1f234ee05008ff26250e5cPetr Machata		  dwarf_macro_opcode.c dwarf_macro_param.c	\
76fb90bf3f84b5683bbc1f234ee05008ff26250e5cPetr Machata		  dwarf_macro_param1.c dwarf_macro_param2.c	\
77fb90bf3f84b5683bbc1f234ee05008ff26250e5cPetr Machata		  dwarf_macro_getsrcfiles.c			\
78fb90bf3f84b5683bbc1f234ee05008ff26250e5cPetr Machata		  dwarf_addrdie.c dwarf_getfuncs.c \
796724c90d02659f7466b67b357563042e403d154eRoland McGrath		  dwarf_decl_file.c dwarf_decl_line.c dwarf_decl_column.c \
801ecb606f5af22838bf42b50dcc581d2b0f9191feRoland McGrath		  dwarf_func_inline.c dwarf_getsrc_file.c \
814e2787c2674bdb152e275edb3ed4d9939c8f62d7Josh Stone		  libdw_findcu.c libdw_form.c libdw_alloc.c \
8207d4f2fc1cb53f170a71bc13617bbdd9cb1c3c60Roland McGrath		  libdw_visit_scopes.c \
833c84db3b4b610bf636c4363abb6d3dac5ae020f9Roland McGrath		  dwarf_entry_breakpoints.c \
843c84db3b4b610bf636c4363abb6d3dac5ae020f9Roland McGrath		  dwarf_next_cfi.c \
853c84db3b4b610bf636c4363abb6d3dac5ae020f9Roland McGrath		  cie.c fde.c cfi.c frame-cache.c \
863c84db3b4b610bf636c4363abb6d3dac5ae020f9Roland McGrath		  dwarf_frame_info.c dwarf_frame_cfa.c dwarf_frame_register.c \
873c84db3b4b610bf636c4363abb6d3dac5ae020f9Roland McGrath		  dwarf_cfi_addrframe.c \
88ebc5c885e696cdc4961916113c50e1396d8d3d48Roland McGrath		  dwarf_getcfi.c dwarf_getcfi_elf.c dwarf_cfi_end.c \
89b2535b6a6be7717cdd41834d76e5cb48cb446b83Mark Wielaard		  dwarf_aggregate_size.c dwarf_getlocation_implicit_pointer.c \
9035e2a765c002374f1b88dc81ce154bed42f9b1d8Florian Weimer		  dwarf_getlocation_die.c dwarf_getlocation_attr.c \
91f18f233615cdae0a3633506238348a1dee9d3ea0Mark Wielaard		  dwarf_getalt.c dwarf_setalt.c dwarf_cu_getdwarf.c \
923a36e8a26c32103ec2f8edda8bf212d6883970a2Mark Wielaard		  dwarf_cu_die.c dwarf_peel_type.c
93b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper
943bf7a0989c1126ee23347cf406dd3cd22d9d7194Roland McGrathif MAINTAINER_MODE
953bf7a0989c1126ee23347cf406dd3cd22d9d7194Roland McGrathBUILT_SOURCES = $(srcdir)/known-dwarf.h
963bf7a0989c1126ee23347cf406dd3cd22d9d7194Roland McGrathMAINTAINERCLEANFILES = $(srcdir)/known-dwarf.h
973bf7a0989c1126ee23347cf406dd3cd22d9d7194Roland McGrath$(srcdir)/known-dwarf.h: $(top_srcdir)/config/known-dwarf.awk $(srcdir)/dwarf.h
98387998b4de0e2a7691155e3c6646257d95b556baMark Wielaard	gawk -f $^ > $@.new
995513e643d78785900e8e9f723844beb1fc03d537Roland McGrath	mv -f $@.new $@
1003bf7a0989c1126ee23347cf406dd3cd22d9d7194Roland McGrathendif
1015513e643d78785900e8e9f723844beb1fc03d537Roland McGrath
102b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepperlibdw_pic_a_SOURCES =
103b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepperam_libdw_pic_a_OBJECTS = $(libdw_a_SOURCES:.c=.os)
104b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper
105b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepperlibdw_so_SOURCES =
1069380297e130e6ccc829c8d56d701fb539b27bb0fMark Wielaardlibdw.so$(EXEEXT): $(srcdir)/libdw.map libdw_pic.a ../libdwelf/libdwelf_pic.a \
10718618fd74777576cc20dce341bb71be327f9ed48Ulrich Drepper	  ../libdwfl/libdwfl_pic.a ../libebl/libebl.a \
108e06762c31cdc3c5dcabe586e613984bbe9ae6284Roland McGrath	  ../libelf/libelf.so
109e219f1c1b2a5a2e4f248714fdc93d031cdc5ee6aUlrich Drepper# The rpath is necessary for libebl because its $ORIGIN use will
110e219f1c1b2a5a2e4f248714fdc93d031cdc5ee6aUlrich Drepper# not fly in a setuid executable that links in libdw.
111daee4714ee3761e2d92f764a724e83875a79a3f0Josh Stone	$(AM_V_CCLD)$(LINK) -shared -o $@ -Wl,--soname,$@.$(VERSION),-z,defs \
112e219f1c1b2a5a2e4f248714fdc93d031cdc5ee6aUlrich Drepper		-Wl,--enable-new-dtags,-rpath,$(pkglibdir) \
113fbe998a0b1be1f006bc72e5138fb38c188cc0433Ulrich Drepper		-Wl,--version-script,$<,--no-undefined \
114fbe998a0b1be1f006bc72e5138fb38c188cc0433Ulrich Drepper		-Wl,--whole-archive $(filter-out $<,$^) -Wl,--no-whole-archive\
115528cb45fc99a1f402ac153891ac7c007921699efMark Wielaard		-ldl -lz $(argp_LDADD) $(zip_LIBS)
116898ed261444cdd817c2d9b3656209a291eb5e807Ulrich Drepper	@$(textrel_check)
117daee4714ee3761e2d92f764a724e83875a79a3f0Josh Stone	$(AM_V_at)ln -fs $@ $@.$(VERSION)
118b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper
119b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepperinstall: install-am libdw.so
120b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper	$(mkinstalldirs) $(DESTDIR)$(libdir)
121b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper	$(INSTALL_PROGRAM) libdw.so $(DESTDIR)$(libdir)/libdw-$(PACKAGE_VERSION).so
122b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper	ln -fs libdw-$(PACKAGE_VERSION).so $(DESTDIR)$(libdir)/libdw.so.$(VERSION)
123b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper	ln -fs libdw.so.$(VERSION) $(DESTDIR)$(libdir)/libdw.so
124b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper
125b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepperuninstall: uninstall-am
126b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper	rm -f $(DESTDIR)$(libdir)/libdw-$(PACKAGE_VERSION).so
127b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper	rm -f $(DESTDIR)$(libdir)/libdw.so.$(VERSION)
128b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper	rm -f $(DESTDIR)$(libdir)/libdw.so
129b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper	rmdir --ignore-fail-on-non-empty $(DESTDIR)$(includedir)/elfutils
130b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper
131cdc094394319969ba407e11efa06fefb31f5026bMichael Forneylibdwfl_objects = $(shell $(AR) t ../libdwfl/libdwfl.a)
132cdc094394319969ba407e11efa06fefb31f5026bMichael Forneylibdw_a_LIBADD = $(addprefix ../libdwfl/,$(libdwfl_objects))
13318618fd74777576cc20dce341bb71be327f9ed48Ulrich Drepper
1349380297e130e6ccc829c8d56d701fb539b27bb0fMark Wielaardlibdwelf_objects = $(shell $(AR) t ../libdwelf/libdwelf.a)
1359380297e130e6ccc829c8d56d701fb539b27bb0fMark Wielaardlibdw_a_LIBADD += $(addprefix ../libdwelf/,$(libdwelf_objects))
1369380297e130e6ccc829c8d56d701fb539b27bb0fMark Wielaard
1373c84db3b4b610bf636c4363abb6d3dac5ae020f9Roland McGrathnoinst_HEADERS = libdwP.h memory-access.h dwarf_abbrev_hash.h \
1383e0f7d1d1b817040cef82f41879f471ab59b663eRoland McGrath		 dwarf_sig8_hash.h cfi.h encoded-value.h
139b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper
1407f617347794f7d57f69d08f38c00f3f6ad221a56Petr MachataEXTRA_DIST = libdw.map
141b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper
14222359e265395fd2f8267190ef97f5417770e6206Roland McGrathMOSTLYCLEANFILES = $(am_libdw_pic_a_OBJECTS) libdw.so.$(VERSION)
143