Makefile.am revision 9380297e130e6ccc829c8d56d701fb539b27bb0f
1b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper## Process this file with automake to create Makefile.in
2b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper##
3f31c4418be5bce6f0dd448cf07fc1092e5a7e1d2Mark Wielaard## Copyright (C) 2002-2010, 2012 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
32e47ab76f02c2a4f4d802ec298969ba67956435feRoland McGrathAM_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
42e219f1c1b2a5a2e4f248714fdc93d031cdc5ee6aUlrich Drepperpkginclude_HEADERS = libdw.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 \
74b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper		  dwarf_getmacros.c dwarf_macro_opcode.c dwarf_macro_param1.c \
75b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper		  dwarf_macro_param2.c dwarf_addrdie.c \
766724c90d02659f7466b67b357563042e403d154eRoland McGrath		  dwarf_getfuncs.c  \
776724c90d02659f7466b67b357563042e403d154eRoland McGrath		  dwarf_decl_file.c dwarf_decl_line.c dwarf_decl_column.c \
781ecb606f5af22838bf42b50dcc581d2b0f9191feRoland McGrath		  dwarf_func_inline.c dwarf_getsrc_file.c \
794e2787c2674bdb152e275edb3ed4d9939c8f62d7Josh Stone		  libdw_findcu.c libdw_form.c libdw_alloc.c \
8007d4f2fc1cb53f170a71bc13617bbdd9cb1c3c60Roland McGrath		  libdw_visit_scopes.c \
813c84db3b4b610bf636c4363abb6d3dac5ae020f9Roland McGrath		  dwarf_entry_breakpoints.c \
823c84db3b4b610bf636c4363abb6d3dac5ae020f9Roland McGrath		  dwarf_next_cfi.c \
833c84db3b4b610bf636c4363abb6d3dac5ae020f9Roland McGrath		  cie.c fde.c cfi.c frame-cache.c \
843c84db3b4b610bf636c4363abb6d3dac5ae020f9Roland McGrath		  dwarf_frame_info.c dwarf_frame_cfa.c dwarf_frame_register.c \
853c84db3b4b610bf636c4363abb6d3dac5ae020f9Roland McGrath		  dwarf_cfi_addrframe.c \
86ebc5c885e696cdc4961916113c50e1396d8d3d48Roland McGrath		  dwarf_getcfi.c dwarf_getcfi_elf.c dwarf_cfi_end.c \
87b2535b6a6be7717cdd41834d76e5cb48cb446b83Mark Wielaard		  dwarf_aggregate_size.c dwarf_getlocation_implicit_pointer.c \
88b2535b6a6be7717cdd41834d76e5cb48cb446b83Mark Wielaard		  dwarf_getlocation_die.c dwarf_getlocation_attr.c
89b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper
903bf7a0989c1126ee23347cf406dd3cd22d9d7194Roland McGrathif MAINTAINER_MODE
913bf7a0989c1126ee23347cf406dd3cd22d9d7194Roland McGrathBUILT_SOURCES = $(srcdir)/known-dwarf.h
923bf7a0989c1126ee23347cf406dd3cd22d9d7194Roland McGrathMAINTAINERCLEANFILES = $(srcdir)/known-dwarf.h
933bf7a0989c1126ee23347cf406dd3cd22d9d7194Roland McGrath$(srcdir)/known-dwarf.h: $(top_srcdir)/config/known-dwarf.awk $(srcdir)/dwarf.h
94387998b4de0e2a7691155e3c6646257d95b556baMark Wielaard	gawk -f $^ > $@.new
955513e643d78785900e8e9f723844beb1fc03d537Roland McGrath	mv -f $@.new $@
963bf7a0989c1126ee23347cf406dd3cd22d9d7194Roland McGrathendif
975513e643d78785900e8e9f723844beb1fc03d537Roland McGrath
98b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepperlibdw_pic_a_SOURCES =
99b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepperam_libdw_pic_a_OBJECTS = $(libdw_a_SOURCES:.c=.os)
100b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper
101b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepperlibdw_so_SOURCES =
1029380297e130e6ccc829c8d56d701fb539b27bb0fMark Wielaardlibdw.so$(EXEEXT): $(srcdir)/libdw.map libdw_pic.a ../libdwelf/libdwelf_pic.a \
10318618fd74777576cc20dce341bb71be327f9ed48Ulrich Drepper	  ../libdwfl/libdwfl_pic.a ../libebl/libebl.a \
104e06762c31cdc3c5dcabe586e613984bbe9ae6284Roland McGrath	  ../libelf/libelf.so
105e219f1c1b2a5a2e4f248714fdc93d031cdc5ee6aUlrich Drepper# The rpath is necessary for libebl because its $ORIGIN use will
106e219f1c1b2a5a2e4f248714fdc93d031cdc5ee6aUlrich Drepper# not fly in a setuid executable that links in libdw.
107fbe998a0b1be1f006bc72e5138fb38c188cc0433Ulrich Drepper	$(LINK) -shared -o $@ -Wl,--soname,$@.$(VERSION),-z,defs \
108e219f1c1b2a5a2e4f248714fdc93d031cdc5ee6aUlrich Drepper		-Wl,--enable-new-dtags,-rpath,$(pkglibdir) \
109fbe998a0b1be1f006bc72e5138fb38c188cc0433Ulrich Drepper		-Wl,--version-script,$<,--no-undefined \
110fbe998a0b1be1f006bc72e5138fb38c188cc0433Ulrich Drepper		-Wl,--whole-archive $(filter-out $<,$^) -Wl,--no-whole-archive\
111e06762c31cdc3c5dcabe586e613984bbe9ae6284Roland McGrath		-ldl $(zip_LIBS)
112a45c8043358151085633b15ea615f31f3bd680f7Michael Forney	if $(READELF) -d $@ | fgrep -q TEXTREL; then exit 1; fi
113b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper	ln -fs $@ $@.$(VERSION)
114b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper
115b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepperinstall: install-am libdw.so
116b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper	$(mkinstalldirs) $(DESTDIR)$(libdir)
117b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper	$(INSTALL_PROGRAM) libdw.so $(DESTDIR)$(libdir)/libdw-$(PACKAGE_VERSION).so
118b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper	ln -fs libdw-$(PACKAGE_VERSION).so $(DESTDIR)$(libdir)/libdw.so.$(VERSION)
119b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper	ln -fs libdw.so.$(VERSION) $(DESTDIR)$(libdir)/libdw.so
120b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper
121b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepperuninstall: uninstall-am
122b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper	rm -f $(DESTDIR)$(libdir)/libdw-$(PACKAGE_VERSION).so
123b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper	rm -f $(DESTDIR)$(libdir)/libdw.so.$(VERSION)
124b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper	rm -f $(DESTDIR)$(libdir)/libdw.so
125b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper	rmdir --ignore-fail-on-non-empty $(DESTDIR)$(includedir)/elfutils
126b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper
127cdc094394319969ba407e11efa06fefb31f5026bMichael Forneylibdwfl_objects = $(shell $(AR) t ../libdwfl/libdwfl.a)
128cdc094394319969ba407e11efa06fefb31f5026bMichael Forneylibdw_a_LIBADD = $(addprefix ../libdwfl/,$(libdwfl_objects))
12918618fd74777576cc20dce341bb71be327f9ed48Ulrich Drepper
1309380297e130e6ccc829c8d56d701fb539b27bb0fMark Wielaardlibdwelf_objects = $(shell $(AR) t ../libdwelf/libdwelf.a)
1319380297e130e6ccc829c8d56d701fb539b27bb0fMark Wielaardlibdw_a_LIBADD += $(addprefix ../libdwelf/,$(libdwelf_objects))
1329380297e130e6ccc829c8d56d701fb539b27bb0fMark Wielaard
1333c84db3b4b610bf636c4363abb6d3dac5ae020f9Roland McGrathnoinst_HEADERS = libdwP.h memory-access.h dwarf_abbrev_hash.h \
1343e0f7d1d1b817040cef82f41879f471ab59b663eRoland McGrath		 dwarf_sig8_hash.h cfi.h encoded-value.h
135b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper
136f31c4418be5bce6f0dd448cf07fc1092e5a7e1d2Mark WielaardEXTRA_DIST = libdw.map known-dwarf.h
137b08d5a8fb42f4586d756068065186b5af7e48daUlrich Drepper
13822359e265395fd2f8267190ef97f5417770e6206Roland McGrathMOSTLYCLEANFILES = $(am_libdw_pic_a_OBJECTS) libdw.so.$(VERSION)
139