# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@

# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005  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.

@SET_MAKE@

srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
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 = @build@
host_triplet = @host@
target_triplet = @target@
bin_PROGRAMS = $(am__EXEEXT_6) $(am__EXEEXT_7) $(am__EXEEXT_8) \
	$(am__EXEEXT_9) $(am__EXEEXT_10) $(am__EXEEXT_11) \
	@BUILD_NLMCONV@ @BUILD_SRCONV@ @BUILD_DLLTOOL@ @BUILD_WINDRES@ \
	@BUILD_WINDMC@ $(am__EXEEXT_12) $(am__EXEEXT_13) \
	@BUILD_DLLWRAP@ @BUILD_INSTALL_MISC@ $(am__empty)
noinst_PROGRAMS = $(am__EXEEXT_17) @BUILD_MISC@
EXTRA_PROGRAMS = $(am__EXEEXT_1) srconv$(EXEEXT) sysdump$(EXEEXT) \
	coffdump$(EXEEXT) $(am__EXEEXT_2) $(am__EXEEXT_3) \
	$(am__EXEEXT_4) $(am__EXEEXT_5)
DIST_COMMON = $(srcdir)/../config.guess $(srcdir)/../config.sub NEWS \
	README ChangeLog $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
	$(top_srcdir)/configure $(am__configure_deps) \
	$(srcdir)/config.in $(srcdir)/../mkinstalldirs \
	$(top_srcdir)/po/Make-in arparse.h arparse.c arlex.c \
	defparse.h defparse.c deflex.c nlmheader.h nlmheader.c \
	arparse.h arparse.c arlex.c mcparse.h mcparse.c rcparse.h \
	rcparse.c $(srcdir)/../ylwrap $(srcdir)/../ltmain.sh \
	$(srcdir)/../config.guess $(srcdir)/../config.sub
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
	$(top_srcdir)/../config/extensions.m4 \
	$(top_srcdir)/../config/gettext-sister.m4 \
	$(top_srcdir)/../config/iconv.m4 \
	$(top_srcdir)/../config/lead-dot.m4 \
	$(top_srcdir)/../config/lib-ld.m4 \
	$(top_srcdir)/../config/lib-link.m4 \
	$(top_srcdir)/../config/lib-prefix.m4 \
	$(top_srcdir)/../config/nls.m4 \
	$(top_srcdir)/../config/override.m4 \
	$(top_srcdir)/../config/plugins.m4 \
	$(top_srcdir)/../config/po.m4 \
	$(top_srcdir)/../config/proginstall.m4 \
	$(top_srcdir)/../config/progtest.m4 \
	$(top_srcdir)/../bfd/acinclude.m4 \
	$(top_srcdir)/../bfd/warning.m4 $(top_srcdir)/../libtool.m4 \
	$(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \
	$(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \
	$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
 configure.lineno configure.status.lineno
mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES = po/Makefile.in
am__EXEEXT_1 = nlmconv$(EXEEXT)
am__EXEEXT_2 = dlltool$(EXEEXT)
am__EXEEXT_3 = windres$(EXEEXT)
am__EXEEXT_4 = windmc$(EXEEXT)
am__EXEEXT_5 = dllwrap$(EXEEXT)
am__EXEEXT_6 = size$(EXEEXT)
am__EXEEXT_7 = objdump$(EXEEXT)
am__EXEEXT_8 = ar$(EXEEXT)
am__EXEEXT_9 = strings$(EXEEXT)
am__EXEEXT_10 = ranlib$(EXEEXT)
am__EXEEXT_11 = objcopy$(EXEEXT)
am__EXEEXT_12 = addr2line$(EXEEXT)
am__EXEEXT_13 = readelf$(EXEEXT)
am__installdirs = "$(DESTDIR)$(bindir)"
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
am__EXEEXT_14 = nm-new$(EXEEXT)
am__EXEEXT_15 = strip-new$(EXEEXT)
am__EXEEXT_16 = cxxfilt$(EXEEXT)
am__EXEEXT_17 = $(am__EXEEXT_14) $(am__EXEEXT_15) $(am__EXEEXT_16)
PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
am__objects_1 = bucomm.$(OBJEXT) version.$(OBJEXT) filemode.$(OBJEXT)
am_addr2line_OBJECTS = addr2line.$(OBJEXT) $(am__objects_1)
addr2line_OBJECTS = $(am_addr2line_OBJECTS)
addr2line_LDADD = $(LDADD)
am__DEPENDENCIES_1 = ../bfd/libbfd.la
am__DEPENDENCIES_2 = ../libiberty/libiberty.a
am__DEPENDENCIES_3 =
am_ar_OBJECTS = arparse.$(OBJEXT) arlex.$(OBJEXT) ar.$(OBJEXT) \
	not-ranlib.$(OBJEXT) arsup.$(OBJEXT) rename.$(OBJEXT) \
	binemul.$(OBJEXT) emul_$(EMULATION).$(OBJEXT) $(am__objects_1)
ar_OBJECTS = $(am_ar_OBJECTS)
am_coffdump_OBJECTS = coffdump.$(OBJEXT) coffgrok.$(OBJEXT) \
	$(am__objects_1)
coffdump_OBJECTS = $(am_coffdump_OBJECTS)
coffdump_LDADD = $(LDADD)
am_cxxfilt_OBJECTS = cxxfilt.$(OBJEXT) $(am__objects_1)
cxxfilt_OBJECTS = $(am_cxxfilt_OBJECTS)
cxxfilt_LDADD = $(LDADD)
am_dlltool_OBJECTS = dlltool.$(OBJEXT) defparse.$(OBJEXT) \
	deflex.$(OBJEXT) $(am__objects_1)
dlltool_OBJECTS = $(am_dlltool_OBJECTS)
am_dllwrap_OBJECTS = dllwrap.$(OBJEXT) version.$(OBJEXT)
dllwrap_OBJECTS = $(am_dllwrap_OBJECTS)
am_nlmconv_OBJECTS = nlmconv.$(OBJEXT) nlmheader.$(OBJEXT) \
	$(am__objects_1)
nlmconv_OBJECTS = $(am_nlmconv_OBJECTS)
nlmconv_LDADD = $(LDADD)
am_nm_new_OBJECTS = nm.$(OBJEXT) $(am__objects_1)
nm_new_OBJECTS = $(am_nm_new_OBJECTS)
nm_new_LDADD = $(LDADD)
am__objects_2 = rddbg.$(OBJEXT) debug.$(OBJEXT) stabs.$(OBJEXT) \
	ieee.$(OBJEXT) rdcoff.$(OBJEXT)
am__objects_3 = $(am__objects_2) wrstabs.$(OBJEXT)
am_objcopy_OBJECTS = objcopy.$(OBJEXT) not-strip.$(OBJEXT) \
	rename.$(OBJEXT) $(am__objects_3) $(am__objects_1)
objcopy_OBJECTS = $(am_objcopy_OBJECTS)
objcopy_LDADD = $(LDADD)
am_objdump_OBJECTS = objdump.$(OBJEXT) dwarf.$(OBJEXT) prdbg.$(OBJEXT) \
	$(am__objects_2) $(am__objects_1)
objdump_OBJECTS = $(am_objdump_OBJECTS)
am__DEPENDENCIES_4 = ../opcodes/libopcodes.la
am_ranlib_OBJECTS = ar.$(OBJEXT) is-ranlib.$(OBJEXT) arparse.$(OBJEXT) \
	arlex.$(OBJEXT) arsup.$(OBJEXT) rename.$(OBJEXT) \
	binemul.$(OBJEXT) emul_$(EMULATION).$(OBJEXT) $(am__objects_1)
ranlib_OBJECTS = $(am_ranlib_OBJECTS)
am_readelf_OBJECTS = readelf.$(OBJEXT) version.$(OBJEXT) \
	unwind-ia64.$(OBJEXT) dwarf.$(OBJEXT)
readelf_OBJECTS = $(am_readelf_OBJECTS)
am_size_OBJECTS = size.$(OBJEXT) $(am__objects_1)
size_OBJECTS = $(am_size_OBJECTS)
size_LDADD = $(LDADD)
am_srconv_OBJECTS = srconv.$(OBJEXT) coffgrok.$(OBJEXT) \
	$(am__objects_1)
srconv_OBJECTS = $(am_srconv_OBJECTS)
srconv_LDADD = $(LDADD)
am_strings_OBJECTS = strings.$(OBJEXT) $(am__objects_1)
strings_OBJECTS = $(am_strings_OBJECTS)
strings_LDADD = $(LDADD)
am_strip_new_OBJECTS = objcopy.$(OBJEXT) is-strip.$(OBJEXT) \
	rename.$(OBJEXT) $(am__objects_3) $(am__objects_1)
strip_new_OBJECTS = $(am_strip_new_OBJECTS)
strip_new_LDADD = $(LDADD)
am_sysdump_OBJECTS = sysdump.$(OBJEXT) $(am__objects_1)
sysdump_OBJECTS = $(am_sysdump_OBJECTS)
sysdump_LDADD = $(LDADD)
am_windmc_OBJECTS = windmc.$(OBJEXT) mcparse.$(OBJEXT) mclex.$(OBJEXT) \
	winduni.$(OBJEXT) $(am__objects_1)
windmc_OBJECTS = $(am_windmc_OBJECTS)
am_windres_OBJECTS = windres.$(OBJEXT) resrc.$(OBJEXT) \
	rescoff.$(OBJEXT) resbin.$(OBJEXT) rcparse.$(OBJEXT) \
	rclex.$(OBJEXT) winduni.$(OBJEXT) resres.$(OBJEXT) \
	$(am__objects_1)
windres_OBJECTS = $(am_windres_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I.
depcomp =
am__depfiles_maybe =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
	$(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
LEXCOMPILE = $(LEX) $(LFLAGS) $(AM_LFLAGS)
LTLEXCOMPILE = $(LIBTOOL) --mode=compile $(LEX) $(LFLAGS) $(AM_LFLAGS)
YLWRAP = $(top_srcdir)/../ylwrap
YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS)
LTYACCCOMPILE = $(LIBTOOL) --mode=compile $(YACC) $(YFLAGS) \
	$(AM_YFLAGS)
SOURCES = $(addr2line_SOURCES) $(ar_SOURCES) $(coffdump_SOURCES) \
	$(cxxfilt_SOURCES) $(dlltool_SOURCES) $(dllwrap_SOURCES) \
	$(nlmconv_SOURCES) $(nm_new_SOURCES) $(objcopy_SOURCES) \
	$(objdump_SOURCES) $(ranlib_SOURCES) $(readelf_SOURCES) \
	$(size_SOURCES) $(srconv_SOURCES) $(strings_SOURCES) \
	$(strip_new_SOURCES) $(sysdump_SOURCES) $(windmc_SOURCES) \
	$(windres_SOURCES)
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
	html-recursive info-recursive install-data-recursive \
	install-exec-recursive install-info-recursive \
	install-recursive installcheck-recursive installdirs-recursive \
	pdf-recursive ps-recursive uninstall-info-recursive \
	uninstall-recursive
ETAGS = etags
CTAGS = ctags
DEJATOOL = $(PACKAGE)
RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
DIST_SUBDIRS = $(SUBDIRS)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_DLLTOOL = @BUILD_DLLTOOL@
BUILD_DLLWRAP = @BUILD_DLLWRAP@
BUILD_INSTALL_MISC = @BUILD_INSTALL_MISC@
BUILD_MISC = @BUILD_MISC@
BUILD_NLMCONV = @BUILD_NLMCONV@
BUILD_SRCONV = @BUILD_SRCONV@
BUILD_WINDMC = @BUILD_WINDMC@
BUILD_WINDRES = @BUILD_WINDRES@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CC_FOR_BUILD = @CC_FOR_BUILD@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DATADIRNAME = @DATADIRNAME@
DEFS = @DEFS@
DEMANGLER_NAME = @DEMANGLER_NAME@
DEPDIR = @DEPDIR@
DLLTOOL_DEFS = @DLLTOOL_DEFS@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EMULATION = @EMULATION@
EMULATION_VECTOR = @EMULATION_VECTOR@
EXEEXT = @EXEEXT@
EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@
FGREP = @FGREP@
GENCAT = @GENCAT@
GENINSRC_NEVER_FALSE = @GENINSRC_NEVER_FALSE@
GENINSRC_NEVER_TRUE = @GENINSRC_NEVER_TRUE@
GMSGFMT = @GMSGFMT@
GREP = @GREP@
HDEFINES = @HDEFINES@
INCINTL = @INCINTL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
LD = @LD@
LDFLAGS = @LDFLAGS@
LEX = `if [ -f ../flex/flex ]; then echo ../flex/flex; else echo @LEX@; fi`
LEXLIB = @LEXLIB@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBINTL_DEP = @LIBINTL_DEP@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
MSGMERGE = @MSGMERGE@
NLMCONV_DEFS = @NLMCONV_DEFS@
NM = @NM@
NMEDIT = @NMEDIT@
NO_WERROR = @NO_WERROR@
OBJDUMP = @OBJDUMP@
OBJDUMP_DEFS = @OBJDUMP_DEFS@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
POSUB = @POSUB@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
XGETTEXT = @XGETTEXT@
YACC = `if [ -f ../bison/bison ]; then echo ../bison/bison -y -L$(srcdir)/../bison/; else echo @YACC@; fi`
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_DSYMUTIL = @ac_ct_DSYMUTIL@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_LIPO = @ac_ct_LIPO@
ac_ct_NMEDIT = @ac_ct_NMEDIT@
ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
ac_ct_OTOOL = @ac_ct_OTOOL@
ac_ct_OTOOL64 = @ac_ct_OTOOL64@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
AUTOMAKE_OPTIONS = cygnus dejagnu
ACLOCAL_AMFLAGS = -I .. -I ../config -I ../bfd
SUBDIRS = doc po
tooldir = $(exec_prefix)/$(target_alias)
YFLAGS = -d
AM_CFLAGS = $(WARN_CFLAGS)

# these two are almost the same program
AR_PROG = ar
RANLIB_PROG = ranlib

# objcopy and strip should be the same program
OBJCOPY_PROG = objcopy
STRIP_PROG = strip-new
STRINGS_PROG = strings
READELF_PROG = readelf

# These should all be the same program too.
SIZE_PROG = size
NM_PROG = nm-new
OBJDUMP_PROG = objdump

# This is the demangler, as a standalone program.
# Note: This one is used as the installed name too, unlike the above.
DEMANGLER_PROG = cxxfilt
ADDR2LINE_PROG = addr2line
NLMCONV_PROG = nlmconv
DLLTOOL_PROG = dlltool
WINDRES_PROG = windres
WINDMC_PROG = windmc
DLLWRAP_PROG = dllwrap
SRCONV_PROG = srconv$(EXEEXT) sysdump$(EXEEXT) coffdump$(EXEEXT)
RENAMED_PROGS = $(NM_PROG) $(STRIP_PROG) $(DEMANGLER_PROG)

# Stuff that goes in tooldir/ if appropriate.
TOOL_PROGS = nm-new strip-new ar ranlib dlltool objdump objcopy
BASEDIR = $(srcdir)/..
BFDDIR = $(BASEDIR)/bfd
INCDIR = $(BASEDIR)/include
MKDEP = gcc -MM
INCLUDES = -I. -I$(srcdir) -I../bfd -I$(BFDDIR) -I$(INCDIR) \
	 @HDEFINES@ \
	 @INCINTL@ \
	 -DLOCALEDIR="\"$(datadir)/locale\"" \
	 -Dbin_dummy_emulation=$(EMULATION_VECTOR)

HFILES = \
	arsup.h binemul.h bucomm.h budbg.h \
	coffgrok.h debug.h dlltool.h dwarf.h nlmconv.h \
	sysdep.h unwind-ia64.h windres.h winduni.h windint.h \
	windmc.h

GENERATED_HFILES = arparse.h sysroff.h sysinfo.h defparse.h rcparse.h mcparse.h
CFILES = \
	addr2line.c ar.c arsup.c bin2c.c binemul.c bucomm.c \
	coffdump.c coffgrok.c cxxfilt.c \
	dwarf.c debug.c dlltool.c dllwrap.c \
	emul_aix.c emul_vanilla.c filemode.c \
	ieee.c is-ranlib.c is-strip.c maybe-ranlib.c maybe-strip.c \
	nlmconv.c nm.c not-ranlib.c not-strip.c \
	objcopy.c objdump.c prdbg.c \
	rclex.c rdcoff.c rddbg.c readelf.c rename.c \
	resbin.c rescoff.c resrc.c resres.c \
	size.c srconv.c stabs.c strings.c sysdump.c \
	unwind-ia64.c version.c \
	windres.c winduni.c wrstabs.c \
	windmc.c mclex.c

GENERATED_CFILES = \
	arparse.c arlex.c sysroff.c sysinfo.c syslex.c \
	defparse.c deflex.c nlmheader.c rcparse.c mcparse.c

DEBUG_SRCS = rddbg.c debug.c stabs.c ieee.c rdcoff.c
WRITE_DEBUG_SRCS = $(DEBUG_SRCS) wrstabs.c

# Code shared by all the binutils.
BULIBS = bucomm.c version.c filemode.c
BFDLIB = ../bfd/libbfd.la
OPCODES = ../opcodes/libopcodes.la
LIBIBERTY = ../libiberty/libiberty.a
POTFILES = $(CFILES) $(DEBUG_SRCS) $(HFILES)
EXPECT = expect
RUNTEST = runtest
CC_FOR_TARGET = ` \
  if [ -f $$r/../gcc/xgcc ] ; then \
    if [ -f $$r/../newlib/Makefile ] ; then \
      echo $$r/../gcc/xgcc -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc; \
    else \
      echo $$r/../gcc/xgcc -B$$r/../gcc/; \
    fi; \
  else \
    if [ "@host@" = "@target@" ] ; then \
      echo $(CC); \
    else \
      echo gcc | sed '$(transform)'; \
    fi; \
  fi`


# There's no global DEPENDENCIES.  So, we must explicitly list everything
# which depends on libintl, since we don't know whether LIBINTL_DEP will be
# non-empty until configure time.  Ugh!
size_DEPENDENCIES = $(LIBINTL_DEP) $(LIBIBERTY) $(BFDLIB)
objdump_DEPENDENCIES = $(LIBINTL_DEP) $(LIBIBERTY) $(BFDLIB) $(OPCODES)
nm_new_DEPENDENCIES = $(LIBINTL_DEP) $(LIBIBERTY) $(BFDLIB)
ar_DEPENDENCIES = $(LIBINTL_DEP) $(LIBIBERTY) $(BFDLIB)
strings_DEPENDENCIES = $(LIBINTL_DEP) $(LIBIBERTY) $(BFDLIB)
strip_new_DEPENDENCIES = $(LIBINTL_DEP) $(LIBIBERTY) $(BFDLIB)
ranlib_DEPENDENCIES = $(LIBINTL_DEP) $(LIBIBERTY) $(BFDLIB)
cxxfilt_DEPENDENCIES = $(LIBINTL_DEP) $(LIBIBERTY) $(BFDLIB)
objcopy_DEPENDENCIES = $(LIBINTL_DEP) $(LIBIBERTY) $(BFDLIB)
nlmconv_DEPENDENCIES = $(LIBINTL_DEP) $(LIBIBERTY) $(BFDLIB)
srconv_DEPENDENCIES = $(LIBINTL_DEP) $(LIBIBERTY) $(BFDLIB)
sysdump_DEPENDENCIES = $(LIBINTL_DEP) $(LIBIBERTY) $(BFDLIB)
coffdump_DEPENDENCIES = $(LIBINTL_DEP) $(LIBIBERTY) $(BFDLIB)
dlltool_DEPENDENCIES = $(LIBINTL_DEP) $(LIBIBERTY) $(BFDLIB)
windres_DEPENDENCIES = $(LIBINTL_DEP) $(LIBIBERTY) $(BFDLIB)
windmc_DEPENDENCIES = $(LIBINTL_DEP) $(LIBIBERTY) $(BFDLIB)
addr2line_DEPENDENCIES = $(LIBINTL_DEP) $(LIBIBERTY) $(BFDLIB)
readelf_DEPENDENCIES = $(LIBINTL_DEP) $(LIBIBERTY)
dllwrap_DEPENDENCIES = $(LIBINTL_DEP) $(LIBIBERTY)
LDADD = $(BFDLIB) $(LIBIBERTY) $(LIBINTL)
size_SOURCES = size.c $(BULIBS)
objcopy_SOURCES = objcopy.c not-strip.c rename.c $(WRITE_DEBUG_SRCS) $(BULIBS)
strings_SOURCES = strings.c $(BULIBS)
readelf_SOURCES = readelf.c version.c unwind-ia64.c dwarf.c
readelf_LDADD = $(LIBINTL) $(LIBIBERTY)
strip_new_SOURCES = objcopy.c is-strip.c rename.c $(WRITE_DEBUG_SRCS) $(BULIBS)
nm_new_SOURCES = nm.c $(BULIBS)
objdump_SOURCES = objdump.c dwarf.c prdbg.c $(DEBUG_SRCS) $(BULIBS)
objdump_LDADD = $(OPCODES) $(BFDLIB) $(LIBIBERTY) $(LIBINTL)
cxxfilt_SOURCES = cxxfilt.c $(BULIBS)
ar_SOURCES = arparse.y arlex.l ar.c not-ranlib.c arsup.c rename.c binemul.c \
	emul_$(EMULATION).c $(BULIBS)

ar_LDADD = $(BFDLIB) $(LIBIBERTY) @LEXLIB@ $(LIBINTL)
ranlib_SOURCES = ar.c is-ranlib.c arparse.y arlex.l arsup.c rename.c \
	binemul.c emul_$(EMULATION).c $(BULIBS)

ranlib_LDADD = $(BFDLIB) $(LIBIBERTY) @LEXLIB@ $(LIBINTL)
addr2line_SOURCES = addr2line.c $(BULIBS)
srconv_SOURCES = srconv.c coffgrok.c $(BULIBS)
dlltool_SOURCES = dlltool.c defparse.y deflex.l $(BULIBS)
dlltool_LDADD = $(BFDLIB) $(LIBIBERTY) @LEXLIB@ $(LIBINTL)
coffdump_SOURCES = coffdump.c coffgrok.c $(BULIBS)
sysdump_SOURCES = sysdump.c $(BULIBS)
nlmconv_SOURCES = nlmconv.c nlmheader.y $(BULIBS)
windres_SOURCES = windres.c resrc.c rescoff.c resbin.c rcparse.y rclex.c \
	winduni.c resres.c $(BULIBS)

windres_LDADD = $(BFDLIB) $(LIBIBERTY) @LEXLIB@ $(LIBINTL) $(LIBICONV)
windmc_SOURCES = windmc.c mcparse.y mclex.c \
	winduni.c $(BULIBS)

windmc_LDADD = $(BFDLIB) $(LIBIBERTY) @LEXLIB@ $(LIBINTL) $(LIBICONV)
dllwrap_SOURCES = dllwrap.c version.c
dllwrap_LDADD = $(LIBIBERTY) $(LIBINTL)
EXTRA_DIST = arparse.c arparse.h arlex.c nlmheader.c sysinfo.c sysinfo.h \
	syslex.c deflex.c defparse.h defparse.c rcparse.h rcparse.c \
	mcparse.h mcparse.c

DISTCLEANFILES = sysroff.c sysroff.h site.exp site.bak

###
MOSTLYCLEANFILES = sysinfo$(EXEEXT_FOR_BUILD) bin2c$(EXEEXT_FOR_BUILD) \
  binutils.log binutils.sum abcdefgh*

CLEANFILES = dep.sed DEP DEPA DEP1 DEP2
all: config.h
	$(MAKE) $(AM_MAKEFLAGS) all-recursive

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

$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
	$(SHELL) ./config.status --recheck

$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
	cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)

config.h: stamp-h1
	@if test ! -f $@; then \
	  rm -f stamp-h1; \
	  $(MAKE) stamp-h1; \
	else :; fi

stamp-h1: $(srcdir)/config.in $(top_builddir)/config.status
	@rm -f stamp-h1
	cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) 
	cd $(top_srcdir) && $(AUTOHEADER)
	rm -f stamp-h1
	touch $@

distclean-hdr:
	-rm -f config.h stamp-h1
po/Makefile.in: $(top_builddir)/config.status $(top_srcdir)/po/Make-in
	cd $(top_builddir) && $(SHELL) ./config.status $@
install-binPROGRAMS: $(bin_PROGRAMS)
	@$(NORMAL_INSTALL)
	test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
	@list='$(bin_PROGRAMS)'; for p in $$list; do \
	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
	  if test -f $$p \
	     || test -f $$p1 \
	  ; then \
	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
	   echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
	   $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
	  else :; fi; \
	done

uninstall-binPROGRAMS:
	@$(NORMAL_UNINSTALL)
	@list='$(bin_PROGRAMS)'; for p in $$list; do \
	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
	  echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
	  rm -f "$(DESTDIR)$(bindir)/$$f"; \
	done

clean-binPROGRAMS:
	@list='$(bin_PROGRAMS)'; for p in $$list; do \
	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
	  echo " rm -f $$p $$f"; \
	  rm -f $$p $$f ; \
	done

clean-noinstPROGRAMS:
	@list='$(noinst_PROGRAMS)'; for p in $$list; do \
	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
	  echo " rm -f $$p $$f"; \
	  rm -f $$p $$f ; \
	done
addr2line$(EXEEXT): $(addr2line_OBJECTS) $(addr2line_DEPENDENCIES) 
	@rm -f addr2line$(EXEEXT)
	$(LINK) $(addr2line_LDFLAGS) $(addr2line_OBJECTS) $(addr2line_LDADD) $(LIBS)
ar$(EXEEXT): $(ar_OBJECTS) $(ar_DEPENDENCIES) 
	@rm -f ar$(EXEEXT)
	$(LINK) $(ar_LDFLAGS) $(ar_OBJECTS) $(ar_LDADD) $(LIBS)
coffdump$(EXEEXT): $(coffdump_OBJECTS) $(coffdump_DEPENDENCIES) 
	@rm -f coffdump$(EXEEXT)
	$(LINK) $(coffdump_LDFLAGS) $(coffdump_OBJECTS) $(coffdump_LDADD) $(LIBS)
cxxfilt$(EXEEXT): $(cxxfilt_OBJECTS) $(cxxfilt_DEPENDENCIES) 
	@rm -f cxxfilt$(EXEEXT)
	$(LINK) $(cxxfilt_LDFLAGS) $(cxxfilt_OBJECTS) $(cxxfilt_LDADD) $(LIBS)
dlltool$(EXEEXT): $(dlltool_OBJECTS) $(dlltool_DEPENDENCIES) 
	@rm -f dlltool$(EXEEXT)
	$(LINK) $(dlltool_LDFLAGS) $(dlltool_OBJECTS) $(dlltool_LDADD) $(LIBS)
dllwrap$(EXEEXT): $(dllwrap_OBJECTS) $(dllwrap_DEPENDENCIES) 
	@rm -f dllwrap$(EXEEXT)
	$(LINK) $(dllwrap_LDFLAGS) $(dllwrap_OBJECTS) $(dllwrap_LDADD) $(LIBS)
nlmconv$(EXEEXT): $(nlmconv_OBJECTS) $(nlmconv_DEPENDENCIES) 
	@rm -f nlmconv$(EXEEXT)
	$(LINK) $(nlmconv_LDFLAGS) $(nlmconv_OBJECTS) $(nlmconv_LDADD) $(LIBS)
nm-new$(EXEEXT): $(nm_new_OBJECTS) $(nm_new_DEPENDENCIES) 
	@rm -f nm-new$(EXEEXT)
	$(LINK) $(nm_new_LDFLAGS) $(nm_new_OBJECTS) $(nm_new_LDADD) $(LIBS)
objcopy$(EXEEXT): $(objcopy_OBJECTS) $(objcopy_DEPENDENCIES) 
	@rm -f objcopy$(EXEEXT)
	$(LINK) $(objcopy_LDFLAGS) $(objcopy_OBJECTS) $(objcopy_LDADD) $(LIBS)
objdump$(EXEEXT): $(objdump_OBJECTS) $(objdump_DEPENDENCIES) 
	@rm -f objdump$(EXEEXT)
	$(LINK) $(objdump_LDFLAGS) $(objdump_OBJECTS) $(objdump_LDADD) $(LIBS)
ranlib$(EXEEXT): $(ranlib_OBJECTS) $(ranlib_DEPENDENCIES) 
	@rm -f ranlib$(EXEEXT)
	$(LINK) $(ranlib_LDFLAGS) $(ranlib_OBJECTS) $(ranlib_LDADD) $(LIBS)
readelf$(EXEEXT): $(readelf_OBJECTS) $(readelf_DEPENDENCIES) 
	@rm -f readelf$(EXEEXT)
	$(LINK) $(readelf_LDFLAGS) $(readelf_OBJECTS) $(readelf_LDADD) $(LIBS)
size$(EXEEXT): $(size_OBJECTS) $(size_DEPENDENCIES) 
	@rm -f size$(EXEEXT)
	$(LINK) $(size_LDFLAGS) $(size_OBJECTS) $(size_LDADD) $(LIBS)
srconv$(EXEEXT): $(srconv_OBJECTS) $(srconv_DEPENDENCIES) 
	@rm -f srconv$(EXEEXT)
	$(LINK) $(srconv_LDFLAGS) $(srconv_OBJECTS) $(srconv_LDADD) $(LIBS)
strings$(EXEEXT): $(strings_OBJECTS) $(strings_DEPENDENCIES) 
	@rm -f strings$(EXEEXT)
	$(LINK) $(strings_LDFLAGS) $(strings_OBJECTS) $(strings_LDADD) $(LIBS)
strip-new$(EXEEXT): $(strip_new_OBJECTS) $(strip_new_DEPENDENCIES) 
	@rm -f strip-new$(EXEEXT)
	$(LINK) $(strip_new_LDFLAGS) $(strip_new_OBJECTS) $(strip_new_LDADD) $(LIBS)
sysdump$(EXEEXT): $(sysdump_OBJECTS) $(sysdump_DEPENDENCIES) 
	@rm -f sysdump$(EXEEXT)
	$(LINK) $(sysdump_LDFLAGS) $(sysdump_OBJECTS) $(sysdump_LDADD) $(LIBS)
windmc$(EXEEXT): $(windmc_OBJECTS) $(windmc_DEPENDENCIES) 
	@rm -f windmc$(EXEEXT)
	$(LINK) $(windmc_LDFLAGS) $(windmc_OBJECTS) $(windmc_LDADD) $(LIBS)
windres$(EXEEXT): $(windres_OBJECTS) $(windres_DEPENDENCIES) 
	@rm -f windres$(EXEEXT)
	$(LINK) $(windres_LDFLAGS) $(windres_OBJECTS) $(windres_LDADD) $(LIBS)

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

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

.c.o:
	$(COMPILE) -c $<

.c.obj:
	$(COMPILE) -c `$(CYGPATH_W) '$<'`

.c.lo:
	$(LTCOMPILE) -c -o $@ $<

.l.c:
	$(SHELL) $(YLWRAP) $< $(LEX_OUTPUT_ROOT).c $@ -- $(LEXCOMPILE)

.y.c:
	$(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h $*.h y.output $*.output -- $(YACCCOMPILE)

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs

distclean-libtool:
	-rm -f libtool
uninstall-info-am:

# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
#     (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
	@failcom='exit 1'; \
	for f in x $$MAKEFLAGS; do \
	  case $$f in \
	    *=* | --[!k]*);; \
	    *k*) failcom='fail=yes';; \
	  esac; \
	done; \
	dot_seen=no; \
	target=`echo $@ | sed s/-recursive//`; \
	list='$(SUBDIRS)'; for subdir in $$list; do \
	  echo "Making $$target in $$subdir"; \
	  if test "$$subdir" = "."; then \
	    dot_seen=yes; \
	    local_target="$$target-am"; \
	  else \
	    local_target="$$target"; \
	  fi; \
	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
	  || eval $$failcom; \
	done; \
	if test "$$dot_seen" = "no"; then \
	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
	fi; test -z "$$fail"

mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
	@failcom='exit 1'; \
	for f in x $$MAKEFLAGS; do \
	  case $$f in \
	    *=* | --[!k]*);; \
	    *k*) failcom='fail=yes';; \
	  esac; \
	done; \
	dot_seen=no; \
	case "$@" in \
	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
	  *) list='$(SUBDIRS)' ;; \
	esac; \
	rev=''; for subdir in $$list; do \
	  if test "$$subdir" = "."; then :; else \
	    rev="$$subdir $$rev"; \
	  fi; \
	done; \
	rev="$$rev ."; \
	target=`echo $@ | sed s/-recursive//`; \
	for subdir in $$rev; do \
	  echo "Making $$target in $$subdir"; \
	  if test "$$subdir" = "."; then \
	    local_target="$$target-am"; \
	  else \
	    local_target="$$target"; \
	  fi; \
	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
	  || eval $$failcom; \
	done && test -z "$$fail"
tags-recursive:
	list='$(SUBDIRS)'; for subdir in $$list; do \
	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
	done
ctags-recursive:
	list='$(SUBDIRS)'; for subdir in $$list; do \
	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
	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: tags-recursive $(HEADERS) $(SOURCES) config.in $(TAGS_DEPENDENCIES) \
		$(TAGS_FILES) $(LISP)
	tags=; \
	here=`pwd`; \
	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
	  include_option=--etags-include; \
	  empty_fix=.; \
	else \
	  include_option=--include; \
	  empty_fix=; \
	fi; \
	list='$(SUBDIRS)'; for subdir in $$list; do \
	  if test "$$subdir" = .; then :; else \
	    test ! -f $$subdir/TAGS || \
	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
	  fi; \
	done; \
	list='$(SOURCES) $(HEADERS) config.in $(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: ctags-recursive $(HEADERS) $(SOURCES) config.in $(TAGS_DEPENDENCIES) \
		$(TAGS_FILES) $(LISP)
	tags=; \
	here=`pwd`; \
	list='$(SOURCES) $(HEADERS) config.in $(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
site.exp: Makefile
	@echo 'Making a new site.exp file...'
	@echo '## these variables are automatically generated by make ##' >site.tmp
	@echo '# Do not edit here.  If you wish to override these values' >>site.tmp
	@echo '# edit the last section' >>site.tmp
	@echo 'set srcdir $(srcdir)' >>site.tmp
	@echo "set objdir `pwd`" >>site.tmp
	@echo 'set build_alias "$(build_alias)"' >>site.tmp
	@echo 'set build_triplet $(build_triplet)' >>site.tmp
	@echo 'set host_alias "$(host_alias)"' >>site.tmp
	@echo 'set host_triplet $(host_triplet)' >>site.tmp
	@echo 'set target_alias "$(target_alias)"' >>site.tmp
	@echo 'set target_triplet $(target_triplet)' >>site.tmp
	@echo '## All variables above are generated by configure. Do Not Edit ##' >>site.tmp
	@test ! -f site.exp || \
	  sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp
	@-rm -f site.bak
	@test ! -f site.exp || mv site.exp site.bak
	@mv site.tmp site.exp

distclean-DEJAGNU:
	-rm -f site.exp site.bak
	-l='$(DEJATOOL)'; for tool in $$l; do \
	  rm -f $$tool.sum $$tool.log; \
	done
check-am:
	$(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU
check: check-recursive
all-am: Makefile $(PROGRAMS) config.h
installdirs: installdirs-recursive
installdirs-am:
	for dir in "$(DESTDIR)$(bindir)"; do \
	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
	done
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive

install-am: all-am
	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-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:
	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)

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

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

maintainer-clean-generic:
	@echo "This command is intended for maintainers to use"
	@echo "it deletes files that may require special tools to rebuild."
	-rm -f arlex.c
	-rm -f arparse.c
	-rm -f arparse.h
	-rm -f deflex.c
	-rm -f defparse.c
	-rm -f defparse.h
	-rm -f mcparse.c
	-rm -f mcparse.h
	-rm -f nlmheader.c
	-rm -f nlmheader.h
	-rm -f rcparse.c
	-rm -f rcparse.h
clean: clean-recursive

clean-am: clean-binPROGRAMS clean-generic clean-libtool \
	clean-noinstPROGRAMS mostlyclean-am

distclean: distclean-recursive
	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
	-rm -f Makefile
distclean-am: clean-am distclean-DEJAGNU distclean-compile \
	distclean-generic distclean-hdr distclean-libtool \
	distclean-tags

dvi: dvi-recursive

dvi-am:

html: html-recursive

info: info-recursive

info-am:

install-data-am:

install-exec-am: install-binPROGRAMS install-exec-local

install-info: install-info-recursive

install-man:

installcheck-am:

maintainer-clean: maintainer-clean-recursive
	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
	-rm -rf $(top_srcdir)/autom4te.cache
	-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-recursive

mostlyclean-am: mostlyclean-compile mostlyclean-generic \
	mostlyclean-libtool mostlyclean-local

pdf: pdf-recursive

pdf-am:

ps: ps-recursive

ps-am:

uninstall-am: uninstall-binPROGRAMS

uninstall-info: uninstall-info-recursive

.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
	check-DEJAGNU check-am clean clean-binPROGRAMS clean-generic \
	clean-libtool clean-noinstPROGRAMS clean-recursive ctags \
	ctags-recursive distclean distclean-DEJAGNU distclean-compile \
	distclean-generic distclean-hdr distclean-libtool \
	distclean-recursive distclean-tags dvi dvi-am html html-am \
	info info-am install install-am install-binPROGRAMS \
	install-data install-data-am install-exec install-exec-am \
	install-exec-local install-info install-info-am install-man \
	install-strip installcheck installcheck-am installdirs \
	installdirs-am maintainer-clean maintainer-clean-generic \
	maintainer-clean-recursive mostlyclean mostlyclean-compile \
	mostlyclean-generic mostlyclean-libtool mostlyclean-local \
	mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
	uninstall uninstall-am uninstall-binPROGRAMS uninstall-info-am


.PHONY: install-pdf install-pdf-am install-pdf-recursive

install-pdf:	install-pdf-recursive

install-pdf-recursive:
	@failcom='exit 1'; \
	for f in x $$MAKEFLAGS; do \
	  case $$f in \
	    *=* | --[!k]*);; \
	    *k*) failcom='fail=yes';; \
	  esac; \
	done; \
	dot_seen=no; \
	target=`echo $@ | sed s/-recursive//`; \
	list='$(SUBDIRS)'; for subdir in $$list; do \
	  echo "Making $$target in $$subdir"; \
	  if test "$$subdir" = "."; then \
	    dot_seen=yes; \
	    local_target="$$target-am"; \
	  else \
	    local_target="$$target"; \
	  fi; \
	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
	  || eval $$failcom; \
	done; \
	if test "$$dot_seen" = "no"; then \
	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
	fi; test -z "$$fail"

.PHONY: install-html install-html-am install-html-recursive

install-html:	install-html-recursive

install-html-recursive:
	@failcom='exit 1'; \
	for f in x $$MAKEFLAGS; do \
	  case $$f in \
	    *=* | --[!k]*);; \
	    *k*) failcom='fail=yes';; \
	  esac; \
	done; \
	dot_seen=no; \
	target=`echo $@ | sed s/-recursive//`; \
	list='$(SUBDIRS)'; for subdir in $$list; do \
	  echo "Making $$target in $$subdir"; \
	  if test "$$subdir" = "."; then \
	    dot_seen=yes; \
	    local_target="$$target-am"; \
	  else \
	    local_target="$$target"; \
	  fi; \
	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
	  || eval $$failcom; \
	done; \
	if test "$$dot_seen" = "no"; then \
	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
	fi; test -z "$$fail"
po/POTFILES.in: @MAINT@ Makefile
	for f in $(POTFILES); do echo $$f; done | LC_ALL=C sort > tmp \
	  && mv tmp $(srcdir)/po/POTFILES.in

check-DEJAGNU: site.exp
	srcdir=`cd $(srcdir) && pwd`; export srcdir; \
	r=`pwd`; export r; \
	EXPECT=$(EXPECT); export EXPECT; \
	runtest=$(RUNTEST); \
	if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
	  CC_FOR_TARGET="$(CC_FOR_TARGET)" CFLAGS_FOR_TARGET="$(CFLAGS)" \
		$$runtest --tool $(DEJATOOL) --srcdir $${srcdir}/testsuite \
			$(RUNTESTFLAGS); \
	else echo "WARNING: could not find \`runtest'" 1>&2; :;\
	fi

installcheck:
	/bin/sh $(srcdir)/sanity.sh $(bindir)

objdump.o:objdump.c
	$(COMPILE) -c $(OBJDUMP_DEFS) $(srcdir)/objdump.c

# The following is commented out for the conversion to automake.
# This rule creates a single binary that switches between ar and ranlib
# by looking at argv[0].  Use this kludge to save some disk space.
# However, you have to install things by hand.
# (That is after 'make install', replace the installed ranlib by a link to ar.)
# Alternatively, you can install ranlib.sh as ranlib.
# ar_with_ranlib: $(ADDL_DEPS) ar.o maybe-ranlib.o
#	$(HLDENV) $(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $(AR_PROG) ar.o maybe-ranlib.o $(ADDL_LIBS) $(EXTRALIBS)
#	-rm -f $(RANLIB_PROG)
#	-ln $(AR_PROG) $(RANLIB_PROG)
#
# objcopy and strip in one binary that uses argv[0] to decide its action.
#
#objcopy_with_strip: $(ADDL_DEPS) objcopy.o maybe-strip.o
#	$(HLDENV) $(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $(OBJCOPY_PROG) objcopy.o maybe-strip.o $(ADDL_LIBS) $(EXTRALIBS)
#	-rm -f $(STRIP_PROG)
#	-ln $(OBJCOPY_PROG) $(STRIP_PROG)

sysroff.c: sysinfo$(EXEEXT_FOR_BUILD) sysroff.info
	./sysinfo$(EXEEXT_FOR_BUILD) -c <$(srcdir)/sysroff.info >sysroff.c
	./sysinfo$(EXEEXT_FOR_BUILD) -i <$(srcdir)/sysroff.info >>sysroff.c
	./sysinfo$(EXEEXT_FOR_BUILD) -g <$(srcdir)/sysroff.info >>sysroff.c

sysroff.h: sysinfo$(EXEEXT_FOR_BUILD) sysroff.info
	./sysinfo$(EXEEXT_FOR_BUILD) -d <$(srcdir)/sysroff.info >sysroff.h

sysinfo$(EXEEXT_FOR_BUILD): sysinfo.o syslex.o
	$(CC_FOR_BUILD) $(CFLAGS) $(LDFLAGS) -o $@ sysinfo.o syslex.o

syslex.o:
	if [ -r syslex.c ]; then \
	  $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS) syslex.c -Wno-error ; \
	else \
	  $(CC_FOR_BUILD) -c -I. -I$(srcdir) $(AM_CFLAGS) $(CFLAGS) $(srcdir)/syslex.c -Wno-error ;\
	fi

sysinfo.o:
	if [ -r sysinfo.c ]; then \
	  $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS) sysinfo.c -Wno-error ; \
	else \
	  $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS) $(srcdir)/sysinfo.c -Wno-error ; \
	fi

bin2c$(EXEEXT_FOR_BUILD):
	$(CC_FOR_BUILD) -o $@ $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) $(srcdir)/bin2c.c $(srcdir)/version.c

embedspu: embedspu.sh
	sed "s@^program_transform_name=@program_transform_name=$(program_transform_name)@" < $< > $@
	chmod a+x $@

# We need these for parallel make.
arparse.h: arparse.c
defparse.h: defparse.c
nlmheader.h: nlmheader.c
rcparse.h: rcparse.c
mcparse.h: mcparse.c
sysinfo.h: sysinfo.c

# Disable -Werror, if it has been enabled, since old versions of bison/
# yacc will produce working code which contain compile time warnings.
arparse.o:
	$(COMPILE) -c $< $(NO_WERROR)
arlex.o:
	$(COMPILE) -c $< $(NO_WERROR)
sysroff.o:
	$(COMPILE) -c $< $(NO_WERROR)
defparse.o:
	$(COMPILE) -c $< $(NO_WERROR)
deflex.o:
	$(COMPILE) -c $< $(NO_WERROR)
nlmheader.o:
	$(COMPILE) -c $< $(NO_WERROR)
rcparse.o:
	$(COMPILE) -c $< $(NO_WERROR)
mcparse.o:
	$(COMPILE) -c $< $(NO_WERROR)
rclex.o:
	$(COMPILE) -c $< $(NO_WERROR)
mclex.o:
	$(COMPILE) -c $< $(NO_WERROR)

dlltool.o:
	$(COMPILE) -c $(DLLTOOL_DEFS) $(srcdir)/dlltool.c

rescoff.o:
	$(COMPILE) -c $(DLLTOOL_DEFS) $(srcdir)/rescoff.c

# coff/sym.h and coff/ecoff.h won't be found by the automatic dependency
# scripts, since they are only included conditionally.
nlmconv.o: nlmconv.c $(INCDIR)/coff/sym.h $(INCDIR)/coff/ecoff.h
	ldname=`echo ld | sed '$(transform)'`; \
	$(COMPILE) -c -DLD_NAME="\"$${ldname}\"" @NLMCONV_DEFS@ $(srcdir)/nlmconv.c

diststuff: $(EXTRA_DIST) info
all: info

# Targets to rebuild dependencies in this Makefile.
# Have to get rid of DEP1 here so that "$?" later includes all of $(CFILES).
DEP: dep.sed $(CFILES) $(HFILES) $(GENERATED_CFILES) $(GENERATED_HFILES) config.h
	rm -f DEP1
	$(MAKE) MKDEP="$(MKDEP)" DEP1
	echo '# IF YOU PUT ANYTHING HERE IT WILL GO AWAY' >> DEP1
	if grep ' /' DEP1 > /dev/null 2> /dev/null; then \
	  echo 'make DEP failed!'; exit 1; \
	else \
	  mv -f DEP1 $@; \
	fi

DEP1: $(CFILES) $(GENERATED_CFILES)
	echo '# DO NOT DELETE THIS LINE -- mkdep uses it.' > DEP2
	echo '# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.' >> DEP2
	for f in $?; do \
	  $(MKDEP) $(INCLUDES) $(CFLAGS) $$f > DEPA; \
	  sed -n -e '1s/: .*/: \\/p' -e q < DEPA >> DEP2; \
	  sed -e '1s/.*: //' -f dep.sed < DEPA | \
	    LC_ALL=C sort | LC_ALL=C uniq | \
	    sed -e 's/^[AB]/  /' -e '$$s/ \\$$//' >> DEP2; \
	done
	rm -f DEPA
	mv -f DEP2 $@

dep.sed: dep-in.sed config.status
	objdir=`pwd`; \
	sed <$(srcdir)/dep-in.sed >dep.sed	\
		-e 's!@INCDIR@!$(INCDIR)!'	\
		-e 's!@BFDDIR@!$(BFDDIR)!'	\
		-e 's!@SRCDIR@!$(srcdir)!'	\
		-e "s!@OBJDIR@!$${objdir}!"	\
		-e 's!@TOPDIR@!'`echo $(srcdir) | sed -e s,/binutils$$,,`'!'

dep: DEP
	sed -e '/^..DO NOT DELETE THIS LINE/,$$d' < Makefile > tmp-Makefile
	cat DEP >> tmp-Makefile
	$(SHELL) $(srcdir)/../move-if-change tmp-Makefile Makefile

dep-in: DEP
	sed -e '/^..DO NOT DELETE THIS LINE/,$$d' < $(srcdir)/Makefile.in > tmp-Makefile.in
	cat DEP >> tmp-Makefile.in
	$(SHELL) $(srcdir)/../move-if-change tmp-Makefile.in $(srcdir)/Makefile.in

dep-am: DEP
	sed -e '/^..DO NOT DELETE THIS LINE/,$$d' < $(srcdir)/Makefile.am > tmp-Makefile.am
	cat DEP >> tmp-Makefile.am
	$(SHELL) $(srcdir)/../move-if-change tmp-Makefile.am $(srcdir)/Makefile.am

.PHONY: dep dep-in dep-am
mostlyclean-local:
	-rm -rf tmpdir

.PHONY: install-exec-local

install-exec-local: install-binPROGRAMS $(bin_PROGRAMS) $(noinst_PROGRAMS)
	@list='$(RENAMED_PROGS)'; for p in $$list; do \
	  if test -f $$p$(EXEEXT); then \
	    echo " $(LIBTOOL)  --mode=install $(INSTALL_PROGRAM) $$p$(EXEEXT) $(bindir)/`echo $$p|sed -e 's/-new//' -e 's/cxxfilt/$(DEMANGLER_NAME)/'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
	    $(LIBTOOL)  --mode=install $(INSTALL_PROGRAM) $$p$(EXEEXT) $(DESTDIR)$(bindir)/`echo $$p|sed -e 's/-new//' -e 's/cxxfilt/$(DEMANGLER_NAME)/'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
	  else :; fi; \
	done
	$(mkinstalldirs) $(DESTDIR)$(tooldir)/bin
	for i in $(TOOL_PROGS); do \
	  if [ -f $$i$(EXEEXT) ]; then \
	    j=`echo $$i | sed -e 's/-new//'`; \
	    k=`echo $$j | sed '$(transform)'`; \
	    if [ "$(bindir)/$$k" != "$(tooldir)/bin/$$j" ]; then \
	      rm -f $(DESTDIR)$(tooldir)/bin/$$j$(EXEEXT); \
	      ln $(DESTDIR)$(bindir)/$$k$(EXEEXT) $(DESTDIR)$(tooldir)/bin/$$j$(EXEEXT) >/dev/null 2>/dev/null \
		|| $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$i$(EXEEXT) $(DESTDIR)$(tooldir)/bin/$$j$(EXEEXT); \
	    fi; \
	  else true; \
	  fi; \
	done

# What appears below is generated by a hacked mkdep using gcc -MM.

# DO NOT DELETE THIS LINE -- mkdep uses it.
# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
addr2line.o: \
  addr2line.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/demangle.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  config.h \
  sysdep.h
ar.o: \
  ar.c \
  $(BFDDIR)/libbfd.h \
  $(BFDDIR)/plugin.h \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/aout/ar.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/filenames.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/hashtab.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/progress.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  arsup.h \
  binemul.h \
  bucomm.h \
  config.h \
  sysdep.h
arsup.o: \
  arsup.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/filenames.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  arsup.h \
  bucomm.h \
  config.h \
  sysdep.h
bin2c.o: \
  bin2c.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  config.h \
  sysdep.h
binemul.o: \
  binemul.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  binemul.h \
  bucomm.h \
  config.h \
  sysdep.h
bucomm.o: \
  bucomm.c \
  $(BFDDIR)/libbfd.h \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/filenames.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/hashtab.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  config.h \
  sysdep.h
coffdump.o: \
  coffdump.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  coffgrok.h \
  config.h \
  sysdep.h
coffgrok.o: \
  coffgrok.c \
  $(BFDDIR)/libcoff.h \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/bfdlink.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/coff/internal.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  coffgrok.h \
  config.h \
  sysdep.h
cxxfilt.o: \
  cxxfilt.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/demangle.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/safe-ctype.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  config.h \
  sysdep.h
dwarf.o: \
  dwarf.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/elf/common.h \
  $(INCDIR)/elf/dwarf2.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  config.h \
  dwarf.h \
  sysdep.h
debug.o: \
  debug.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  config.h \
  debug.h \
  sysdep.h
dlltool.o: \
  dlltool.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/demangle.h \
  $(INCDIR)/dyn-string.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/safe-ctype.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  config.h \
  dlltool.h \
  sysdep.h
dllwrap.o: \
  dllwrap.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/dyn-string.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  config.h \
  sysdep.h
emul_aix.o: \
  emul_aix.c \
  $(BFDDIR)/libcoff.h \
  $(BFDDIR)/libxcoff.h \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/bfdlink.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/coff/internal.h \
  $(INCDIR)/coff/xcoff.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  binemul.h \
  bucomm.h \
  config.h \
  sysdep.h
emul_vanilla.o: \
  emul_vanilla.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  binemul.h \
  bucomm.h \
  config.h \
  sysdep.h
filemode.o: \
  filemode.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  config.h \
  sysdep.h
ieee.o: \
  ieee.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/filenames.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/ieee.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  budbg.h \
  config.h \
  debug.h \
  sysdep.h
is-ranlib.o: \
  is-ranlib.c
is-strip.o: \
  is-strip.c
maybe-ranlib.o: \
  maybe-ranlib.c
maybe-strip.o: \
  maybe-strip.c
nlmconv.o: \
  nlmconv.c \
  $(BFDDIR)/libnlm.h \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/nlm/common.h \
  $(INCDIR)/nlm/external.h \
  $(INCDIR)/nlm/internal.h \
  $(INCDIR)/safe-ctype.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  config.h \
  nlmconv.h \
  sysdep.h
nm.o: \
  nm.c \
  $(BFDDIR)/elf-bfd.h \
  $(BFDDIR)/plugin.h \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/aout/ranlib.h \
  $(INCDIR)/aout/stab.def \
  $(INCDIR)/aout/stab_gnu.h \
  $(INCDIR)/bfdlink.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/demangle.h \
  $(INCDIR)/elf/common.h \
  $(INCDIR)/elf/external.h \
  $(INCDIR)/elf/internal.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/progress.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  config.h \
  sysdep.h
not-ranlib.o: \
  not-ranlib.c
not-strip.o: \
  not-strip.c
objcopy.o: \
  objcopy.c \
  $(BFDDIR)/elf-bfd.h \
  $(BFDDIR)/libbfd.h \
  $(BFDDIR)/libcoff.h \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/bfdlink.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/coff/external.h \
  $(INCDIR)/coff/i386.h \
  $(INCDIR)/coff/internal.h \
  $(INCDIR)/coff/pe.h \
  $(INCDIR)/elf/common.h \
  $(INCDIR)/elf/external.h \
  $(INCDIR)/elf/internal.h \
  $(INCDIR)/filenames.h \
  $(INCDIR)/fnmatch.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/hashtab.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/progress.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  budbg.h \
  config.h \
  sysdep.h
objdump.o: \
  objdump.c \
  $(BFDDIR)/elf-bfd.h \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/aout/aout64.h \
  $(INCDIR)/bfdlink.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/demangle.h \
  $(INCDIR)/dis-asm.h \
  $(INCDIR)/elf/common.h \
  $(INCDIR)/elf/external.h \
  $(INCDIR)/elf/internal.h \
  $(INCDIR)/filenames.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/progress.h \
  $(INCDIR)/safe-ctype.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  budbg.h \
  config.h \
  debug.h \
  dwarf.h \
  sysdep.h
prdbg.o: \
  prdbg.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/demangle.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  budbg.h \
  config.h \
  debug.h \
  sysdep.h
rclex.o: \
  rclex.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/safe-ctype.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  config.h \
  rcparse.h \
  sysdep.h \
  windint.h \
  windres.h \
  winduni.h
rdcoff.o: \
  rdcoff.c \
  $(BFDDIR)/libcoff.h \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/bfdlink.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/coff/internal.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  budbg.h \
  config.h \
  debug.h \
  sysdep.h
rddbg.o: \
  rddbg.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  budbg.h \
  config.h \
  debug.h \
  sysdep.h
readelf.o: \
  readelf.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/aout/ar.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/elf/alpha.h \
  $(INCDIR)/elf/arc.h \
  $(INCDIR)/elf/arm.h \
  $(INCDIR)/elf/avr.h \
  $(INCDIR)/elf/bfin.h \
  $(INCDIR)/elf/common.h \
  $(INCDIR)/elf/cr16.h \
  $(INCDIR)/elf/cris.h \
  $(INCDIR)/elf/crx.h \
  $(INCDIR)/elf/d10v.h \
  $(INCDIR)/elf/d30v.h \
  $(INCDIR)/elf/dlx.h \
  $(INCDIR)/elf/external.h \
  $(INCDIR)/elf/fr30.h \
  $(INCDIR)/elf/frv.h \
  $(INCDIR)/elf/h8.h \
  $(INCDIR)/elf/hppa.h \
  $(INCDIR)/elf/i370.h \
  $(INCDIR)/elf/i386.h \
  $(INCDIR)/elf/i860.h \
  $(INCDIR)/elf/i960.h \
  $(INCDIR)/elf/ia64.h \
  $(INCDIR)/elf/internal.h \
  $(INCDIR)/elf/ip2k.h \
  $(INCDIR)/elf/iq2000.h \
  $(INCDIR)/elf/lm32.h \
  $(INCDIR)/elf/m32c.h \
  $(INCDIR)/elf/m32r.h \
  $(INCDIR)/elf/m68hc11.h \
  $(INCDIR)/elf/m68k.h \
  $(INCDIR)/elf/mcore.h \
  $(INCDIR)/elf/mep.h \
  $(INCDIR)/elf/mips.h \
  $(INCDIR)/elf/mmix.h \
  $(INCDIR)/elf/mn10200.h \
  $(INCDIR)/elf/mn10300.h \
  $(INCDIR)/elf/msp430.h \
  $(INCDIR)/elf/mt.h \
  $(INCDIR)/elf/or32.h \
  $(INCDIR)/elf/pj.h \
  $(INCDIR)/elf/ppc.h \
  $(INCDIR)/elf/ppc64.h \
  $(INCDIR)/elf/reloc-macros.h \
  $(INCDIR)/elf/s390.h \
  $(INCDIR)/elf/score.h \
  $(INCDIR)/elf/sh.h \
  $(INCDIR)/elf/sparc.h \
  $(INCDIR)/elf/spu.h \
  $(INCDIR)/elf/v850.h \
  $(INCDIR)/elf/vax.h \
  $(INCDIR)/elf/x86-64.h \
  $(INCDIR)/elf/xstormy16.h \
  $(INCDIR)/elf/xtensa.h \
  $(INCDIR)/filenames.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/safe-ctype.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  config.h \
  dwarf.h \
  sysdep.h \
  unwind-ia64.h
rename.o: \
  rename.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  config.h \
  sysdep.h
resbin.o: \
  resbin.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  config.h \
  sysdep.h \
  windint.h \
  windres.h \
  winduni.h
rescoff.o: \
  rescoff.c \
  $(BFDDIR)/libcoff.h \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/bfdlink.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/coff/internal.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  config.h \
  sysdep.h \
  windint.h \
  windres.h \
  winduni.h
resrc.o: \
  resrc.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/safe-ctype.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  config.h \
  sysdep.h \
  windint.h \
  windres.h \
  winduni.h
resres.o: \
  resres.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  config.h \
  sysdep.h \
  windint.h \
  windres.h \
  winduni.h
size.o: \
  size.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  config.h \
  sysdep.h
srconv.o: \
  srconv.c \
  $(BFDDIR)/libcoff.h \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/bfdlink.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/coff/internal.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  coffgrok.h \
  config.h \
  sysdep.h \
  sysroff.c \
  sysroff.h
stabs.o: \
  stabs.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/aout/aout64.h \
  $(INCDIR)/aout/stab.def \
  $(INCDIR)/aout/stab_gnu.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/demangle.h \
  $(INCDIR)/filenames.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/safe-ctype.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  budbg.h \
  config.h \
  debug.h \
  sysdep.h
strings.o: \
  strings.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/safe-ctype.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  config.h \
  sysdep.h
sysdump.o: \
  sysdump.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/safe-ctype.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  config.h \
  sysdep.h \
  sysroff.c \
  sysroff.h
unwind-ia64.o: \
  unwind-ia64.c \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/elf/ia64.h \
  $(INCDIR)/elf/reloc-macros.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  unwind-ia64.h
version.o: \
  version.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  config.h \
  sysdep.h
windres.o: \
  windres.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/obstack.h \
  $(INCDIR)/safe-ctype.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  config.h \
  sysdep.h \
  windint.h \
  windres.h \
  winduni.h
winduni.o: \
  winduni.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/safe-ctype.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  config.h \
  sysdep.h \
  winduni.h
wrstabs.o: \
  wrstabs.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/aout/aout64.h \
  $(INCDIR)/aout/stab.def \
  $(INCDIR)/aout/stab_gnu.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/safe-ctype.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  budbg.h \
  config.h \
  debug.h \
  sysdep.h
windmc.o: \
  windmc.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/obstack.h \
  $(INCDIR)/safe-ctype.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  config.h \
  sysdep.h \
  windint.h \
  windmc.h \
  winduni.h
mclex.o: \
  mclex.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/safe-ctype.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  config.h \
  mcparse.h \
  sysdep.h \
  windmc.h \
  winduni.h
arparse.o: \
  arparse.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  arsup.h \
  config.h \
  sysdep.h
arlex.o: \
  arlex.c \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/libiberty.h \
  arparse.h
sysroff.o: \
  sysroff.c
sysinfo.o: \
  sysinfo.c
syslex.o: \
  syslex.c \
  config.h \
  sysinfo.h
defparse.o: \
  defparse.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  config.h \
  dlltool.h \
  sysdep.h
deflex.o: \
  deflex.c \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/libiberty.h \
  defparse.h \
  dlltool.h
nlmheader.o: \
  nlmheader.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/nlm/common.h \
  $(INCDIR)/nlm/internal.h \
  $(INCDIR)/safe-ctype.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  config.h \
  nlmconv.h \
  sysdep.h
rcparse.o: \
  rcparse.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/safe-ctype.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  config.h \
  sysdep.h \
  windint.h \
  windres.h \
  winduni.h
mcparse.o: \
  mcparse.c \
  $(INCDIR)/alloca-conf.h \
  $(INCDIR)/ansidecl.h \
  $(INCDIR)/binary-io.h \
  $(INCDIR)/fopen-same.h \
  $(INCDIR)/libiberty.h \
  $(INCDIR)/safe-ctype.h \
  $(INCDIR)/symcat.h \
  ../bfd/bfd.h \
  ../bfd/bfdver.h \
  bucomm.h \
  config.h \
  sysdep.h \
  windmc.h \
  winduni.h
# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
# 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:
