# Makefile.in generated by automake 1.9.2 from Makefile.am.
# libelf/Makefile.  Generated from Makefile.in by configure.

# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004  Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.





SOURCES = $(libelf_a_SOURCES) $(libelf_pic_a_SOURCES) $(libelf_so_SOURCES)

srcdir = .
top_srcdir = ..

pkgdatadir = $(datadir)/elfutils
pkglibdir = $(libdir)/elfutils
pkgincludedir = $(includedir)/elfutils
top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = /usr/bin/install -c
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = i686-pc-linux-gnu
host_triplet = i686-pc-linux-gnu
noinst_PROGRAMS = $(am__EXEEXT_1)
#am_libelf_pic_a_OBJECTS =
subdir = libelf
DIST_COMMON = $(euinclude_HEADERS) $(include_HEADERS) \
	$(noinst_HEADERS) $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
	ChangeLog
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
	$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
	$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
    *) f=$$p;; \
  esac;
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(euincludedir)" \
	"$(DESTDIR)$(includedir)"
libLIBRARIES_INSTALL = $(INSTALL_DATA)
LIBRARIES = $(lib_LIBRARIES) $(noinst_LIBRARIES)
AR = ar
ARFLAGS = cru
libelf_a_AR = $(AR) $(ARFLAGS)
libelf_a_LIBADD =
am_libelf_a_OBJECTS = elf_version.$(OBJEXT) elf_hash.$(OBJEXT) \
	elf_error.$(OBJEXT) elf_fill.$(OBJEXT) elf_begin.$(OBJEXT) \
	elf_next.$(OBJEXT) elf_rand.$(OBJEXT) elf_end.$(OBJEXT) \
	elf_kind.$(OBJEXT) gelf_getclass.$(OBJEXT) \
	elf_getbase.$(OBJEXT) elf_getident.$(OBJEXT) \
	elf32_fsize.$(OBJEXT) elf64_fsize.$(OBJEXT) \
	gelf_fsize.$(OBJEXT) elf32_xlatetof.$(OBJEXT) \
	elf32_xlatetom.$(OBJEXT) elf64_xlatetof.$(OBJEXT) \
	elf64_xlatetom.$(OBJEXT) gelf_xlate.$(OBJEXT) \
	elf32_getehdr.$(OBJEXT) elf64_getehdr.$(OBJEXT) \
	gelf_getehdr.$(OBJEXT) elf32_newehdr.$(OBJEXT) \
	elf64_newehdr.$(OBJEXT) gelf_newehdr.$(OBJEXT) \
	gelf_update_ehdr.$(OBJEXT) elf32_getphdr.$(OBJEXT) \
	elf64_getphdr.$(OBJEXT) gelf_getphdr.$(OBJEXT) \
	elf32_newphdr.$(OBJEXT) elf64_newphdr.$(OBJEXT) \
	gelf_newphdr.$(OBJEXT) gelf_update_phdr.$(OBJEXT) \
	elf_getarhdr.$(OBJEXT) elf_getarsym.$(OBJEXT) \
	elf_rawfile.$(OBJEXT) elf_readall.$(OBJEXT) elf_cntl.$(OBJEXT) \
	elf_getscn.$(OBJEXT) elf_nextscn.$(OBJEXT) \
	elf_ndxscn.$(OBJEXT) elf_newscn.$(OBJEXT) \
	elf32_getshdr.$(OBJEXT) elf64_getshdr.$(OBJEXT) \
	gelf_getshdr.$(OBJEXT) gelf_update_shdr.$(OBJEXT) \
	elf_strptr.$(OBJEXT) elf_rawdata.$(OBJEXT) \
	elf_getdata.$(OBJEXT) elf_newdata.$(OBJEXT) \
	elf_flagelf.$(OBJEXT) elf_flagehdr.$(OBJEXT) \
	elf_flagphdr.$(OBJEXT) elf_flagscn.$(OBJEXT) \
	elf_flagshdr.$(OBJEXT) elf_flagdata.$(OBJEXT) \
	elf_memory.$(OBJEXT) elf_update.$(OBJEXT) \
	elf32_updatenull.$(OBJEXT) elf64_updatenull.$(OBJEXT) \
	elf32_updatefile.$(OBJEXT) elf64_updatefile.$(OBJEXT) \
	gelf_getsym.$(OBJEXT) gelf_update_sym.$(OBJEXT) \
	gelf_getversym.$(OBJEXT) gelf_getverneed.$(OBJEXT) \
	gelf_getvernaux.$(OBJEXT) gelf_getverdef.$(OBJEXT) \
	gelf_getverdaux.$(OBJEXT) gelf_getrel.$(OBJEXT) \
	gelf_getrela.$(OBJEXT) gelf_update_rel.$(OBJEXT) \
	gelf_update_rela.$(OBJEXT) gelf_getdyn.$(OBJEXT) \
	gelf_update_dyn.$(OBJEXT) gelf_getmove.$(OBJEXT) \
	gelf_update_move.$(OBJEXT) gelf_getsyminfo.$(OBJEXT) \
	gelf_update_syminfo.$(OBJEXT) gelf_xlatetof.$(OBJEXT) \
	gelf_xlatetom.$(OBJEXT) nlist.$(OBJEXT) \
	gelf_getsymshndx.$(OBJEXT) gelf_update_symshndx.$(OBJEXT) \
	gelf_update_versym.$(OBJEXT) gelf_update_verneed.$(OBJEXT) \
	gelf_update_vernaux.$(OBJEXT) gelf_update_verdef.$(OBJEXT) \
	gelf_update_verdaux.$(OBJEXT) elf_getshnum.$(OBJEXT) \
	elf_getshstrndx.$(OBJEXT) gelf_checksum.$(OBJEXT) \
	elf32_checksum.$(OBJEXT) elf64_checksum.$(OBJEXT) \
	gelf_rawchunk.$(OBJEXT) gelf_freechunk.$(OBJEXT) \
	libelf_crc32.$(OBJEXT) libelf_next_prime.$(OBJEXT) \
	elf_clone.$(OBJEXT) gelf_getlib.$(OBJEXT) \
	gelf_update_lib.$(OBJEXT)
libelf_a_OBJECTS = $(am_libelf_a_OBJECTS)
libelf_pic_a_AR = $(AR) $(ARFLAGS)
libelf_pic_a_LIBADD =
libelf_pic_a_OBJECTS = $(am_libelf_pic_a_OBJECTS)
am__EXEEXT_1 = libelf.so$(EXEEXT)
PROGRAMS = $(noinst_PROGRAMS)
am_libelf_so_OBJECTS =
libelf_so_OBJECTS = $(am_libelf_so_OBJECTS)
libelf_so_LDADD = $(LDADD)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libelf_a_SOURCES) $(libelf_pic_a_SOURCES) \
	$(libelf_so_SOURCES)
DIST_SOURCES = $(libelf_a_SOURCES) $(libelf_pic_a_SOURCES) \
	$(libelf_so_SOURCES)
euincludeHEADERS_INSTALL = $(INSTALL_HEADER)
includeHEADERS_INSTALL = $(INSTALL_HEADER)
HEADERS = $(euinclude_HEADERS) $(include_HEADERS) $(noinst_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = ${SHELL} /work/elfutils/stock/elfutils-0.97/config/missing --run aclocal-1.9
AMDEP_FALSE = #
AMDEP_TRUE = 
AMTAR = ${SHELL} /work/elfutils/stock/elfutils-0.97/config/missing --run tar
AUTOCONF = ${SHELL} /work/elfutils/stock/elfutils-0.97/config/missing --run autoconf
AUTOHEADER = ${SHELL} /work/elfutils/stock/elfutils-0.97/config/missing --run autoheader
AUTOMAKE = ${SHELL} /work/elfutils/stock/elfutils-0.97/config/missing --run automake-1.9
AWK = gawk
CC = gcc
CCDEPMODE = depmode=gcc3
CFLAGS = -g -O2
CPP = gcc -E
CPPFLAGS = 
CYGPATH_W = echo
DATADIRNAME = ${prefix}/share
DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H
DEPDIR = .deps
ECHO_C = 
ECHO_N = -n
ECHO_T = 
EGREP = grep -E
EXEEXT = 
GMSGFMT = /usr/bin/msgfmt
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_PROGRAM = ${INSTALL}
INSTALL_SCRIPT = ${INSTALL}
INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
INTLLIBS = 
LDFLAGS = 
LEX = flex
LEXLIB = -lfl
LEX_OUTPUT_ROOT = lex.yy
LIBICONV = -liconv
LIBINTL = 
LIBOBJS = 
LIBS = 
LOCALEDIR = ${prefix}/share
LTLIBICONV = -liconv
LTLIBINTL = 
LTLIBOBJS = 
MAKEINFO = ${SHELL} /work/elfutils/stock/elfutils-0.97/config/missing --run makeinfo
MKINSTALLDIRS = config/mkinstalldirs
MSGFMT = /usr/bin/msgfmt
MSGMERGE = /usr/bin/msgmerge
MUDFLAP_FALSE = 
MUDFLAP_TRUE = #
NATIVE_LD_FALSE = 
NATIVE_LD_TRUE = #
OBJEXT = o
PACKAGE = elfutils
PACKAGE_BUGREPORT = http://bugzilla.redhat.com/bugzilla/
PACKAGE_NAME = Red Hat elfutils
PACKAGE_STRING = Red Hat elfutils 0.97
PACKAGE_TARNAME = elfutils
PACKAGE_VERSION = 0.97
PATH_SEPARATOR = :
POSUB = po
RANLIB = ranlib
SET_MAKE = 
SHELL = /bin/sh
STRIP = 
USE_NLS = yes
VERSION = 1
XGETTEXT = /usr/bin/xgettext
YACC = bison -y
ac_ct_CC = gcc
ac_ct_RANLIB = ranlib
ac_ct_STRIP = 
am__fastdepCC_FALSE = #
am__fastdepCC_TRUE = 
am__include = include
am__leading_dot = .
am__quote = 
am__tar = ${AMTAR} chof - "$$tardir"
am__untar = ${AMTAR} xf -
base_cpu = none
bindir = ${exec_prefix}/bin
build = i686-pc-linux-gnu
build_alias = 
build_cpu = i686
build_os = linux-gnu
build_vendor = pc
datadir = ${prefix}/share
exec_prefix = ${prefix}
host = i686-pc-linux-gnu
host_alias = 
host_cpu = i686
host_os = linux-gnu
host_vendor = pc
includedir = ${prefix}/include
infodir = ${prefix}/info
install_sh = /work/elfutils/stock/elfutils-0.97/config/install-sh
libdir = ${exec_prefix}/lib
libexecdir = ${exec_prefix}/libexec
localstatedir = ${prefix}/var
mandir = ${prefix}/man
mkdir_p = mkdir -p --
oldincludedir = /usr/include
prefix = /work/elfutils/google/linux-install-elfutils-0.97/
program_transform_name = s,x,x,
sbindir = ${exec_prefix}/sbin
sharedstatedir = ${prefix}/com
sysconfdir = ${prefix}/etc
target_alias = 
AM_CFLAGS = -Wall -Werror -Wshadow
# XXX gcc has a bug in that it generates warnings for internal symbols.
# XXX Remove the conditional when gcc is fxied.
#AM_CFLAGS = -Wall -Wshadow
INCLUDES = -I$(srcdir) -I$(top_srcdir)/lib -I..
GCC_INCLUDE = -I$(shell $(CC) -print-file-name=include)
LINT = splint
lib_LIBRARIES = libelf.a
noinst_LIBRARIES = libelf_pic.a
include_HEADERS = libelf.h gelf.h nlist.h
euincludedir = $(includedir)/elfutils
euinclude_HEADERS = elf-knowledge.h
libelf_a_SOURCES = elf_version.c elf_hash.c elf_error.c elf_fill.c \
		   elf_begin.c elf_next.c elf_rand.c elf_end.c elf_kind.c \
		   gelf_getclass.c elf_getbase.c elf_getident.c \
		   elf32_fsize.c elf64_fsize.c gelf_fsize.c \
		   elf32_xlatetof.c elf32_xlatetom.c elf64_xlatetof.c \
		   elf64_xlatetom.c gelf_xlate.c \
		   elf32_getehdr.c elf64_getehdr.c gelf_getehdr.c \
		   elf32_newehdr.c elf64_newehdr.c gelf_newehdr.c \
		   gelf_update_ehdr.c \
		   elf32_getphdr.c elf64_getphdr.c gelf_getphdr.c \
		   elf32_newphdr.c elf64_newphdr.c gelf_newphdr.c \
		   gelf_update_phdr.c \
		   elf_getarhdr.c elf_getarsym.c \
		   elf_rawfile.c elf_readall.c elf_cntl.c \
		   elf_getscn.c elf_nextscn.c elf_ndxscn.c elf_newscn.c \
		   elf32_getshdr.c elf64_getshdr.c gelf_getshdr.c \
		   gelf_update_shdr.c \
		   elf_strptr.c elf_rawdata.c elf_getdata.c elf_newdata.c \
		   elf_flagelf.c elf_flagehdr.c elf_flagphdr.c elf_flagscn.c \
		   elf_flagshdr.c elf_flagdata.c elf_memory.c \
		   elf_update.c elf32_updatenull.c elf64_updatenull.c \
		   elf32_updatefile.c elf64_updatefile.c \
		   gelf_getsym.c gelf_update_sym.c \
		   gelf_getversym.c gelf_getverneed.c gelf_getvernaux.c \
		   gelf_getverdef.c gelf_getverdaux.c \
		   gelf_getrel.c gelf_getrela.c \
		   gelf_update_rel.c gelf_update_rela.c \
		   gelf_getdyn.c gelf_update_dyn.c \
		   gelf_getmove.c gelf_update_move.c \
		   gelf_getsyminfo.c gelf_update_syminfo.c \
		   gelf_xlatetof.c gelf_xlatetom.c \
		   nlist.c \
		   gelf_getsymshndx.c gelf_update_symshndx.c \
		   gelf_update_versym.c gelf_update_verneed.c \
		   gelf_update_vernaux.c gelf_update_verdef.c \
		   gelf_update_verdaux.c \
		   elf_getshnum.c elf_getshstrndx.c \
		   gelf_checksum.c elf32_checksum.c elf64_checksum.c \
		   gelf_rawchunk.c gelf_freechunk.c \
		   libelf_crc32.c libelf_next_prime.c \
		   elf_clone.c \
		   gelf_getlib.c gelf_update_lib.c

libelf_pic_a_SOURCES = 
am_libelf_pic_a_OBJECTS = $(libelf_a_SOURCES:.c=.os)
libelf_so_SOURCES = 
noinst_HEADERS = elf.h abstract.h common.h exttypes.h gelf_xlate.h libelfP.h \
		 version_xlate.h dl-hash.h

EXTRA_DIST = libelf.map
CLEANFILES = $(am_libelf_pic_a_OBJECTS)
all: all-am

.SUFFIXES:
.SUFFIXES: .c .o .obj
$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
	@for dep in $?; do \
	  case '$(am__configure_deps)' in \
	    *$$dep*) \
	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
		&& exit 0; \
	      exit 1;; \
	  esac; \
	done; \
	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits  libelf/Makefile'; \
	cd $(top_srcdir) && \
	  $(AUTOMAKE) --gnits  libelf/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
	@case '$?' in \
	  *config.status*) \
	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
	  *) \
	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
	esac;

$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh

$(top_srcdir)/configure:  $(am__configure_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
install-libLIBRARIES: $(lib_LIBRARIES)
	@$(NORMAL_INSTALL)
	test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
	@list='$(lib_LIBRARIES)'; for p in $$list; do \
	  if test -f $$p; then \
	    f=$(am__strip_dir) \
	    echo " $(libLIBRARIES_INSTALL) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
	    $(libLIBRARIES_INSTALL) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
	  else :; fi; \
	done
	@$(POST_INSTALL)
	@list='$(lib_LIBRARIES)'; for p in $$list; do \
	  if test -f $$p; then \
	    p=$(am__strip_dir) \
	    echo " $(RANLIB) '$(DESTDIR)$(libdir)/$$p'"; \
	    $(RANLIB) "$(DESTDIR)$(libdir)/$$p"; \
	  else :; fi; \
	done

uninstall-libLIBRARIES:
	@$(NORMAL_UNINSTALL)
	@list='$(lib_LIBRARIES)'; for p in $$list; do \
	  p=$(am__strip_dir) \
	  echo " rm -f '$(DESTDIR)$(libdir)/$$p'"; \
	  rm -f "$(DESTDIR)$(libdir)/$$p"; \
	done

clean-libLIBRARIES:
	-test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES)

clean-noinstLIBRARIES:
	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
libelf.a: $(libelf_a_OBJECTS) $(libelf_a_DEPENDENCIES) 
	-rm -f libelf.a
	$(libelf_a_AR) libelf.a $(libelf_a_OBJECTS) $(libelf_a_LIBADD)
	$(RANLIB) libelf.a
libelf_pic.a: $(libelf_pic_a_OBJECTS) $(libelf_pic_a_DEPENDENCIES) 
	-rm -f libelf_pic.a
	$(libelf_pic_a_AR) libelf_pic.a $(libelf_pic_a_OBJECTS) $(libelf_pic_a_LIBADD)
	$(RANLIB) libelf_pic.a

clean-noinstPROGRAMS:
	-test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
#libelf.so$(EXEEXT): $(libelf_so_OBJECTS) $(libelf_so_DEPENDENCIES) 
#	@rm -f libelf.so$(EXEEXT)
#	$(LINK) $(libelf_so_LDFLAGS) $(libelf_so_OBJECTS) $(libelf_so_LDADD) $(LIBS)

mostlyclean-compile:
	-rm -f *.$(OBJEXT)

distclean-compile:
	-rm -f *.tab.c

include ./$(DEPDIR)/elf32_checksum.Po
include ./$(DEPDIR)/elf32_fsize.Po
include ./$(DEPDIR)/elf32_getehdr.Po
include ./$(DEPDIR)/elf32_getphdr.Po
include ./$(DEPDIR)/elf32_getshdr.Po
include ./$(DEPDIR)/elf32_newehdr.Po
include ./$(DEPDIR)/elf32_newphdr.Po
include ./$(DEPDIR)/elf32_updatefile.Po
include ./$(DEPDIR)/elf32_updatenull.Po
include ./$(DEPDIR)/elf32_xlatetof.Po
include ./$(DEPDIR)/elf32_xlatetom.Po
include ./$(DEPDIR)/elf64_checksum.Po
include ./$(DEPDIR)/elf64_fsize.Po
include ./$(DEPDIR)/elf64_getehdr.Po
include ./$(DEPDIR)/elf64_getphdr.Po
include ./$(DEPDIR)/elf64_getshdr.Po
include ./$(DEPDIR)/elf64_newehdr.Po
include ./$(DEPDIR)/elf64_newphdr.Po
include ./$(DEPDIR)/elf64_updatefile.Po
include ./$(DEPDIR)/elf64_updatenull.Po
include ./$(DEPDIR)/elf64_xlatetof.Po
include ./$(DEPDIR)/elf64_xlatetom.Po
include ./$(DEPDIR)/elf_begin.Po
include ./$(DEPDIR)/elf_clone.Po
include ./$(DEPDIR)/elf_cntl.Po
include ./$(DEPDIR)/elf_end.Po
include ./$(DEPDIR)/elf_error.Po
include ./$(DEPDIR)/elf_fill.Po
include ./$(DEPDIR)/elf_flagdata.Po
include ./$(DEPDIR)/elf_flagehdr.Po
include ./$(DEPDIR)/elf_flagelf.Po
include ./$(DEPDIR)/elf_flagphdr.Po
include ./$(DEPDIR)/elf_flagscn.Po
include ./$(DEPDIR)/elf_flagshdr.Po
include ./$(DEPDIR)/elf_getarhdr.Po
include ./$(DEPDIR)/elf_getarsym.Po
include ./$(DEPDIR)/elf_getbase.Po
include ./$(DEPDIR)/elf_getdata.Po
include ./$(DEPDIR)/elf_getident.Po
include ./$(DEPDIR)/elf_getscn.Po
include ./$(DEPDIR)/elf_getshnum.Po
include ./$(DEPDIR)/elf_getshstrndx.Po
include ./$(DEPDIR)/elf_hash.Po
include ./$(DEPDIR)/elf_kind.Po
include ./$(DEPDIR)/elf_memory.Po
include ./$(DEPDIR)/elf_ndxscn.Po
include ./$(DEPDIR)/elf_newdata.Po
include ./$(DEPDIR)/elf_newscn.Po
include ./$(DEPDIR)/elf_next.Po
include ./$(DEPDIR)/elf_nextscn.Po
include ./$(DEPDIR)/elf_rand.Po
include ./$(DEPDIR)/elf_rawdata.Po
include ./$(DEPDIR)/elf_rawfile.Po
include ./$(DEPDIR)/elf_readall.Po
include ./$(DEPDIR)/elf_strptr.Po
include ./$(DEPDIR)/elf_update.Po
include ./$(DEPDIR)/elf_version.Po
include ./$(DEPDIR)/gelf_checksum.Po
include ./$(DEPDIR)/gelf_freechunk.Po
include ./$(DEPDIR)/gelf_fsize.Po
include ./$(DEPDIR)/gelf_getclass.Po
include ./$(DEPDIR)/gelf_getdyn.Po
include ./$(DEPDIR)/gelf_getehdr.Po
include ./$(DEPDIR)/gelf_getlib.Po
include ./$(DEPDIR)/gelf_getmove.Po
include ./$(DEPDIR)/gelf_getphdr.Po
include ./$(DEPDIR)/gelf_getrel.Po
include ./$(DEPDIR)/gelf_getrela.Po
include ./$(DEPDIR)/gelf_getshdr.Po
include ./$(DEPDIR)/gelf_getsym.Po
include ./$(DEPDIR)/gelf_getsyminfo.Po
include ./$(DEPDIR)/gelf_getsymshndx.Po
include ./$(DEPDIR)/gelf_getverdaux.Po
include ./$(DEPDIR)/gelf_getverdef.Po
include ./$(DEPDIR)/gelf_getvernaux.Po
include ./$(DEPDIR)/gelf_getverneed.Po
include ./$(DEPDIR)/gelf_getversym.Po
include ./$(DEPDIR)/gelf_newehdr.Po
include ./$(DEPDIR)/gelf_newphdr.Po
include ./$(DEPDIR)/gelf_rawchunk.Po
include ./$(DEPDIR)/gelf_update_dyn.Po
include ./$(DEPDIR)/gelf_update_ehdr.Po
include ./$(DEPDIR)/gelf_update_lib.Po
include ./$(DEPDIR)/gelf_update_move.Po
include ./$(DEPDIR)/gelf_update_phdr.Po
include ./$(DEPDIR)/gelf_update_rel.Po
include ./$(DEPDIR)/gelf_update_rela.Po
include ./$(DEPDIR)/gelf_update_shdr.Po
include ./$(DEPDIR)/gelf_update_sym.Po
include ./$(DEPDIR)/gelf_update_syminfo.Po
include ./$(DEPDIR)/gelf_update_symshndx.Po
include ./$(DEPDIR)/gelf_update_verdaux.Po
include ./$(DEPDIR)/gelf_update_verdef.Po
include ./$(DEPDIR)/gelf_update_vernaux.Po
include ./$(DEPDIR)/gelf_update_verneed.Po
include ./$(DEPDIR)/gelf_update_versym.Po
include ./$(DEPDIR)/gelf_xlate.Po
include ./$(DEPDIR)/gelf_xlatetof.Po
include ./$(DEPDIR)/gelf_xlatetom.Po
include ./$(DEPDIR)/libelf_crc32.Po
include ./$(DEPDIR)/libelf_next_prime.Po
include ./$(DEPDIR)/nlist.Po

.c.o:
	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
#	source='$<' object='$@' libtool=no \
#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
#	$(COMPILE) -c $<

.c.obj:
	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
#	source='$<' object='$@' libtool=no \
#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
#	$(COMPILE) -c `$(CYGPATH_W) '$<'`
uninstall-info-am:
install-euincludeHEADERS: $(euinclude_HEADERS)
	@$(NORMAL_INSTALL)
	test -z "$(euincludedir)" || $(mkdir_p) "$(DESTDIR)$(euincludedir)"
	@list='$(euinclude_HEADERS)'; for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  f=$(am__strip_dir) \
	  echo " $(euincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(euincludedir)/$$f'"; \
	  $(euincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(euincludedir)/$$f"; \
	done

uninstall-euincludeHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(euinclude_HEADERS)'; for p in $$list; do \
	  f=$(am__strip_dir) \
	  echo " rm -f '$(DESTDIR)$(euincludedir)/$$f'"; \
	  rm -f "$(DESTDIR)$(euincludedir)/$$f"; \
	done
install-includeHEADERS: $(include_HEADERS)
	@$(NORMAL_INSTALL)
	test -z "$(includedir)" || $(mkdir_p) "$(DESTDIR)$(includedir)"
	@list='$(include_HEADERS)'; for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  f=$(am__strip_dir) \
	  echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \
	  $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \
	done

uninstall-includeHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(include_HEADERS)'; for p in $$list; do \
	  f=$(am__strip_dir) \
	  echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \
	  rm -f "$(DESTDIR)$(includedir)/$$f"; \
	done

ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
	unique=`for i in $$list; do \
	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
	  done | \
	  $(AWK) '    { files[$$0] = 1; } \
	       END { for (i in files) print i; }'`; \
	mkid -fID $$unique
tags: TAGS

TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
		$(TAGS_FILES) $(LISP)
	tags=; \
	here=`pwd`; \
	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
	unique=`for i in $$list; do \
	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
	  done | \
	  $(AWK) '    { files[$$0] = 1; } \
	       END { for (i in files) print i; }'`; \
	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
	  test -n "$$unique" || unique=$$empty_fix; \
	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	    $$tags $$unique; \
	fi
ctags: CTAGS
CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
		$(TAGS_FILES) $(LISP)
	tags=; \
	here=`pwd`; \
	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
	unique=`for i in $$list; do \
	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
	  done | \
	  $(AWK) '    { files[$$0] = 1; } \
	       END { for (i in files) print i; }'`; \
	test -z "$(CTAGS_ARGS)$$tags$$unique" \
	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
	     $$tags $$unique

GTAGS:
	here=`$(am__cd) $(top_builddir) && pwd` \
	  && cd $(top_srcdir) \
	  && gtags -i $(GTAGS_ARGS) $$here

distclean-tags:
	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags

distdir: $(DISTFILES)
	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
	list='$(DISTFILES)'; for file in $$list; do \
	  case $$file in \
	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
	  esac; \
	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
	    dir="/$$dir"; \
	    $(mkdir_p) "$(distdir)$$dir"; \
	  else \
	    dir=''; \
	  fi; \
	  if test -d $$d/$$file; then \
	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
	    fi; \
	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
	  else \
	    test -f $(distdir)/$$file \
	    || cp -p $$d/$$file $(distdir)/$$file \
	    || exit 1; \
	  fi; \
	done
check-am: all-am
check: check-am
all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(HEADERS)
installdirs:
	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(euincludedir)" "$(DESTDIR)$(includedir)"; do \
	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
	done
#install: install-am
install-exec: install-exec-am
install-data: install-data-am
#uninstall: uninstall-am

install-am: all-am
	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am

installcheck: installcheck-am
install-strip:
	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	  `test -z '$(STRIP)' || \
	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:

clean-generic:
	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)

distclean-generic:
	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)

maintainer-clean-generic:
	@echo "This command is intended for maintainers to use"
	@echo "it deletes files that may require special tools to rebuild."
clean: clean-am

clean-am: clean-generic clean-libLIBRARIES clean-noinstLIBRARIES \
	clean-noinstPROGRAMS mostlyclean-am

distclean: distclean-am
	-rm -rf ./$(DEPDIR)
	-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
	distclean-tags

dvi: dvi-am

dvi-am:

html: html-am

info: info-am

info-am:

install-data-am: install-euincludeHEADERS install-includeHEADERS

install-exec-am: install-libLIBRARIES

install-info: install-info-am

install-man:

installcheck-am:

maintainer-clean: maintainer-clean-am
	-rm -rf ./$(DEPDIR)
	-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-am

mostlyclean-am: mostlyclean-compile mostlyclean-generic

pdf: pdf-am

pdf-am:

ps: ps-am

ps-am:

uninstall-am: uninstall-euincludeHEADERS uninstall-includeHEADERS \
	uninstall-info-am uninstall-libLIBRARIES

.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
	clean-libLIBRARIES clean-noinstLIBRARIES clean-noinstPROGRAMS \
	ctags distclean distclean-compile distclean-generic \
	distclean-tags distdir dvi dvi-am html html-am info info-am \
	install install-am install-data install-data-am \
	install-euincludeHEADERS install-exec install-exec-am \
	install-includeHEADERS install-info install-info-am \
	install-libLIBRARIES install-man install-strip installcheck \
	installcheck-am installdirs maintainer-clean \
	maintainer-clean-generic mostlyclean mostlyclean-compile \
	mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
	uninstall-am uninstall-euincludeHEADERS \
	uninstall-includeHEADERS uninstall-info-am \
	uninstall-libLIBRARIES

libelf.so: libelf_pic.a libelf.map
	$(CC) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \
	      -Wl,--version-script,$(srcdir)/libelf.map,--no-undefined \
	      -Wl,--soname,$@.$(VERSION),-z-defs
	ln -fs $@ $@.$(VERSION)

%.os: %.c %.o
	if $(COMPILE) -c -o $@ -fpic -DPIC -DSHARED -MT $@ -MD -MP \
	  -MF "$(DEPDIR)/$*.Tpo" `test -f '$<' || echo '$(srcdir)/'`$<; \
	then cat "$(DEPDIR)/$*.Tpo" >> "$(DEPDIR)/$*.Po"; \
	     rm -f "$(DEPDIR)/$*.Tpo"; \
	else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
	fi

install: install-am libelf.so
	$(mkinstalldirs) $(DESTDIR)$(libdir)
	$(INSTALL_PROGRAM) libelf.so $(DESTDIR)$(libdir)/libelf-$(PACKAGE_VERSION).so
	ln -fs libelf-$(PACKAGE_VERSION).so $(DESTDIR)$(libdir)/libelf.so.$(VERSION)
	ln -fs libelf.so.$(VERSION) $(DESTDIR)$(libdir)/libelf.so

uninstall: uninstall-am
	rm -f $(DESTDIR)$(libdir)/libelf-$(PACKAGE_VERSION).so
	rm -f $(DESTDIR)$(libdir)/libelf.so.$(VERSION)
	rm -f $(DESTDIR)$(libdir)/libelf.so

.PSEUDO: lint
lint:
	$(LINT) $(DEFS) $(INCLUDES) $(GCC_INCLUDE) -f $(top_srcdir)/splint.rc \
		$(addprefix $(srcdir)/,$(libelf_a_SOURCES))
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
