diff --git a/dkarm-eabi/patches/binutils-2.24.patch b/dkarm-eabi/patches/binutils-2.24.patch
new file mode 100644
index 0000000..515b680
--- /dev/null
+++ b/dkarm-eabi/patches/binutils-2.24.patch
@@ -0,0 +1,13 @@
+diff -Nbaur binutils-2.24/include/opcode/arm.h binutils-2.24-arm/include/opcode/arm.h
+--- binutils-2.24/include/opcode/arm.h 2013-11-26 11:37:33.000000000 +0000
++++ binutils-2.24-arm/include/opcode/arm.h 2014-02-16 19:32:33.000000000 +0000
+@@ -114,7 +114,8 @@
+ #define ARM_AEXT_V6KT2 (ARM_AEXT_V6T2 | ARM_EXT_V6K)
+ #define ARM_AEXT_V6ZT2 (ARM_AEXT_V6T2 | ARM_EXT_SEC)
+ #define ARM_AEXT_V6ZKT2 (ARM_AEXT_V6T2 | ARM_EXT_V6K | ARM_EXT_SEC)
+-#define ARM_AEXT_V7_ARM (ARM_AEXT_V6KT2 | ARM_EXT_V7 | ARM_EXT_BARRIER)
++#define ARM_AEXT_V7_ARM (ARM_AEXT_V6KT2 | ARM_EXT_V7 | ARM_EXT_BARRIER \
++ | ARM_EXT_OS )
+ #define ARM_AEXT_V7A (ARM_AEXT_V7_ARM | ARM_EXT_V7A)
+ #define ARM_AEXT_V7VE (ARM_AEXT_V7A | ARM_EXT_DIV | ARM_EXT_ADIV \
+ | ARM_EXT_VIRT | ARM_EXT_SEC | ARM_EXT_MP)
diff --git a/dkarm-eabi/patches/gcc-4.8.2.patch b/dkarm-eabi/patches/gcc-4.8.2.patch
new file mode 100644
index 0000000..715ed31
--- /dev/null
+++ b/dkarm-eabi/patches/gcc-4.8.2.patch
@@ -0,0 +1,159 @@
+diff -Nbaur gcc-4.8.2/gcc/config/arm/t-arm-elf gcc-4.8.2-arm/gcc/config/arm/t-arm-elf
+--- gcc-4.8.2/gcc/config/arm/t-arm-elf 2013-01-10 20:38:27.000000000 +0000
++++ gcc-4.8.2-arm/gcc/config/arm/t-arm-elf 2014-02-16 19:36:15.000000000 +0000
+@@ -25,22 +25,44 @@
+ #MULTILIB_DIRNAMES += fa526 fa626 fa606te fa626te fmp626 fa726te
+ #MULTILIB_EXCEPTIONS += *mthumb*/*mcpu=fa526 *mthumb*/*mcpu=fa626
+
+-#MULTILIB_OPTIONS += march=armv7
+-#MULTILIB_DIRNAMES += thumb2
+-#MULTILIB_EXCEPTIONS += march=armv7* marm/*march=armv7*
+-#MULTILIB_MATCHES += march?armv7=march?armv7-a
+-#MULTILIB_MATCHES += march?armv7=march?armv7-r
+-#MULTILIB_MATCHES += march?armv7=march?armv7-m
+-#MULTILIB_MATCHES += march?armv7=mcpu?cortex-a8
+-#MULTILIB_MATCHES += march?armv7=mcpu?cortex-r4
+-#MULTILIB_MATCHES += march?armv7=mcpu?cortex-m3
++#mfloat-abi=hard|mfpu=fpv4-sp-d16
++
++MULTILIB_OPTIONS += march=armv7/march=armv6-m/mcpu=cortex-m4
++MULTILIB_DIRNAMES += thumb2 armv6-m cortex-m4
++MULTILIB_EXCEPTIONS += march=armv7* marm/*march=armv7*
++MULTILIB_EXCEPTIONS += march=armv6-m* marm/*march=armv6-m*
++MULTILIB_EXCEPTIONS += mcpu=cortex-m4* marm/*mcpu=cortex-m4*
++MULTILIB_EXCEPTIONS += mcpu=cortex-m4* mthumb/mcpu=cortex-m4
++MULTILIB_EXCEPTIONS += mcpu=cortex-m4* mthumb/mcpu=cortex-m4/mbig-endian
++MULTILIB_MATCHES += march?armv7=march?armv7-a
++MULTILIB_MATCHES += march?armv7=march?armv7-r
++MULTILIB_MATCHES += march?armv7=march?armv7-m
++MULTILIB_MATCHES += march?armv7=mcpu?cortex-a8
++MULTILIB_MATCHES += march?armv7=mcpu?cortex-r4
++MULTILIB_MATCHES += march?armv7=mcpu?cortex-m3
++MULTILIB_MATCHES += march?armv6-m=mcpu?cortex-m0
++MULTILIB_MATCHES += march?armv6-m=mcpu?cortex-m1
++
++MULTILIB_OPTIONS += mfloat-abi=hard mfpu=fpv4-sp-d16
++MULTILIB_DIRNAMES += float-abi-hard fpuv4-sp-d16
++MULTILIB_EXCEPTIONS += mfloat* marm/mfloat*
++MULTILIB_EXCEPTIONS += mfloat* mthumb/mfloat*
++MULTILIB_EXCEPTIONS += mfloat* mthumb*march=armv6-m*mfloat*
++MULTILIB_EXCEPTIONS += mfloat* mthumb*march=armv7*mfloat*
++MULTILIB_EXCEPTIONS += mfloat* mthumb/mcpu=cortex-m4/mfloat-abi=hard
++MULTILIB_EXCEPTIONS += mfloat* mthumb/mcpu=cortex-m4/mfloat-abi=hard/mbig-endian
++MULTILIB_EXCEPTIONS += mfpu* mthumb*march=armv6-m*mfpu*
++MULTILIB_EXCEPTIONS += mfpu* mthumb*march=armv7*mfpu*
++MULTILIB_EXCEPTIONS += mfpu* mthumb/mcpu=cortex-m4/mfpu*
++MULTILIB_EXCEPTIONS += mfpu* mthumb/mfpu*
++MULTILIB_EXCEPTIONS += mfpu* marm/mfpu*
+
+ # Not quite true. We can support hard-vfp calling in Thumb2, but how do we
+ # express that here? Also, we really need architecture v5e or later
+ # (mcrr etc).
+-MULTILIB_OPTIONS += mfloat-abi=hard
+-MULTILIB_DIRNAMES += fpu
+-MULTILIB_EXCEPTIONS += *mthumb/*mfloat-abi=hard*
++#MULTILIB_OPTIONS += mfloat-abi=hard
++#MULTILIB_DIRNAMES += fpu
++#MULTILIB_EXCEPTIONS += *mthumb/*mfloat-abi=hard*
+ #MULTILIB_EXCEPTIONS += *mcpu=fa526/*mfloat-abi=hard*
+ #MULTILIB_EXCEPTIONS += *mcpu=fa626/*mfloat-abi=hard*
+
+@@ -48,9 +70,9 @@
+ # MULTILIB_DIRNAMES += ep9312
+ # MULTILIB_EXCEPTIONS += *mthumb/*mcpu=ep9312*
+ #
+-# MULTILIB_OPTIONS += mlittle-endian/mbig-endian
+-# MULTILIB_DIRNAMES += le be
+-# MULTILIB_MATCHES += mbig-endian=mbe mlittle-endian=mle
++MULTILIB_OPTIONS += mlittle-endian/mbig-endian
++MULTILIB_DIRNAMES += le be
++MULTILIB_MATCHES += mbig-endian=mbe mlittle-endian=mle
+ #
+ # MULTILIB_OPTIONS += mfloat-abi=hard/mfloat-abi=soft
+ # MULTILIB_DIRNAMES += fpu soft
+diff -Nbaur gcc-4.8.2/gcc/config/arm/unknown-elf.h gcc-4.8.2-arm/gcc/config/arm/unknown-elf.h
+--- gcc-4.8.2/gcc/config/arm/unknown-elf.h 2013-01-10 20:38:27.000000000 +0000
++++ gcc-4.8.2-arm/gcc/config/arm/unknown-elf.h 2014-02-16 19:36:15.000000000 +0000
+@@ -93,4 +93,4 @@
+ udivmoddi4, which will depend on the exception unwind routines,
+ which will depend on abort, which is defined in libc. */
+ #undef LINK_GCC_C_SEQUENCE_SPEC
+-#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L --end-group"
++#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L %(libgloss) --end-group"
+diff -Nbaur gcc-4.8.2/gcc/gcc.c gcc-4.8.2-arm/gcc/gcc.c
+--- gcc-4.8.2/gcc/gcc.c 2013-05-17 13:24:26.000000000 +0100
++++ gcc-4.8.2-arm/gcc/gcc.c 2014-02-16 19:36:15.000000000 +0000
+@@ -599,6 +599,11 @@
+ #endif
+ #endif
+
++#ifndef LIBGLOSS_SPEC
++# define LIBGLOSS_SPEC "-lsysbase"
++#endif
++
++
+ /* config.h can define STARTFILE_SPEC to override the default crt0 files. */
+ #ifndef STARTFILE_SPEC
+ #define STARTFILE_SPEC \
+@@ -785,6 +790,7 @@
+ static const char *mflib_spec = MFLIB_SPEC;
+ static const char *link_gomp_spec = "";
+ static const char *libgcc_spec = LIBGCC_SPEC;
++static const char *libgloss_spec = LIBGLOSS_SPEC;
+ static const char *endfile_spec = ENDFILE_SPEC;
+ static const char *startfile_spec = STARTFILE_SPEC;
+ static const char *linker_name_spec = LINKER_NAME;
+@@ -1274,6 +1280,7 @@
+ INIT_STATIC_SPEC ("mflib", &mflib_spec),
+ INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec),
+ INIT_STATIC_SPEC ("libgcc", &libgcc_spec),
++ INIT_STATIC_SPEC ("libgloss", &libgloss_spec),
+ INIT_STATIC_SPEC ("startfile", &startfile_spec),
+ INIT_STATIC_SPEC ("cross_compile", &cross_compile),
+ INIT_STATIC_SPEC ("version", &compiler_version),
+diff -Nbaur gcc-4.8.2/libcpp/Makefile.in gcc-4.8.2-arm/libcpp/Makefile.in
+--- gcc-4.8.2/libcpp/Makefile.in 2013-10-16 08:27:58.000000000 +0100
++++ gcc-4.8.2-arm/libcpp/Makefile.in 2014-02-16 19:36:15.000000000 +0000
+@@ -207,8 +207,7 @@
+ # Note that we put the dependencies into a .Tpo file, then move them
+ # into place if the compile succeeds. We need this because gcc does
+ # not atomically write the dependency output file.
+-COMPILE = $(COMPILE.base) -o $@ -MT $@ -MMD -MP -MF $(DEPDIR)/$*.Tpo
+-POSTCOMPILE = @mv $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
++COMPILE = $(COMPILE.base) -o $@
+ else
+ COMPILE = source='$<' object='$@' libtool=no DEPDIR=$(DEPDIR) $(DEPMODE) \
+ $(depcomp) $(COMPILE.base)
+diff -Nbaur gcc-4.8.2/libgcc/config/arm/t-bpabi gcc-4.8.2-arm/libgcc/config/arm/t-bpabi
+--- gcc-4.8.2/libgcc/config/arm/t-bpabi 2012-08-17 16:06:06.000000000 +0100
++++ gcc-4.8.2-arm/libgcc/config/arm/t-bpabi 2014-02-16 19:36:15.000000000 +0000
+@@ -17,4 +17,4 @@
+ # On ARM, specifying -fnon-call-exceptions will needlessly pull in
+ # the unwinder in simple programs which use 64-bit division. Omitting
+ # the option is safe.
+-LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions
++LIB2_DIVMOD_EXCEPTION_FLAGS := -fno-exceptions
+diff -Nbaur gcc-4.8.2/libgcc/crtstuff.c gcc-4.8.2-arm/libgcc/crtstuff.c
+--- gcc-4.8.2/libgcc/crtstuff.c 2013-02-04 19:06:20.000000000 +0000
++++ gcc-4.8.2-arm/libgcc/crtstuff.c 2014-02-16 19:36:15.000000000 +0000
+@@ -47,7 +47,7 @@
+
+ /* Target machine header files require this define. */
+ #define IN_LIBGCC2
+-
++#define USED_FOR_TARGET
+ /* FIXME: Including auto-host is incorrect, but until we have
+ identified the set of defines that need to go into auto-target.h,
+ this will have to do. */
+diff -Nbaur gcc-4.8.2/libgcc/Makefile.in gcc-4.8.2-arm/libgcc/Makefile.in
+--- gcc-4.8.2/libgcc/Makefile.in 2013-02-04 19:06:20.000000000 +0000
++++ gcc-4.8.2-arm/libgcc/Makefile.in 2014-02-16 19:36:15.000000000 +0000
+@@ -813,7 +813,7 @@
+ # libgcc_eh.a, only LIB2ADDEH matters. If we do, only LIB2ADDEHSTATIC and
+ # LIB2ADDEHSHARED matter. (Usually all three are identical.)
+
+-c_flags := -fexceptions
++c_flags := -fno-exceptions
+
+ ifeq ($(enable_shared),yes)
+
diff --git a/dkarm-eabi/patches/gdb-7.7.patch b/dkarm-eabi/patches/gdb-7.7.patch
new file mode 100644
index 0000000..63f9ca5
--- /dev/null
+++ b/dkarm-eabi/patches/gdb-7.7.patch
@@ -0,0 +1,3004 @@
+diff -Nbaur gdb-7.7/gdb/Makefile.in gdb-7.7-arm/gdb/Makefile.in
+--- gdb-7.7/gdb/Makefile.in 2014-02-06 02:21:29.000000000 +0000
++++ gdb-7.7-arm/gdb/Makefile.in 2014-02-16 19:43:34.000000000 +0000
+@@ -2307,10 +2307,8 @@
+ # Note that we put the dependencies into a .Tpo file, then move them
+ # into place if the compile succeeds. We need this because gcc does
+ # not atomically write the dependency output file.
+-@GMAKE_TRUE@override COMPILE.post = -c -o $@ -MT $@ -MMD -MP \
+-@GMAKE_TRUE@ -MF $(DEPDIR)/$(basename $(@F)).Tpo
+-@GMAKE_TRUE@override POSTCOMPILE = @mv $(DEPDIR)/$(basename $(@F)).Tpo \
+-@GMAKE_TRUE@ $(DEPDIR)/$(basename $(@F)).Po
++@GMAKE_TRUE@override COMPILE.post = -c -o $@
++@GMAKE_TRUE@override POSTCOMPILE =
+ @GMAKE_TRUE@else
+ @GMAKE_TRUE@override COMPILE.pre = source='$<' object='$@' libtool=no \
+ @GMAKE_TRUE@ DEPDIR=$(DEPDIR) $(DEPMODE) $(depcomp) $(CC)
+diff -Nbaur gdb-7.7/gdb/Makefile.in.orig gdb-7.7-arm/gdb/Makefile.in.orig
+--- gdb-7.7/gdb/Makefile.in.orig 1970-01-01 01:00:00.000000000 +0100
++++ gdb-7.7-arm/gdb/Makefile.in.orig 2014-02-06 02:21:29.000000000 +0000
+@@ -0,0 +1,2339 @@
++# Copyright (C) 1989-2014 Free Software Foundation, Inc.
++
++# This file is part of GDB.
++
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 3 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program. If not, see .
++
++prefix = @prefix@
++exec_prefix = @exec_prefix@
++
++host_alias = @host_alias@
++target_alias = @target_alias@
++program_transform_name = @program_transform_name@
++bindir = @bindir@
++libdir = @libdir@
++tooldir = $(libdir)/$(target_alias)
++
++datadir = @datadir@
++localedir = @localedir@
++mandir = @mandir@
++man1dir = $(mandir)/man1
++man2dir = $(mandir)/man2
++man3dir = $(mandir)/man3
++man4dir = $(mandir)/man4
++man5dir = $(mandir)/man5
++man6dir = $(mandir)/man6
++man7dir = $(mandir)/man7
++man8dir = $(mandir)/man8
++man9dir = $(mandir)/man9
++infodir = @infodir@
++datarootdir = @datarootdir@
++docdir = @docdir@
++htmldir = @htmldir@
++pdfdir = @pdfdir@
++includedir = @includedir@
++
++install_sh = @install_sh@
++
++# This can be referenced by `LIBINTL' as computed by
++# ZW_GNU_GETTEXT_SISTER_DIR.
++top_builddir = .
++
++SHELL = @SHELL@
++EXEEXT = @EXEEXT@
++
++AWK = @AWK@
++LN_S = @LN_S@
++
++INSTALL = @INSTALL@
++INSTALL_PROGRAM = @INSTALL_PROGRAM@
++INSTALL_SCRIPT = @INSTALL_SCRIPT@
++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
++INSTALL_DATA = @INSTALL_DATA@
++
++DESTDIR =
++
++AR = @AR@
++AR_FLAGS = qv
++RANLIB = @RANLIB@
++DLLTOOL = @DLLTOOL@
++WINDRES = @WINDRES@
++MIG = @MIG@
++STRIP = @STRIP@
++
++XGETTEXT = @XGETTEXT@
++GMSGFMT = @GMSGFMT@
++MSGMERGE = msgmerge
++
++PACKAGE = @PACKAGE@
++CATALOGS = @CATALOGS@
++
++# If you are compiling with GCC, make sure that either 1) You have the
++# fixed include files where GCC can reach them, or 2) You use the
++# -traditional flag. Otherwise the ioctl calls in inflow.c
++# will be incorrectly compiled. The "fixincludes" script in the gcc
++# distribution will fix your include files up.
++CC=@CC@
++
++# Dependency tracking information.
++DEPMODE = @CCDEPMODE@
++DEPDIR = @DEPDIR@
++depcomp = $(SHELL) $(srcdir)/../depcomp
++
++# Note that these are overridden by GNU make-specific code below if
++# GNU make is used. The overrides implement dependency tracking.
++COMPILE.pre = $(CC)
++COMPILE.post = -c -o $@
++COMPILE = $(COMPILE.pre) $(INTERNAL_CFLAGS) $(COMPILE.post)
++POSTCOMPILE = @true
++
++# Directory containing source files.
++srcdir = @srcdir@
++VPATH = @srcdir@
++
++YACC=@YACC@
++
++# This is used to rebuild ada-lex.c from ada-lex.l. If the program is
++# not defined, but ada-lex.c is present, compilation will continue,
++# possibly with a warning.
++FLEX = flex
++
++YLWRAP = $(srcdir)/../ylwrap
++
++# where to find makeinfo, preferably one designed for texinfo-2
++MAKEINFO = @MAKEINFO@
++MAKEINFOFLAGS = @MAKEINFOFLAGS@
++MAKEINFO_EXTRA_FLAGS = @MAKEINFO_EXTRA_FLAGS@
++MAKEINFO_CMD = $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFO_EXTRA_FLAGS)
++
++MAKEHTML = $(MAKEINFO_CMD) --html
++MAKEHTMLFLAGS =
++
++# Set this up with gcc if you have gnu ld and the loader will print out
++# line numbers for undefined references.
++#CC_LD=gcc -static
++CC_LD=$(CC)
++
++# Where is our "include" directory? Typically $(srcdir)/../include.
++# This is essentially the header file directory for the library
++# routines in libiberty.
++INCLUDE_DIR = $(srcdir)/../include
++INCLUDE_CFLAGS = -I$(INCLUDE_DIR)
++
++# Where is the "-liberty" library? Typically in ../libiberty.
++LIBIBERTY = ../libiberty/libiberty.a
++
++# Where is the BFD library? Typically in ../bfd.
++BFD_DIR = ../bfd
++BFD = $(BFD_DIR)/libbfd.a
++BFD_SRC = $(srcdir)/$(BFD_DIR)
++BFD_CFLAGS = -I$(BFD_DIR) -I$(BFD_SRC)
++
++# Where is the decnumber library? Typically in ../libdecnumber.
++LIBDECNUMBER_DIR = ../libdecnumber
++LIBDECNUMBER = $(LIBDECNUMBER_DIR)/libdecnumber.a
++LIBDECNUMBER_SRC = $(srcdir)/$(LIBDECNUMBER_DIR)
++LIBDECNUMBER_CFLAGS = -I$(LIBDECNUMBER_DIR) -I$(LIBDECNUMBER_SRC)
++
++# Where is the READLINE library? Typically in ../readline.
++READLINE_DIR = ../readline
++READLINE_SRC = $(srcdir)/$(READLINE_DIR)
++READLINE = @READLINE@
++READLINE_DEPS = @READLINE_DEPS@
++READLINE_CFLAGS = @READLINE_CFLAGS@
++
++# Where is expat? This will be empty if expat was not available.
++LIBEXPAT = @LIBEXPAT@
++
++# Where is lzma? This will be empty if lzma was not available.
++LIBLZMA = @LIBLZMA@
++
++# Where is libbabeltrace? This will be empty if lbabeltrace was not
++# available.
++LIBBABELTRACE = @LIBBABELTRACE@
++
++WARN_CFLAGS = @WARN_CFLAGS@
++WERROR_CFLAGS = @WERROR_CFLAGS@
++GDB_WARN_CFLAGS = $(WARN_CFLAGS)
++GDB_WERROR_CFLAGS = $(WERROR_CFLAGS)
++
++GDB_WARN_CFLAGS_NO_FORMAT = `echo " $(GDB_WARN_CFLAGS) " \
++ | sed "s/ -Wformat-nonliteral / -Wno-format-nonliteral /g"`
++GDB_WARN_CFLAGS_NO_DEFS = `echo " $(GDB_WARN_CFLAGS) " \
++ | sed "s/ -Wold-style-definition / -Wno-old-style-definition /g"`
++
++RDYNAMIC = @RDYNAMIC@
++
++# Where is the INTL library? Typically in ../intl.
++INTL = @LIBINTL@
++INTL_DEPS = @LIBINTL_DEP@
++INTL_CFLAGS = @INCINTL@
++
++# Did the user give us a --with-gdb-datadir option?
++GDB_DATADIR = @GDB_DATADIR@
++
++# Flags to pass to gdb when invoked with "make run".
++GDBFLAGS =
++
++# Helper code from gnulib.
++GNULIB_BUILDDIR = build-gnulib
++LIBGNU = $(GNULIB_BUILDDIR)/import/libgnu.a
++INCGNU = -I$(srcdir)/gnulib/import -I$(GNULIB_BUILDDIR)/import
++
++# Generated headers in the gnulib directory. These must be listed
++# so that they are generated before other files are compiled.
++GNULIB_H = $(GNULIB_BUILDDIR)/import/string.h @GNULIB_STDINT_H@
++
++#
++# CLI sub directory definitons
++#
++SUBDIR_CLI_OBS = \
++ cli-dump.o \
++ cli-decode.o cli-script.o cli-cmds.o cli-setshow.o \
++ cli-logging.o \
++ cli-interp.o cli-utils.o
++SUBDIR_CLI_SRCS = \
++ cli/cli-dump.c \
++ cli/cli-decode.c cli/cli-script.c cli/cli-cmds.c cli/cli-setshow.c \
++ cli/cli-logging.c \
++ cli/cli-interp.c cli/cli-utils.c
++SUBDIR_CLI_DEPS =
++SUBDIR_CLI_LDFLAGS=
++SUBDIR_CLI_CFLAGS=
++
++#
++# MI sub directory definitons
++#
++SUBDIR_MI_OBS = \
++ mi-out.o mi-console.o \
++ mi-cmds.o mi-cmd-catch.o mi-cmd-env.o \
++ mi-cmd-var.o mi-cmd-break.o mi-cmd-stack.o \
++ mi-cmd-file.o mi-cmd-disas.o mi-symbol-cmds.o mi-cmd-target.o \
++ mi-cmd-info.o mi-interp.o \
++ mi-main.o mi-parse.o mi-getopt.o
++SUBDIR_MI_SRCS = \
++ mi/mi-out.c mi/mi-console.c \
++ mi/mi-cmds.c mi/mi-cmd-catch.c mi/mi-cmd-env.c \
++ mi/mi-cmd-var.c mi/mi-cmd-break.c mi/mi-cmd-stack.c \
++ mi/mi-cmd-file.c mi/mi-cmd-disas.c mi/mi-symbol-cmds.c \
++ mi/mi-cmd-target.c mi/mi-cmd-info.c mi/mi-interp.c \
++ mi/mi-main.c mi/mi-parse.c mi/mi-getopt.c
++SUBDIR_MI_DEPS =
++SUBDIR_MI_LDFLAGS=
++SUBDIR_MI_CFLAGS=
++
++#
++# TUI sub directory definitions
++#
++
++SUBDIR_TUI_OBS = \
++ tui-command.o \
++ tui-data.o \
++ tui-disasm.o \
++ tui-file.o \
++ tui-hooks.o \
++ tui-interp.o \
++ tui-io.o \
++ tui-layout.o \
++ tui-out.o \
++ tui-regs.o \
++ tui-source.o \
++ tui-stack.o \
++ tui-win.o \
++ tui-windata.o \
++ tui-wingeneral.o \
++ tui-winsource.o \
++ tui.o
++
++SUBDIR_TUI_SRCS = \
++ tui/tui-command.c \
++ tui/tui-data.c \
++ tui/tui-disasm.c \
++ tui/tui-file.c \
++ tui/tui-hooks.c \
++ tui/tui-interp.c \
++ tui/tui-io.c \
++ tui/tui-layout.c \
++ tui/tui-out.c \
++ tui/tui-regs.c \
++ tui/tui-source.c \
++ tui/tui-stack.c \
++ tui/tui-win.c \
++ tui/tui-windata.c \
++ tui/tui-wingeneral.c \
++ tui/tui-winsource.c \
++ tui/tui.c
++
++SUBDIR_TUI_DEPS =
++SUBDIR_TUI_LDFLAGS=
++SUBDIR_TUI_CFLAGS= \
++ -DTUI=1
++
++#
++# python sub directory definitons
++#
++SUBDIR_PYTHON_OBS = \
++ python.o \
++ py-arch.o \
++ py-auto-load.o \
++ py-block.o \
++ py-bpevent.o \
++ py-breakpoint.o \
++ py-cmd.o \
++ py-continueevent.o \
++ py-event.o \
++ py-evtregistry.o \
++ py-evts.o \
++ py-exitedevent.o \
++ py-finishbreakpoint.o \
++ py-frame.o \
++ py-framefilter.o \
++ py-function.o \
++ py-gdb-readline.o \
++ py-inferior.o \
++ py-infthread.o \
++ py-lazy-string.o \
++ py-linetable.o \
++ py-newobjfileevent.o \
++ py-objfile.o \
++ py-param.o \
++ py-prettyprint.o \
++ py-progspace.o \
++ py-signalevent.o \
++ py-stopevent.o \
++ py-symbol.o \
++ py-symtab.o \
++ py-threadevent.o \
++ py-type.o \
++ py-utils.o \
++ py-value.o
++
++SUBDIR_PYTHON_SRCS = \
++ python/python.c \
++ python/py-arch.c \
++ python/py-auto-load.c \
++ python/py-block.c \
++ python/py-bpevent.c \
++ python/py-breakpoint.c \
++ python/py-cmd.c \
++ python/py-continueevent.c \
++ python/py-event.c \
++ python/py-evtregistry.c \
++ python/py-evts.c \
++ python/py-exitedevent.c \
++ python/py-finishbreakpoint.c \
++ python/py-frame.c \
++ python/py-framefilter.c \
++ python/py-function.c \
++ python/py-gdb-readline.c \
++ python/py-inferior.c \
++ python/py-infthread.c \
++ python/py-lazy-string.c \
++ python/py-linetable.c \
++ python/py-newobjfileevent.c \
++ python/py-objfile.c \
++ python/py-param.c \
++ python/py-prettyprint.c \
++ python/py-progspace.c \
++ python/py-signalevent.c \
++ python/py-stopevent.c \
++ python/py-symbol.c \
++ python/py-symtab.c \
++ python/py-threadevent.c \
++ python/py-type.c \
++ python/py-utils.c \
++ python/py-value.c
++SUBDIR_PYTHON_DEPS =
++SUBDIR_PYTHON_LDFLAGS=
++SUBDIR_PYTHON_CFLAGS=
++
++# Opcodes currently live in one of two places. Either they are in the
++# opcode library, typically ../opcodes, or they are in a header file
++# in INCLUDE_DIR.
++# Where is the "-lopcodes" library, with (some of) the opcode tables and
++# disassemblers?
++OPCODES_DIR = ../opcodes
++OPCODES_SRC = $(srcdir)/$(OPCODES_DIR)
++OPCODES = $(OPCODES_DIR)/libopcodes.a
++# Where are the other opcode tables which only have header file
++# versions?
++OP_INCLUDE = $(INCLUDE_DIR)/opcode
++# Some source files like to use #include "opcodes/file.h"
++OPCODES_CFLAGS = -I$(OP_INCLUDE) -I$(OPCODES_SRC)/..
++
++# The simulator is usually nonexistent; targets that include one
++# should set this to list all the .o or .a files to be linked in.
++SIM = @SIM@
++
++WIN32LIBS = @WIN32LIBS@
++
++# Tcl et al cflags and libraries
++TCL = @TCL_LIBRARY@
++TCL_CFLAGS = @TCL_INCLUDE@
++GDBTKLIBS = @GDBTKLIBS@
++# Extra flags that the GDBTK files need:
++GDBTK_CFLAGS = @GDBTK_CFLAGS@
++
++TK = @TK_LIBRARY@
++TK_CFLAGS = @TK_INCLUDE@
++
++X11_CFLAGS = @TK_XINCLUDES@
++X11_LDFLAGS =
++X11_LIBS =
++
++WIN32LDAPP = @WIN32LDAPP@
++
++LIBGUI = @LIBGUI@
++GUI_CFLAGS_X = @GUI_CFLAGS_X@
++IDE_CFLAGS=$(GUI_CFLAGS_X) $(IDE_CFLAGS_X)
++
++ALL_TCL_CFLAGS = $(TCL_CFLAGS) $(TK_CFLAGS)
++
++# The version of gdbtk we're building. This should be kept
++# in sync with GDBTK_VERSION and friends in gdbtk.h.
++GDBTK_VERSION = 1.0
++GDBTK_LIBRARY = $(datadir)/insight$(GDBTK_VERSION)
++
++# Gdbtk requires an absolute path to the source directory or
++# the testsuite won't run properly.
++GDBTK_SRC_DIR = @GDBTK_SRC_DIR@
++
++SUBDIR_GDBTK_OBS = \
++ gdbtk.o gdbtk-bp.o gdbtk-cmds.o gdbtk-hooks.o gdbtk-interp.o \
++ gdbtk-register.o gdbtk-stack.o gdbtk-varobj.o gdbtk-wrapper.o
++SUBDIR_GDBTK_SRCS = \
++ gdbtk/generic/gdbtk.c gdbtk/generic/gdbtk-bp.c \
++ gdbtk/generic/gdbtk-cmds.c gdbtk/generic/gdbtk-hooks.c \
++ gdbtk/generic/gdbtk-interp.c \
++ gdbtk/generic/gdbtk-register.c gdbtk/generic/gdbtk-stack.c \
++ gdbtk/generic/gdbtk-varobj.c gdbtk/generic/gdbtk-wrapper.c \
++ gdbtk/generic/gdbtk-main.c
++SUBDIR_GDBTK_DEPS = $(LIBGUI) $(TCL_DEPS) $(TK_DEPS)
++SUBDIR_GDBTK_LDFLAGS=
++SUBDIR_GDBTK_CFLAGS= -DGDBTK
++
++CONFIG_OBS= @CONFIG_OBS@
++CONFIG_SRCS= @CONFIG_SRCS@
++CONFIG_DEPS= @CONFIG_DEPS@
++CONFIG_LDFLAGS = @CONFIG_LDFLAGS@
++ENABLE_CFLAGS= @ENABLE_CFLAGS@
++CONFIG_ALL= @CONFIG_ALL@
++CONFIG_CLEAN= @CONFIG_CLEAN@
++CONFIG_INSTALL = @CONFIG_INSTALL@
++CONFIG_UNINSTALL = @CONFIG_UNINSTALL@
++HAVE_NATIVE_GCORE_TARGET = @HAVE_NATIVE_GCORE_TARGET@
++
++# -I. for config files.
++# -I$(srcdir) for gdb internal headers.
++# -I$(srcdir)/config for more generic config files.
++
++# It is also possible that you will need to add -I/usr/include/sys if
++# your system doesn't have fcntl.h in /usr/include (which is where it
++# should be according to Posix).
++DEFS = @DEFS@
++GDB_CFLAGS = -I. -I$(srcdir) -I$(srcdir)/common -I$(srcdir)/config \
++ -DLOCALEDIR="\"$(localedir)\"" $(DEFS)
++
++# MH_CFLAGS, if defined, has host-dependent CFLAGS from the config directory.
++GLOBAL_CFLAGS = $(MH_CFLAGS)
++
++PROFILE_CFLAGS = @PROFILE_CFLAGS@
++
++# CFLAGS is specifically reserved for setting from the command line
++# when running make. I.E. "make CFLAGS=-Wmissing-prototypes".
++CFLAGS = @CFLAGS@
++
++# Set by configure, for e.g. expat. Python installations are such that
++# C headers are included using their basename (for example, we #include
++# rather than, say, ). Since the file names
++# are sometimes a little generic, we think that the risk of collision
++# with other header files is high. If that happens, we try to mitigate
++# a bit the consequences by putting the Python includes last in the list.
++INTERNAL_CPPFLAGS = @CPPFLAGS@ @PYTHON_CPPFLAGS@
++
++# Need to pass this to testsuite for "make check". Probably should be
++# consistent with top-level Makefile.in and gdb/testsuite/Makefile.in
++# so "make check" has the same result no matter where it is run.
++CXXFLAGS = -g -O
++
++# INTERNAL_CFLAGS is the aggregate of all other *CFLAGS macros.
++INTERNAL_CFLAGS_BASE = \
++ $(CFLAGS) $(GLOBAL_CFLAGS) $(PROFILE_CFLAGS) \
++ $(GDB_CFLAGS) $(OPCODES_CFLAGS) $(READLINE_CFLAGS) \
++ $(BFD_CFLAGS) $(INCLUDE_CFLAGS) $(LIBDECNUMBER_CFLAGS) \
++ $(INTL_CFLAGS) $(INCGNU) $(ENABLE_CFLAGS) $(INTERNAL_CPPFLAGS)
++INTERNAL_WARN_CFLAGS = $(INTERNAL_CFLAGS_BASE) $(GDB_WARN_CFLAGS)
++INTERNAL_CFLAGS = $(INTERNAL_WARN_CFLAGS) $(GDB_WERROR_CFLAGS)
++
++# LDFLAGS is specifically reserved for setting from the command line
++# when running make.
++LDFLAGS = @LDFLAGS@
++
++# Profiling options need to go here to work.
++# I think it's perfectly reasonable for a user to set -pg in CFLAGS
++# and have it work; that's why CFLAGS is here.
++# PROFILE_CFLAGS is _not_ included, however, because we use monstartup.
++INTERNAL_LDFLAGS = $(CFLAGS) $(GLOBAL_CFLAGS) $(MH_LDFLAGS) $(LDFLAGS) $(CONFIG_LDFLAGS)
++
++# If your system is missing alloca(), or, more likely, it's there but
++# it doesn't work, then refer to libiberty.
++
++# Libraries and corresponding dependencies for compiling gdb.
++# XM_CLIBS, defined in *config files, have host-dependent libs.
++# LIBIBERTY appears twice on purpose.
++CLIBS = $(SIM) $(READLINE) $(OPCODES) $(BFD) $(INTL) $(LIBIBERTY) $(LIBDECNUMBER) \
++ $(XM_CLIBS) $(NAT_CLIBS) $(GDBTKLIBS) @LIBS@ @PYTHON_LIBS@ \
++ $(LIBEXPAT) $(LIBLZMA) $(LIBBABELTRACE) \
++ $(LIBIBERTY) $(WIN32LIBS) $(LIBGNU)
++CDEPS = $(XM_CDEPS) $(NAT_CDEPS) $(SIM) $(BFD) $(READLINE_DEPS) \
++ $(OPCODES) $(INTL_DEPS) $(LIBIBERTY) $(CONFIG_DEPS) $(LIBGNU)
++
++ADD_FILES = $(XM_ADD_FILES) $(TM_ADD_FILES) $(NAT_ADD_FILES)
++ADD_DEPS = $(XM_ADD_FILES) $(TM_ADD_FILES) $(NAT_ADD_FILES)
++
++DIST=gdb
++
++LINT=/usr/5bin/lint
++LINTFLAGS= $(GDB_CFLAGS) $(OPCODES_CFLAGS) $(READLINE_CFLAGS) \
++ $(BFD_CFLAGS) $(INCLUDE_CFLAGS) \
++ $(INTL_CFLAGS)
++
++RUNTEST = runtest
++RUNTESTFLAGS=
++
++# XML files to build in to GDB.
++XMLFILES = $(srcdir)/features/gdb-target.dtd $(srcdir)/features/xinclude.dtd \
++ $(srcdir)/features/library-list.dtd \
++ $(srcdir)/features/library-list-aix.dtd \
++ $(srcdir)/features/library-list-svr4.dtd $(srcdir)/features/osdata.dtd \
++ $(srcdir)/features/threads.dtd $(srcdir)/features/traceframe-info.dtd \
++ $(srcdir)/features/btrace.dtd
++
++# This is ser-unix.o for any system which supports a v7/BSD/SYSV/POSIX
++# interface to the serial port. Hopefully if get ported to OS/2, VMS,
++# etc., then there will be (as part of the C library or perhaps as
++# part of libiberty) a POSIX interface. But at least for now the
++# host-dependent makefile fragment might need to use something else
++# besides ser-unix.o
++SER_HARDWIRE = @SER_HARDWIRE@
++
++# The `remote' debugging target is supported for most architectures,
++# but not all (e.g. 960)
++REMOTE_OBS = remote.o dcache.o tracepoint.o ax-general.o ax-gdb.o remote-fileio.o \
++ remote-notif.o ctf.o
++
++# This is remote-sim.o if a simulator is to be linked in.
++SIM_OBS = @SIM_OBS@
++
++# Target-dependent object files.
++TARGET_OBS = @TARGET_OBS@
++
++# All target-dependent objects files that require 64-bit CORE_ADDR
++# (used with --enable-targets=all --enable-64-bit-bfd).
++ALL_64_TARGET_OBS = \
++ aarch64-tdep.o aarch64-linux-tdep.o aarch64-newlib-tdep.o \
++ alphabsd-tdep.o alphafbsd-tdep.o alpha-linux-tdep.o alpha-mdebug-tdep.o \
++ alphanbsd-tdep.o alphaobsd-tdep.o alpha-osf1-tdep.o alpha-tdep.o \
++ amd64fbsd-tdep.o amd64-darwin-tdep.o amd64-dicos-tdep.o \
++ amd64-linux-tdep.o amd64nbsd-tdep.o \
++ amd64obsd-tdep.o amd64-sol2-tdep.o amd64-tdep.o amd64-windows-tdep.o \
++ ia64-hpux-tdep.o ia64-linux-tdep.o ia64-vms-tdep.o ia64-tdep.o \
++ mips64obsd-tdep.o \
++ sparc64fbsd-tdep.o sparc64-linux-tdep.o sparc64nbsd-tdep.o \
++ sparc64obsd-tdep.o sparc64-sol2-tdep.o sparc64-tdep.o
++
++# All other target-dependent objects files (used with --enable-targets=all).
++ALL_TARGET_OBS = \
++ armbsd-tdep.o arm-linux-tdep.o arm-symbian-tdep.o \
++ armnbsd-tdep.o armobsd-tdep.o \
++ arm-tdep.o arm-wince-tdep.o \
++ avr-tdep.o \
++ bfin-linux-tdep.o bfin-tdep.o \
++ cris-linux-tdep.o cris-tdep.o \
++ dicos-tdep.o \
++ frv-linux-tdep.o frv-tdep.o \
++ h8300-tdep.o \
++ hppabsd-tdep.o hppanbsd-tdep.o hppaobsd-tdep.o \
++ hppa-hpux-tdep.o hppa-linux-tdep.o hppa-tdep.o \
++ i386bsd-tdep.o i386-cygwin-tdep.o i386fbsd-tdep.o i386gnu-tdep.o \
++ i386-linux-tdep.o i386nbsd-tdep.o i386-nto-tdep.o i386obsd-tdep.o \
++ i386-sol2-tdep.o i386-tdep.o i387-tdep.o \
++ i386-dicos-tdep.o i386-darwin-tdep.o \
++ iq2000-tdep.o \
++ linux-tdep.o \
++ lm32-tdep.o \
++ m32c-tdep.o \
++ m32r-linux-tdep.o m32r-tdep.o \
++ m68hc11-tdep.o \
++ m68kbsd-tdep.o m68klinux-tdep.o m68k-tdep.o \
++ m88k-tdep.o \
++ mep-tdep.o \
++ microblaze-tdep.o microblaze-linux-tdep.o \
++ mips-irix-tdep.o mips-linux-tdep.o \
++ mipsnbsd-tdep.o mips-tdep.o \
++ mn10300-linux-tdep.o mn10300-tdep.o \
++ moxie-tdep.o \
++ msp430-tdep.o \
++ mt-tdep.o \
++ nios2-tdep.o nios2-linux-tdep.o \
++ nto-tdep.o \
++ ppc-linux-tdep.o ppcfbsd-tdep.o ppcnbsd-tdep.o ppcobsd-tdep.o \
++ ppc-sysv-tdep.o ppc64-tdep.o rl78-tdep.o \
++ rs6000-aix-tdep.o rs6000-tdep.o solib-aix.o ppc-ravenscar-thread.o \
++ rs6000-lynx178-tdep.o \
++ rx-tdep.o \
++ s390-linux-tdep.o \
++ score-tdep.o \
++ sh64-tdep.o sh-linux-tdep.o shnbsd-tdep.o sh-tdep.o \
++ sparc-linux-tdep.o sparcnbsd-tdep.o sparcobsd-tdep.o \
++ sparc-sol2-tdep.o sparc-tdep.o sparc-ravenscar-thread.o \
++ spu-tdep.o spu-multiarch.o solib-spu.o \
++ tic6x-tdep.o tic6x-linux-tdep.o \
++ tilegx-tdep.o tilegx-linux-tdep.o \
++ v850-tdep.o \
++ vaxnbsd-tdep.o vaxobsd-tdep.o vax-tdep.o \
++ xstormy16-tdep.o \
++ xtensa-config.o xtensa-tdep.o xtensa-linux-tdep.o \
++ glibc-tdep.o \
++ bsd-uthread.o \
++ nbsd-tdep.o obsd-tdep.o \
++ sol2-tdep.o \
++ solib-frv.o solib-irix.o solib-svr4.o \
++ solib-som.o solib-pa64.o solib-darwin.o solib-dsbt.o \
++ dbug-rom.o dink32-rom.o ppcbug-rom.o m32r-rom.o dsrec.o monitor.o \
++ remote-m32r-sdi.o remote-mips.o \
++ xcoffread.o \
++ symfile-mem.o \
++ windows-tdep.o \
++ linux-record.o \
++ ravenscar-thread.o
++
++# Host-dependent makefile fragment comes in here.
++@host_makefile_frag@
++# End of host-dependent makefile fragment
++
++FLAGS_TO_PASS = \
++ "prefix=$(prefix)" \
++ "exec_prefix=$(exec_prefix)" \
++ "infodir=$(infodir)" \
++ "datarootdir=$(datarootdir)" \
++ "docdir=$(docdir)" \
++ "htmldir=$(htmldir)" \
++ "pdfdir=$(pdfdir)" \
++ "libdir=$(libdir)" \
++ "mandir=$(mandir)" \
++ "datadir=$(datadir)" \
++ "includedir=$(includedir)" \
++ "against=$(against)" \
++ "DESTDIR=$(DESTDIR)" \
++ "AR=$(AR)" \
++ "AR_FLAGS=$(AR_FLAGS)" \
++ "CC=$(CC)" \
++ "CFLAGS=$(CFLAGS)" \
++ "CXX=$(CXX)" \
++ "CXXFLAGS=$(CXXFLAGS)" \
++ "DLLTOOL=$(DLLTOOL)" \
++ "LDFLAGS=$(LDFLAGS)" \
++ "RANLIB=$(RANLIB)" \
++ "MAKEINFO=$(MAKEINFO)" \
++ "MAKEINFOFLAGS=$(MAKEINFOFLAGS)" \
++ "MAKEINFO_EXTRA_FLAGS=$(MAKEINFO_EXTRA_FLAGS)" \
++ "MAKEHTML=$(MAKEHTML)" \
++ "MAKEHTMLFLAGS=$(MAKEHTMLFLAGS)" \
++ "INSTALL=$(INSTALL)" \
++ "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
++ "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
++ "INSTALL_DATA=$(INSTALL_DATA)" \
++ "RUNTEST=$(RUNTEST)" \
++ "RUNTESTFLAGS=$(RUNTESTFLAGS)"
++
++# Flags that we pass when building the testsuite.
++
++# empty for native, $(target_alias)/ for cross
++target_subdir = @target_subdir@
++
++CC_FOR_TARGET = ` \
++ if [ -f $${rootme}/../gcc/xgcc ] ; then \
++ if [ -f $${rootme}/../$(target_subdir)newlib/Makefile ] ; then \
++ echo $${rootme}/../gcc/xgcc -B$${rootme}/../gcc/ -idirafter $${rootme}/$(target_subdir)newlib/targ-include -idirafter $${rootsrc}/../$(target_subdir)newlib/libc/include -nostdinc -B$${rootme}/../$(target_subdir)newlib/; \
++ else \
++ echo $${rootme}/../gcc/xgcc -B$${rootme}/../gcc/; \
++ fi; \
++ else \
++ if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \
++ echo $(CC); \
++ else \
++ t='$(program_transform_name)'; echo gcc | sed -e '' $$t; \
++ fi; \
++ fi`
++
++CXX = gcc
++CXX_FOR_TARGET = ` \
++ if [ -f $${rootme}/../gcc/xgcc ] ; then \
++ if [ -f $${rootme}/../$(target_subdir)newlib/Makefile ] ; then \
++ echo $${rootme}/../gcc/xgcc -B$${rootme}/../gcc/ -idirafter $${rootme}/$(target_subdir)newlib/targ-include -idirafter $${rootsrc}/../$(target_subdir)newlib/libc/include -nostdinc -B$${rootme}/../$(target_subdir)newlib/; \
++ else \
++ echo $${rootme}/../gcc/xgcc -B$${rootme}/../gcc/; \
++ fi; \
++ else \
++ if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \
++ echo $(CXX); \
++ else \
++ t='$(program_transform_name)'; echo gcc | sed -e '' $$t; \
++ fi; \
++ fi`
++
++# The use of $$(x_FOR_TARGET) reduces the command line length by not
++# duplicating the lengthy definition.
++TARGET_FLAGS_TO_PASS = \
++ "prefix=$(prefix)" \
++ "exec_prefix=$(exec_prefix)" \
++ "against=$(against)" \
++ 'CC=$$(CC_FOR_TARGET)' \
++ "CC_FOR_TARGET=$(CC_FOR_TARGET)" \
++ "CFLAGS=$(CFLAGS)" \
++ 'CXX=$$(CXX_FOR_TARGET)' \
++ "CXX_FOR_TARGET=$(CXX_FOR_TARGET)" \
++ "CXXFLAGS=$(CXXFLAGS)" \
++ "INSTALL=$(INSTALL)" \
++ "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
++ "INSTALL_DATA=$(INSTALL_DATA)" \
++ "MAKEINFO=$(MAKEINFO)" \
++ "MAKEHTML=$(MAKEHTML)" \
++ "RUNTEST=$(RUNTEST)" \
++ "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
++ "FORCE_PARALLEL=$(FORCE_PARALLEL)"
++
++# All source files that go into linking GDB.
++# Links made at configuration time should not be specified here, since
++# SFILES is used in building the distribution archive.
++
++SFILES = ada-exp.y ada-lang.c ada-typeprint.c ada-valprint.c ada-tasks.c \
++ ada-varobj.c \
++ addrmap.c auto-load.c \
++ auxv.c ax-general.c ax-gdb.c \
++ agent.c \
++ bcache.c \
++ bfd-target.c \
++ block.c blockframe.c \
++ breakpoint.c break-catch-sig.c break-catch-throw.c \
++ build-id.c buildsym.c \
++ c-exp.y c-lang.c c-typeprint.c c-valprint.c c-varobj.c \
++ charset.c cleanups.c cli-out.c coffread.c coff-pe-read.c \
++ complaints.c completer.c continuations.c corefile.c corelow.c \
++ cp-abi.c cp-support.c cp-namespace.c cp-valprint.c \
++ d-lang.c d-valprint.c \
++ cp-name-parser.y \
++ dbxread.c demangle.c dictionary.c disasm.c doublest.c dummy-frame.c \
++ dwarf2expr.c dwarf2loc.c dwarf2read.c dwarf2-frame.c \
++ dwarf2-frame-tailcall.c \
++ elfread.c environ.c eval.c event-loop.c event-top.c \
++ exceptions.c expprint.c \
++ f-exp.y f-lang.c f-typeprint.c f-valprint.c filesystem.c \
++ findcmd.c findvar.c frame.c frame-base.c frame-unwind.c \
++ gdbarch.c arch-utils.c gdb_bfd.c gdb_obstack.c \
++ gdbtypes.c gnu-v2-abi.c gnu-v3-abi.c \
++ go-exp.y go-lang.c go-typeprint.c go-valprint.c \
++ inf-loop.c \
++ infcall.c \
++ infcmd.c inflow.c infrun.c \
++ inline-frame.c \
++ interps.c \
++ jv-exp.y jv-lang.c jv-valprint.c jv-typeprint.c jv-varobj.c \
++ language.c linespec.c minidebug.c \
++ m2-exp.y m2-lang.c m2-typeprint.c m2-valprint.c \
++ macrotab.c macroexp.c macrocmd.c macroscope.c main.c maint.c \
++ mdebugread.c memattr.c mem-break.c minsyms.c mipsread.c memory-map.c \
++ memrange.c mi/mi-common.c \
++ objc-lang.c \
++ objfiles.c osabi.c observer.c osdata.c \
++ opencl-lang.c \
++ p-exp.y p-lang.c p-typeprint.c p-valprint.c parse.c printcmd.c \
++ proc-service.list progspace.c \
++ prologue-value.c psymtab.c \
++ regcache.c reggroups.c remote.c remote-fileio.c remote-notif.c reverse.c \
++ sentinel-frame.c \
++ serial.c ser-base.c ser-unix.c skip.c \
++ solib.c solib-target.c source.c \
++ stabsread.c stack.c probe.c stap-probe.c std-regs.c \
++ symfile.c symfile-debug.c symfile-mem.c symmisc.c symtab.c \
++ target.c target-dcache.c target-descriptions.c target-memory.c \
++ thread.c top.c tracepoint.c \
++ trad-frame.c \
++ tramp-frame.c \
++ typeprint.c \
++ ui-out.c utils.c ui-file.h ui-file.c \
++ user-regs.c \
++ valarith.c valops.c valprint.c value.c varobj.c common/vec.c \
++ xml-tdesc.c xml-support.c \
++ inferior.c gdb_usleep.c \
++ record.c record-full.c gcore.c \
++ jit.c \
++ xml-syscall.c \
++ annotate.c common/signals.c copying.c dfp.c gdb.c inf-child.c \
++ regset.c sol-thread.c windows-termcap.c \
++ common/gdb_vecs.c common/common-utils.c common/xml-utils.c \
++ common/ptid.c common/buffer.c gdb-dlfcn.c common/agent.c \
++ common/format.c common/filestuff.c btrace.c record-btrace.c ctf.c \
++ target/waitstatus.c
++
++LINTFILES = $(SFILES) $(YYFILES) $(CONFIG_SRCS) init.c
++
++# Header files that need to have srcdir added. Note that in the cases
++# where we use a macro like $(gdbcmd_h), things are carefully arranged
++# so that each .h file is listed exactly once (M-x tags-search works
++# wrong if TAGS has files twice). Because this is tricky to get
++# right, it is probably easiest just to list .h files here directly.
++
++HFILES_NO_SRCDIR = \
++common/gdb_signals.h common/gdb_thread_db.h common/gdb_vecs.h \
++common/i386-xstate.h common/linux-ptrace.h common/mips-linux-watch.h \
++proc-utils.h aarch64-tdep.h arm-tdep.h ax-gdb.h ppcfbsd-tdep.h \
++ppcnbsd-tdep.h cli-out.h gdb_expat.h breakpoint.h infcall.h obsd-tdep.h \
++exec.h m32r-tdep.h osabi.h gdbcore.h solib-som.h amd64bsd-nat.h \
++i386bsd-nat.h xml-support.h xml-tdesc.h alphabsd-tdep.h gdb_obstack.h \
++ia64-tdep.h ada-lang.h varobj.h frv-tdep.h nto-tdep.h serial.h \
++c-lang.h d-lang.h go-lang.h frame.h event-loop.h block.h cli/cli-setshow.h \
++cli/cli-decode.h cli/cli-cmds.h cli/cli-utils.h \
++cli/cli-script.h macrotab.h symtab.h common/version.h \
++gnulib/import/string.in.h gnulib/import/str-two-way.h \
++gnulib/import/stdint.in.h remote.h remote-notif.h gdb.h sparc-nat.h \
++gdbthread.h dwarf2-frame.h dwarf2-frame-tailcall.h nbsd-nat.h dcache.h \
++amd64-nat.h s390-linux-tdep.h arm-linux-tdep.h exceptions.h macroscope.h \
++gdbarch.h bsd-uthread.h memory-map.h memrange.h \
++mdebugread.h m88k-tdep.h stabsread.h hppa-linux-offsets.h linux-fork.h \
++ser-unix.h inf-ptrace.h terminal.h ui-out.h frame-base.h \
++f-lang.h dwarf2loc.h value.h sparc-tdep.h defs.h target-descriptions.h \
++objfiles.h common/vec.h disasm.h mips-tdep.h ser-base.h \
++gdb_curses.h bfd-target.h memattr.h inferior.h ax.h dummy-frame.h \
++inflow.h fbsd-nat.h ia64-libunwind-tdep.h completer.h inf-ttrace.h \
++solib-target.h gdb_vfork.h alpha-tdep.h dwarf2expr.h \
++m2-lang.h stack.h charset.h cleanups.h addrmap.h command.h solist.h source.h \
++target.h target-dcache.h prologue-value.h cp-abi.h tui/tui-hooks.h tui/tui.h \
++tui/tui-file.h tui/tui-command.h tui/tui-disasm.h tui/tui-wingeneral.h \
++tui/tui-windata.h tui/tui-data.h tui/tui-win.h tui/tui-stack.h \
++tui/tui-winsource.h tui/tui-regs.h tui/tui-io.h tui/tui-layout.h \
++tui/tui-source.h sol2-tdep.h gregset.h sh-tdep.h sh64-tdep.h \
++expression.h score-tdep.h gdb_select.h ser-tcp.h \
++build-id.h buildsym.h valprint.h \
++typeprint.h mi/mi-getopt.h mi/mi-parse.h mi/mi-console.h \
++mi/mi-out.h mi/mi-main.h mi/mi-common.h mi/mi-cmds.h linux-nat.h \
++complaints.h gdb_proc_service.h gdb_regex.h xtensa-tdep.h inf-loop.h \
++common/gdb_wait.h common/gdb_assert.h solib.h ppc-tdep.h cp-support.h glibc-tdep.h \
++interps.h auxv.h gdbcmd.h tramp-frame.h mipsnbsd-tdep.h \
++amd64-linux-tdep.h linespec.h i387-tdep.h mn10300-tdep.h \
++sparc64-tdep.h monitor.h ppcobsd-tdep.h srec.h solib-pa64.h \
++coff-pe-read.h parser-defs.h gdb_ptrace.h mips-linux-tdep.h \
++m68k-tdep.h spu-tdep.h jv-lang.h environ.h solib-irix.h amd64-tdep.h \
++doublest.h regset.h hppa-tdep.h ppc-linux-tdep.h ppc64-tdep.h \
++rs6000-tdep.h rs6000-aix-tdep.h \
++common/gdb_locale.h arch-utils.h trad-frame.h gnu-nat.h \
++language.h nbsd-tdep.h solib-svr4.h \
++macroexp.h ui-file.h regcache.h tracepoint.h i386-tdep.h \
++inf-child.h p-lang.h event-top.h gdbtypes.h user-regs.h \
++regformats/regdef.h config/alpha/nm-osf3.h config/i386/nm-i386gnu.h \
++config/i386/nm-fbsd.h \
++config/nm-nto.h config/sparc/nm-sol2.h config/nm-linux.h \
++top.h bsd-kvm.h gdb-stabs.h reggroups.h \
++annotate.h sim-regno.h dictionary.h dfp.h main.h frame-unwind.h \
++remote-fileio.h i386-linux-tdep.h vax-tdep.h objc-lang.h \
++sentinel-frame.h bcache.h symfile.h windows-tdep.h linux-tdep.h \
++gdb_usleep.h jit.h xml-syscall.h microblaze-tdep.h \
++psymtab.h psympriv.h progspace.h bfin-tdep.h ia64-hpux-tdep.h \
++amd64-darwin-tdep.h charset-list.h \
++config/djgpp/langinfo.h config/djgpp/nl_types.h darwin-nat.h \
++dicos-tdep.h filesystem.h gcore.h gdb_wchar.h hppabsd-tdep.h \
++i386-darwin-tdep.h i386-nat.h linux-record.h moxie-tdep.h nios2-tdep.h \
++osdata.h procfs.h python/py-event.h python/py-events.h python/py-stopevent.h \
++python/python-internal.h python/python.h ravenscar-thread.h record.h \
++record-full.h solib-aix.h \
++solib-darwin.h solib-ia64-hpux.h solib-spu.h windows-nat.h xcoffread.h \
++gnulib/import/extra/snippet/arg-nonnull.h gnulib/import/extra/snippet/c++defs.h \
++gnulib/import/extra/snippet/warn-on-use.h \
++gnulib/import/stddef.in.h gnulib/import/inttypes.in.h inline-frame.h skip.h \
++common/common-utils.h common/xml-utils.h common/buffer.h common/ptid.h \
++common/format.h common/host-defs.h utils.h common/queue.h \
++common/linux-osdata.h gdb-dlfcn.h auto-load.h probe.h stap-probe.h \
++gdb_bfd.h sparc-ravenscar-thread.h ppc-ravenscar-thread.h common/linux-btrace.h \
++ctf.h common/i386-cpuid.h common/i386-gcc-cpuid.h target/resume.h \
++target/wait.h target/waitstatus.h nat/linux-nat.h nat/linux-waitpid.h
++
++# Header files that already have srcdir in them, or which are in objdir.
++
++HFILES_WITH_SRCDIR = ../bfd/bfd.h jit-reader.h
++
++
++# GDB "info" files, which should be included in their entirety
++INFOFILES = gdb.info*
++
++REMOTE_EXAMPLES = m68k-stub.c i386-stub.c sparc-stub.c rem-multi.shar
++
++# {X,T,NAT}DEPFILES are something of a pain in that it's hard to
++# default their values the way we do for SER_HARDWIRE; in the future
++# maybe much of the stuff now in {X,T,NAT}DEPFILES will go into other
++# variables analogous to SER_HARDWIRE which get defaulted in this
++# Makefile.in
++
++DEPFILES = $(TARGET_OBS) $(SER_HARDWIRE) $(NATDEPFILES) \
++ $(REMOTE_OBS) $(SIM_OBS)
++
++SOURCES = $(SFILES) $(ALLDEPFILES) $(YYFILES) $(CONFIG_SRCS)
++# Don't include YYFILES (*.c) because we already include *.y in SFILES,
++# and it's more useful to see it in the .y file.
++TAGFILES_NO_SRCDIR = $(SFILES) $(HFILES_NO_SRCDIR) $(ALLDEPFILES) \
++ $(CONFIG_SRCS)
++TAGFILES_WITH_SRCDIR = $(HFILES_WITH_SRCDIR)
++
++COMMON_OBS = $(DEPFILES) $(CONFIG_OBS) $(YYOBJ) \
++ version.o \
++ annotate.o \
++ addrmap.o \
++ auto-load.o auxv.o \
++ agent.o \
++ bfd-target.o \
++ blockframe.o breakpoint.o break-catch-sig.o break-catch-throw.o \
++ findvar.o regcache.o cleanups.o \
++ charset.o continuations.o corelow.o disasm.o dummy-frame.o dfp.o \
++ source.o value.o eval.o valops.o valarith.o valprint.o printcmd.o \
++ block.o symtab.o psymtab.o symfile.o symfile-debug.o symmisc.o \
++ linespec.o dictionary.o \
++ infcall.o \
++ infcmd.o infrun.o \
++ expprint.o environ.o stack.o thread.o \
++ exceptions.o \
++ filesystem.o \
++ filestuff.o \
++ inf-child.o \
++ interps.o \
++ minidebug.o \
++ main.o \
++ macrotab.o macrocmd.o macroexp.o macroscope.o \
++ mi-common.o \
++ event-loop.o event-top.o inf-loop.o completer.o \
++ gdbarch.o arch-utils.o gdbtypes.o gdb_bfd.o gdb_obstack.o \
++ osabi.o copying.o \
++ memattr.o mem-break.o target.o target-dcache.o parse.o language.o \
++ build-id.o buildsym.o \
++ findcmd.o \
++ std-regs.o \
++ signals.o \
++ exec.o reverse.o \
++ bcache.o objfiles.o observer.o minsyms.o maint.o demangle.o \
++ dbxread.o coffread.o coff-pe-read.o \
++ dwarf2read.o mipsread.o stabsread.o corefile.o \
++ dwarf2expr.o dwarf2loc.o dwarf2-frame.o dwarf2-frame-tailcall.o \
++ ada-lang.o c-lang.o d-lang.o f-lang.o objc-lang.o \
++ ada-tasks.o ada-varobj.o c-varobj.o \
++ ui-out.o cli-out.o \
++ varobj.o vec.o \
++ go-lang.o go-valprint.o go-typeprint.o \
++ jv-lang.o jv-valprint.o jv-typeprint.o jv-varobj.o \
++ m2-lang.o opencl-lang.o p-lang.o p-typeprint.o p-valprint.o \
++ sentinel-frame.o \
++ complaints.o typeprint.o \
++ ada-typeprint.o c-typeprint.o f-typeprint.o m2-typeprint.o \
++ ada-valprint.o c-valprint.o cp-valprint.o d-valprint.o f-valprint.o \
++ m2-valprint.o \
++ serial.o mdebugread.o top.o utils.o \
++ ui-file.o \
++ user-regs.o \
++ frame.o frame-unwind.o doublest.o \
++ frame-base.o \
++ inline-frame.o \
++ gnu-v2-abi.o gnu-v3-abi.o cp-abi.o cp-support.o \
++ cp-namespace.o \
++ reggroups.o regset.o \
++ trad-frame.o \
++ tramp-frame.o \
++ solib.o solib-target.o \
++ prologue-value.o memory-map.o memrange.o \
++ xml-support.o xml-syscall.o xml-utils.o \
++ target-descriptions.o target-memory.o xml-tdesc.o xml-builtin.o \
++ inferior.o osdata.o gdb_usleep.o record.o record-full.o gcore.o \
++ gdb_vecs.o jit.o progspace.o skip.o probe.o \
++ common-utils.o buffer.o ptid.o gdb-dlfcn.o common-agent.o \
++ format.o registry.o btrace.o record-btrace.o waitstatus.o
++
++TSOBS = inflow.o
++
++SUBDIRS = doc @subdirs@ data-directory $(GNULIB_BUILDDIR)
++CLEANDIRS = $(SUBDIRS)
++
++# List of subdirectories in the build tree that must exist.
++# This is used to force build failures in existing trees when
++# a new directory is added.
++# The format here is for the `case' shell command.
++REQUIRED_SUBDIRS = doc | testsuite | $(GNULIB_BUILDDIR) | data-directory
++
++# For now, shortcut the "configure GDB for fewer languages" stuff.
++YYFILES = c-exp.c \
++ cp-name-parser.c \
++ ada-lex.c \
++ ada-exp.c \
++ jv-exp.c \
++ f-exp.c go-exp.c m2-exp.c p-exp.c
++YYOBJ = c-exp.o \
++ cp-name-parser.o \
++ ada-exp.o \
++ jv-exp.o \
++ f-exp.o go-exp.o m2-exp.o p-exp.o
++
++# Things which need to be built when making a distribution.
++
++DISTSTUFF = $(YYFILES)
++
++
++# All generated files which can be included by another file.
++generated_files = config.h observer.h observer.inc ada-lex.c jit-reader.h \
++ $(GNULIB_H) $(NAT_GENERATED_FILES) gcore
++
++.c.o:
++ $(COMPILE) $<
++ $(POSTCOMPILE)
++
++all: gdb$(EXEEXT) $(CONFIG_ALL)
++ @$(MAKE) $(FLAGS_TO_PASS) DO=all "DODIRS=`echo $(SUBDIRS) | sed 's/testsuite//'`" subdir_do
++
++installcheck:
++
++# The check target can not use subdir_do, because subdir_do does not
++# use TARGET_FLAGS_TO_PASS.
++check: force
++ @if [ -f testsuite/Makefile ]; then \
++ rootme=`pwd`; export rootme; \
++ rootsrc=`cd $(srcdir); pwd`; export rootsrc; \
++ cd testsuite; \
++ $(MAKE) $(TARGET_FLAGS_TO_PASS) check; \
++ else true; fi
++
++check-perf: force
++ @if [ -f testsuite/Makefile ]; then \
++ rootme=`pwd`; export rootme; \
++ rootsrc=`cd $(srcdir); pwd`; export rootsrc; \
++ cd testsuite; \
++ $(MAKE) $(TARGET_FLAGS_TO_PASS) check-perf; \
++ else true; fi
++
++# The idea is to parallelize testing of multilibs, for example:
++# make -j3 check//sh-hms-sim/{-m1,-m2,-m3,-m3e,-m4}/{,-nofpu}
++# will run 3 concurrent sessions of check, eventually testing all 10
++# combinations. GNU make is required for the % pattern to work, as is
++# a shell that expands alternations within braces. If GNU make is not
++# used, this rule will harmlessly fail to match. Used FORCE_PARALLEL to
++# prevent serialized checking due to the passed RUNTESTFLAGS.
++# FIXME: use config.status --config not --version, when available.
++check//%: force
++ @if [ -f testsuite/config.status ]; then \
++ rootme=`pwd`; export rootme; \
++ rootsrc=`cd $(srcdir); pwd`; export rootsrc; \
++ target=`echo "$@" | sed 's,//.*,,'`; \
++ variant=`echo "$@" | sed 's,^[^/]*//,,'`; \
++ vardots=`echo "$$variant" | sed 's,/,.,g'`; \
++ testdir=testsuite.$$vardots; \
++ if [ ! -f $$testdir/Makefile ] && [ -f testsuite/config.status ]; then \
++ configargs=`cd testsuite && ./config.status --version | \
++ sed -n -e 's,"$$,,' -e 's,^ *with options ",,p'`; \
++ $(SHELL) $(srcdir)/../mkinstalldirs $$testdir && \
++ (cd $$testdir && \
++ eval $(SHELL) "\"\$$rootsrc/testsuite/configure\" $$configargs" \
++ "\"--srcdir=\$$rootsrc/testsuite\"" \
++ ); \
++ else :; fi && cd $$testdir && \
++ $(MAKE) $(TARGET_FLAGS_TO_PASS) \
++ RUNTESTFLAGS="--target_board=$$variant $(RUNTESTFLAGS)" \
++ FORCE_PARALLEL=$(if $(FORCE_PARALLEL),1,$(if $(RUNTESTFLAGS),,1)) \
++ "$$target"; \
++ else true; fi
++
++info install-info clean-info dvi pdf install-pdf html install-html: force
++ @$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do
++
++# Traditionally "install" depends on "all". But it may be useful
++# not to; for example, if the user has made some trivial change to a
++# source file and doesn't care about rebuilding or just wants to save the
++# time it takes for make to check that all is up to date.
++# install-only is intended to address that need.
++install: all
++ @$(MAKE) $(FLAGS_TO_PASS) install-only
++
++install-only: $(CONFIG_INSTALL)
++ transformed_name=`t='$(program_transform_name)'; \
++ echo gdb | sed -e "$$t"` ; \
++ if test "x$$transformed_name" = x; then \
++ transformed_name=gdb ; \
++ else \
++ true ; \
++ fi ; \
++ $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(bindir) ; \
++ $(INSTALL_PROGRAM) gdb$(EXEEXT) \
++ $(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT) ; \
++ $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(includedir)/gdb ; \
++ $(INSTALL_DATA) jit-reader.h $(DESTDIR)$(includedir)/gdb/jit-reader.h
++ if test "x$(HAVE_NATIVE_GCORE_TARGET)$(HAVE_NATIVE_GCORE_HOST)" != x; \
++ then \
++ transformed_name=`t='$(program_transform_name)'; \
++ echo gcore | sed -e "$$t"` ; \
++ if test "x$$transformed_name" = x; then \
++ transformed_name=gcore ; \
++ else \
++ true ; \
++ fi ; \
++ $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(bindir) ; \
++ $(INSTALL_SCRIPT) gcore \
++ $(DESTDIR)$(bindir)/$$transformed_name; \
++ fi
++ @$(MAKE) DO=install "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do
++
++install-strip:
++ $(MAKE) $(FLAGS_TO_PASS) 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-only
++
++install-python:
++ $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(GDB_DATADIR)/python/gdb
++
++uninstall: force $(CONFIG_UNINSTALL)
++ transformed_name=`t='$(program_transform_name)'; \
++ echo gdb | sed -e $$t` ; \
++ if test "x$$transformed_name" = x; then \
++ transformed_name=gdb ; \
++ else \
++ true ; \
++ fi ; \
++ rm -f $(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT) \
++ $(DESTDIR)$(man1dir)/$$transformed_name.1
++ if test "x$(HAVE_NATIVE_GCORE_TARGET)$(HAVE_NATIVE_GCORE_HOST)" != x; \
++ then \
++ transformed_name=`t='$(program_transform_name)'; \
++ echo gcore | sed -e "$$t"` ; \
++ if test "x$$transformed_name" = x; then \
++ transformed_name=gcore ; \
++ else \
++ true ; \
++ fi ; \
++ rm -f $(DESTDIR)$(bindir)/$$transformed_name; \
++ fi
++ @$(MAKE) DO=uninstall "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do
++
++# The C++ name parser can be built standalone for testing.
++test-cp-name-parser.o: cp-name-parser.c
++ $(COMPILE) -DTEST_CPNAMES cp-name-parser.c
++ $(POSTCOMPILE)
++
++test-cp-name-parser$(EXEEXT): test-cp-name-parser.o $(LIBIBERTY)
++ $(CC_LD) $(INTERNAL_LDFLAGS) -o test-cp-name-parser$(EXEEXT) \
++ test-cp-name-parser.o $(LIBIBERTY)
++
++# We do this by grepping through sources. If that turns out to be too slow,
++# maybe we could just require every .o file to have an initialization routine
++# of a given name (top.o -> _initialize_top, etc.).
++#
++# Formatting conventions: The name of the _initialize_* routines must start
++# in column zero, and must not be inside #if.
++#
++# Note that the set of files with init functions might change, or the names
++# of the functions might change, so this files needs to depend on all the
++# object files that will be linked into gdb.
++
++# FIXME: There is a problem with this approach - init.c may force
++# unnecessary files to be linked in.
++
++# FIXME: cagney/2002-06-09: gdb/564: gdb/563: Force the order so that
++# the first call is to _initialize_gdbtypes (implemented by explicitly
++# putting that function's name first in the init.l-tmp file). This is
++# a hack to ensure that all the architecture dependant global
++# builtin_type_* variables are initialized before anything else
++# (per-architecture code is called in the same order that it is
++# registered). The ``correct fix'' is to have all the builtin types
++# made part of the architecture and initialize them on-demand (using
++# gdbarch_data) just like everything else. The catch is that other
++# modules still take the address of these builtin types forcing them
++# to be variables, sigh!
++
++# NOTE: cagney/2003-03-18: The sed pattern ``s|^\([^ /]...'' is
++# anchored on the first column and excludes the ``/'' character so
++# that it doesn't add the $(srcdir) prefix to any file that already
++# has an absolute path. It turns out that $(DEC)'s True64 make
++# automatically adds the $(srcdir) prefixes when it encounters files
++# in sub-directories such as cli/ and mi/.
++
++# NOTE: cagney/2004-02-08: The ``case "$$fs" in'' eliminates
++# duplicates. Files in the gdb/ directory can end up appearing in
++# COMMON_OBS (as a .o file) and CONFIG_SRCS (as a .c file).
++
++INIT_FILES = $(COMMON_OBS) $(TSOBS) $(CONFIG_SRCS)
++init.c: $(INIT_FILES)
++ @echo Making init.c
++ @rm -f init.c-tmp init.l-tmp
++ @touch init.c-tmp
++ @echo gdbtypes > init.l-tmp
++ @-LANG=C ; export LANG ; \
++ LC_ALL=C ; export LC_ALL ; \
++ echo $(INIT_FILES) | \
++ tr ' ' '\012' | \
++ sed \
++ -e '/^gdbtypes.[co]$$/d' \
++ -e '/^init.[co]$$/d' \
++ -e '/xdr_ld.[co]$$/d' \
++ -e '/xdr_ptrace.[co]$$/d' \
++ -e '/xdr_rdb.[co]$$/d' \
++ -e '/udr.[co]$$/d' \
++ -e '/udip2soc.[co]$$/d' \
++ -e '/udi2go32.[co]$$/d' \
++ -e '/version.[co]$$/d' \
++ -e '/^[a-z0-9A-Z_]*_[SU].[co]$$/d' \
++ -e '/[a-z0-9A-Z_]*-exp.tab.[co]$$/d' \
++ -e 's/\.[co]$$/.c/' \
++ -e 's,signals\.c,common/signals\.c,' \
++ -e 's|^\([^ /][^ ]*\)|$(srcdir)/\1|g' | \
++ while read f; do \
++ sed -n -e 's/^_initialize_\([a-z_0-9A-Z]*\).*/\1/p' $$f 2>/dev/null; \
++ done | \
++ while read f; do \
++ case " $$fs " in \
++ *" $$f "* ) ;; \
++ * ) echo $$f ; fs="$$fs $$f";; \
++ esac; \
++ done >> init.l-tmp
++ @echo '/* Do not modify this file. */' >>init.c-tmp
++ @echo '/* It is created automatically by the Makefile. */'>>init.c-tmp
++ @echo '#include "defs.h" /* For initialize_file_ftype. */' >>init.c-tmp
++ @echo 'extern void initialize_all_files(void);' >>init.c-tmp
++ @sed -e 's/\(.*\)/extern initialize_file_ftype _initialize_\1;/' >init.c-tmp
++ @echo 'void' >>init.c-tmp
++ @echo 'initialize_all_files (void)' >>init.c-tmp
++ @echo '{' >>init.c-tmp
++ @sed -e 's/\(.*\)/ _initialize_\1 ();/' >init.c-tmp
++ @echo '}' >>init.c-tmp
++ @rm init.l-tmp
++ @mv init.c-tmp init.c
++
++.PRECIOUS: init.c
++
++# Create a library of the gdb object files and build GDB by linking
++# against that.
++#
++# init.o is very important. It pulls in the rest of GDB.
++LIBGDB_OBS= $(COMMON_OBS) $(TSOBS) $(ADD_FILES) init.o
++libgdb.a: $(LIBGDB_OBS)
++ -rm -f libgdb.a
++ $(AR) q libgdb.a $(LIBGDB_OBS)
++ $(RANLIB) libgdb.a
++
++# Removing the old gdb first works better if it is running, at least on SunOS.
++gdb$(EXEEXT): gdb.o $(LIBGDB_OBS) $(ADD_DEPS) $(CDEPS) $(TDEPLIBS)
++ rm -f gdb$(EXEEXT)
++ $(CC_LD) $(INTERNAL_LDFLAGS) $(WIN32LDAPP) \
++ -o gdb$(EXEEXT) gdb.o $(LIBGDB_OBS) \
++ $(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS) $(LOADLIBES)
++
++# Convenience rule to handle recursion.
++$(LIBGNU) $(GNULIB_H): all-lib
++all-lib: $(GNULIB_BUILDDIR)/Makefile
++ @$(MAKE) $(FLAGS_TO_PASS) DO=all DODIRS=$(GNULIB_BUILDDIR) subdir_do
++.PHONY: all-lib
++
++# Convenience rule to handle recursion.
++.PHONY: all-data-directory
++all-data-directory: data-directory/Makefile
++ @$(MAKE) $(FLAGS_TO_PASS) DO=all DODIRS=data-directory subdir_do
++
++# This is useful when debugging GDB, because some Unix's don't let you run GDB
++# on itself without copying the executable. So "make gdb1" will make
++# gdb and put a copy in gdb1, and you can run it with "gdb gdb1".
++# Removing gdb1 before the copy is the right thing if gdb1 is open
++# in another process.
++gdb1$(EXEEXT): gdb$(EXEEXT)
++ rm -f gdb1$(EXEEXT)
++ cp gdb$(EXEEXT) gdb1$(EXEEXT)
++
++# Put the proper machine-specific files first, so M-. on a machine
++# specific routine gets the one for the correct machine. (FIXME: those
++# files go in twice; we should be removing them from the main list).
++
++# TAGS depends on all the files that go into it so you can rebuild TAGS
++# with `make TAGS' and not have to say `rm TAGS' first.
++
++GDB_NM_FILE = @GDB_NM_FILE@
++TAGS: $(TAGFILES_NO_SRCDIR) $(TAGFILES_WITH_SRCDIR)
++ @echo Making TAGS
++ etags `(test -n "$(GDB_NM_FILE)" && echo "$(srcdir)/$(GDB_NM_FILE)")` \
++ `(for i in $(DEPFILES) $(TAGFILES_NO_SRCDIR); do \
++ echo $(srcdir)/$$i ; \
++ done ; for i in $(TAGFILES_WITH_SRCDIR); do \
++ echo $$i ; \
++ done) | sed -e 's/\.o$$/\.c/'` \
++ `find $(srcdir)/config -name '*.h' -print`
++
++tags: TAGS
++
++clean mostlyclean: $(CONFIG_CLEAN)
++ @$(MAKE) $(FLAGS_TO_PASS) DO=clean "DODIRS=$(CLEANDIRS)" subdir_do
++ rm -f *.o *.a $(ADD_FILES) *~ init.c-tmp init.l-tmp version.c-tmp
++ rm -f init.c version.c observer.h observer.inc
++ rm -f gdb$(EXEEXT) core make.log
++ rm -f gdb[0-9]$(EXEEXT)
++ rm -f test-cp-name-parser$(EXEEXT)
++ rm -f xml-builtin.c stamp-xml
++ rm -f $(DEPDIR)/*
++
++# This used to depend on c-exp.c m2-exp.c TAGS
++# I believe this is wrong; the makefile standards for distclean just
++# describe removing files; the only sort of "re-create a distribution"
++# functionality described is if the distributed files are unmodified.
++# NB: While GDBSERVER might be configured on native systems, it isn't
++# always included in SUBDIRS. Remove the gdbserver files explicitly.
++distclean: clean
++ @$(MAKE) $(FLAGS_TO_PASS) DO=distclean "DODIRS=$(CLEANDIRS)" subdir_do
++ rm -rf $(GNULIB_BUILDDIR)
++ rm -f gdbserver/config.status gdbserver/config.log
++ rm -f gdbserver/tm.h gdbserver/xm.h gdbserver/nm.h
++ rm -f gdbserver/Makefile gdbserver/config.cache
++ rm -f nm.h config.status config.h stamp-h gdb-gdb.gdb jit-reader.h
++ rm -f y.output yacc.acts yacc.tmp y.tab.h
++ rm -f config.log config.cache
++ rm -f Makefile
++ rm -rf $(DEPDIR)
++
++maintainer-clean: local-maintainer-clean do-maintainer-clean distclean
++realclean: maintainer-clean
++
++local-maintainer-clean:
++ @echo "This command is intended for maintainers to use;"
++ @echo "it deletes files that may require special tools to rebuild."
++ rm -f c-exp.c \
++ cp-name-parser.c \
++ ada-lex.c ada-exp.c \
++ jv-exp.tab \
++ f-exp.c go-exp.c m2-exp.c p-exp.c
++ rm -f TAGS $(INFOFILES)
++ rm -f $(YYFILES)
++ rm -f nm.h config.status
++
++do-maintainer-clean:
++ @$(MAKE) $(FLAGS_TO_PASS) DO=maintainer-clean "DODIRS=$(CLEANDIRS)" \
++ subdir_do
++
++diststuff: $(DISTSTUFF) $(PACKAGE).pot $(CATALOGS)
++ cd doc; $(MAKE) $(MFLAGS) diststuff
++
++subdir_do: force
++ @for i in $(DODIRS); do \
++ case $$i in \
++ $(REQUIRED_SUBDIRS)) \
++ if [ ! -f ./$$i/Makefile ] ; then \
++ echo "Missing $$i/Makefile" >&2 ; \
++ exit 1 ; \
++ fi ;; \
++ esac ; \
++ if [ -f ./$$i/Makefile ] ; then \
++ if (cd ./$$i; \
++ $(MAKE) $(FLAGS_TO_PASS) $(DO)) ; then true ; \
++ else exit 1 ; fi ; \
++ else true ; fi ; \
++ done
++
++Makefile: Makefile.in config.status @frags@
++ # Regenerate the Makefile and the tm.h / nm.h links.
++ CONFIG_FILES="Makefile" \
++ CONFIG_COMMANDS= \
++ CONFIG_HEADERS= \
++ $(SHELL) config.status
++
++$(GNULIB_BUILDDIR)/Makefile: gnulib/Makefile.in config.status @frags@
++ @cd $(GNULIB_BUILDDIR); CONFIG_FILES="Makefile" \
++ CONFIG_COMMANDS="depfiles" \
++ CONFIG_HEADERS= \
++ CONFIG_LINKS= \
++ $(SHELL) config.status
++
++data-directory/Makefile: data-directory/Makefile.in config.status @frags@
++ CONFIG_FILES="data-directory/Makefile" \
++ CONFIG_COMMANDS="depfiles" \
++ CONFIG_HEADERS= \
++ CONFIG_LINKS= \
++ $(SHELL) config.status
++
++.PHONY: run
++run: Makefile
++ ./gdb$(EXEEXT) --data-directory=`pwd`/data-directory $(GDBFLAGS)
++
++jit-reader.h: $(srcdir)/jit-reader.in
++ $(SHELL) config.status $@
++
++gcore: $(srcdir)/gcore.in
++ $(SHELL) config.status $@
++
++config.h: stamp-h ; @true
++stamp-h: $(srcdir)/config.in config.status
++ CONFIG_HEADERS=config.h:config.in \
++ CONFIG_COMMANDS="default depdir" \
++ CONFIG_FILES= \
++ CONFIG_LINKS= \
++ $(SHELL) config.status
++
++config.status: $(srcdir)/configure configure.tgt configure.host development.sh
++ $(SHELL) config.status --recheck
++
++ACLOCAL = aclocal
++ACLOCAL_AMFLAGS = -I ../config
++
++# Keep these in sync with the includes in acinclude.m4.
++aclocal_m4_deps = \
++ configure.ac \
++ acx_configure_dir.m4 \
++ libmcheck.m4 \
++ ../bfd/bfd.m4 \
++ ../config/acinclude.m4 \
++ ../config/plugins.m4 \
++ ../config/lead-dot.m4 \
++ ../config/override.m4 \
++ ../config/largefile.m4 \
++ ../config/gettext-sister.m4 \
++ ../config/lib-ld.m4 \
++ ../config/lib-prefix.m4 \
++ ../config/lib-link.m4 \
++ ../config/acx.m4 \
++ ../config/tcl.m4 \
++ ../config/depstand.m4 \
++ ../config/lcmessage.m4 \
++ ../config/codeset.m4 \
++ ../config/zlib.m4
++
++$(srcdir)/aclocal.m4: @MAINTAINER_MODE_TRUE@ $(aclocal_m4_deps)
++ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
++
++AUTOCONF = autoconf
++configure_deps = $(srcdir)/configure.ac $(srcdir)/aclocal.m4
++$(srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(configure_deps)
++ cd $(srcdir) && $(AUTOCONF)
++
++AUTOHEADER = autoheader
++$(srcdir)/config.in: @MAINTAINER_MODE_TRUE@ $(configure_deps)
++ cd $(srcdir) && $(AUTOHEADER)
++ rm -f stamp-h
++ touch $@
++
++# automatic rebuilding in automake-generated Makefiles requires
++# this rule in the toplevel Makefile, which, with GNU make, causes
++# the desired updates through the implicit regeneration of the Makefile
++# and all of its prerequisites.
++am--refresh:
++ @:
++
++force:
++
++# Documentation!
++# GDB QUICK REFERENCE (TeX dvi file, CM fonts)
++doc/refcard.dvi:
++ cd doc; $(MAKE) refcard.dvi $(FLAGS_TO_PASS)
++
++# GDB QUICK REFERENCE (PostScript output, common PS fonts)
++doc/refcard.ps:
++ cd doc; $(MAKE) refcard.ps $(FLAGS_TO_PASS)
++
++# GDB MANUAL: TeX dvi file
++doc/gdb.dvi:
++ cd doc; $(MAKE) gdb.dvi $(FLAGS_TO_PASS)
++
++# GDB MANUAL: info file
++doc/gdb.info:
++ cd doc; $(MAKE) gdb.info $(FLAGS_TO_PASS)
++
++# Make copying.c from COPYING
++$(srcdir)/copying.c: @MAINTAINER_MODE_TRUE@ $(srcdir)/../COPYING3 $(srcdir)/copying.awk
++ awk -f $(srcdir)/copying.awk \
++ < $(srcdir)/../COPYING3 > $(srcdir)/copying.tmp
++ mv $(srcdir)/copying.tmp $(srcdir)/copying.c
++
++version.c: Makefile version.in $(srcdir)/../bfd/version.h $(srcdir)/common/create-version.sh
++ $(SHELL) $(srcdir)/common/create-version.sh $(srcdir) \
++ $(host_alias) $(target_alias) version.c
++
++observer.h: observer.sh doc/observer.texi
++ ${srcdir}/observer.sh h ${srcdir}/doc/observer.texi observer.h
++
++observer.inc: observer.sh doc/observer.texi
++ ${srcdir}/observer.sh inc ${srcdir}/doc/observer.texi observer.inc
++
++lint: $(LINTFILES)
++ $(LINT) $(INCLUDE_CFLAGS) $(LINTFLAGS) $(LINTFILES) \
++ `echo $(DEPFILES) $(CONFIG_OBS) | sed 's/\.o /\.c /g'`
++
++gdb.cxref: $(SFILES)
++ cxref -I. $(SFILES) >gdb.cxref
++
++force_update:
++
++# GNU Make has an annoying habit of putting *all* the Makefile variables
++# into the environment, unless you include this target as a circumvention.
++# Rumor is that this will be fixed (and this target can be removed)
++# in GNU Make 4.0.
++.NOEXPORT:
++
++# GNU Make 3.63 has a different problem: it keeps tacking command line
++# overrides onto the definition of $(MAKE). This variable setting
++# will remove them.
++MAKEOVERRIDES=
++
++ALLDEPFILES = \
++ aarch64-tdep.c aarch64-linux-tdep.c aarch64-newlib-tdep.c \
++ aarch64-linux-nat.c \
++ aix-thread.c \
++ alpha-nat.c alphabsd-nat.c alpha-linux-nat.c \
++ alpha-tdep.c alpha-mdebug-tdep.c \
++ alpha-linux-tdep.c alpha-osf1-tdep.c \
++ alphabsd-tdep.c alphafbsd-tdep.c alphanbsd-tdep.c alphaobsd-tdep.c \
++ amd64-nat.c amd64-tdep.c \
++ amd64bsd-nat.c amd64fbsd-nat.c amd64fbsd-tdep.c \
++ amd64nbsd-nat.c amd64nbsd-tdep.c \
++ amd64obsd-nat.c amd64obsd-tdep.c \
++ amd64-darwin-tdep.c \
++ amd64-dicos-tdep.c \
++ amd64-linux-nat.c amd64-linux-tdep.c \
++ amd64-sol2-tdep.c \
++ arm-linux-nat.c arm-linux-tdep.c arm-symbian-tdep.c arm-tdep.c \
++ armnbsd-nat.c armbsd-tdep.c armnbsd-tdep.c armobsd-tdep.c \
++ avr-tdep.c \
++ bfin-linux-tdep.c bfin-tdep.c \
++ bsd-uthread.c bsd-kvm.c \
++ core-regset.c \
++ dcache.c dicos-tdep.c darwin-nat.c \
++ exec.c \
++ fbsd-nat.c \
++ fork-child.c \
++ glibc-tdep.c \
++ go32-nat.c h8300-tdep.c \
++ hppa-tdep.c hppa-hpux-tdep.c hppa-hpux-nat.c \
++ hppa-linux-tdep.c hppa-linux-nat.c \
++ hppabsd-nat.c hppabsd-tdep.c \
++ hppaobsd-tdep.c \
++ hppanbsd-nat.c hppanbsd-tdep.c \
++ i386-tdep.c i386-linux-nat.c \
++ i386v4-nat.c i386-cygwin-tdep.c \
++ i386bsd-nat.c i386bsd-tdep.c i386fbsd-nat.c i386fbsd-tdep.c \
++ i386nbsd-nat.c i386nbsd-tdep.c i386obsd-nat.c i386obsd-tdep.c \
++ i387-tdep.c \
++ i386-darwin-tdep.c i386-darwin-nat.c \
++ i386-dicos-tdep.c \
++ i386-linux-tdep.c i386-nat.c \
++ i386-sol2-nat.c i386-sol2-tdep.c \
++ i386gnu-nat.c i386gnu-tdep.c \
++ ia64-hpux-nat.c ia64-hpux-tdep.c \
++ ia64-linux-nat.c ia64-linux-tdep.c ia64-tdep.c ia64-vms-tdep.c \
++ inf-ptrace.c inf-ttrace.c \
++ irix5-nat.c \
++ ia64-libunwind-tdep.c \
++ linux-fork.c \
++ linux-tdep.c \
++ linux-record.c \
++ lm32-tdep.c \
++ m68hc11-tdep.c \
++ m32r-tdep.c \
++ m32r-linux-nat.c m32r-linux-tdep.c \
++ m68k-tdep.c \
++ m68kbsd-nat.c m68kbsd-tdep.c \
++ m68klinux-nat.c m68klinux-tdep.c \
++ m88k-tdep.c m88kbsd-nat.c \
++ microblaze-tdep.c microblaze-linux-tdep.c \
++ mingw-hdep.c \
++ mips-linux-nat.c mips-linux-tdep.c \
++ mips-irix-tdep.c \
++ mips-tdep.c \
++ mipsnbsd-nat.c mipsnbsd-tdep.c \
++ mips64obsd-nat.c mips64obsd-tdep.c \
++ msp430-tdep.c \
++ nios2-tdep.c nios2-linux-tdep.c \
++ nbsd-nat.c nbsd-tdep.c obsd-tdep.c \
++ solib-osf.c \
++ somread.c solib-som.c \
++ posix-hdep.c \
++ ppc-sysv-tdep.c ppc-linux-nat.c ppc-linux-tdep.c ppc64-tdep.c \
++ ppcfbsd-nat.c ppcfbsd-tdep.c \
++ ppcnbsd-nat.c ppcnbsd-tdep.c \
++ ppcobsd-nat.c ppcobsd-tdep.c \
++ procfs.c \
++ ravenscar-thread.c \
++ remote-m32r-sdi.c remote-mips.c \
++ remote-sim.c \
++ dcache.c \
++ rl78-tdep.c \
++ rs6000-nat.c rs6000-tdep.c solib-aix.c ppc-ravenscar-thread.c \
++ rs6000-lynx178-tdep.c \
++ rx-tdep.c \
++ s390-linux-tdep.c s390-linux-nat.c \
++ score-tdep.c \
++ ser-go32.c ser-pipe.c ser-tcp.c ser-mingw.c \
++ sh-tdep.c sh64-tdep.c shnbsd-tdep.c shnbsd-nat.c \
++ sol2-tdep.c \
++ solib-irix.c solib-svr4.c \
++ sparc-linux-nat.c sparc-linux-tdep.c \
++ sparc-sol2-nat.c sparc-sol2-tdep.c sparc64-sol2-tdep.c \
++ sparc-nat.c sparc-tdep.c sparc64-linux-nat.c sparc64-linux-tdep.c \
++ sparc64-nat.c sparc64-tdep.c sparc64fbsd-nat.c sparc64fbsd-tdep.c \
++ sparc64nbsd-nat.c sparc64nbsd-tdep.c sparc64obsd-tdep.c \
++ sparcnbsd-nat.c sparcnbsd-tdep.c sparcobsd-tdep.c \
++ sparc-ravenscar-thread.c \
++ spu-linux-nat.c spu-tdep.c spu-multiarch.c solib-spu.c \
++ tilegx-linux-nat.c tilegx-tdep.c tilegx-linux-tdep.c \
++ v850-tdep.c \
++ vax-nat.c vax-tdep.c vaxbsd-nat.c vaxnbsd-tdep.c \
++ windows-nat.c windows-tdep.c \
++ xcoffread.c \
++ xstormy16-tdep.c \
++ xtensa-tdep.c xtensa-config.c \
++ xtensa-linux-tdep.c xtensa-linux-nat.c xtensa-xtregs.c
++
++# Some files need explicit build rules (due to -Werror problems) or due
++# to sub-directory fun 'n' games.
++
++# FIXME: cagney/2003-08-10: "monitor.c" gets -Wformat-nonliteral
++# errors. It turns out that that is the least of monitor.c's
++# problems. The function print_vsprintf appears to be using
++# va_arg(long) to extract CORE_ADDR parameters - something that
++# definitly will not work. "monitor.c" needs to be rewritten so that
++# it doesn't use format strings and instead uses callbacks.
++monitor.o: $(srcdir)/monitor.c
++ $(COMPILE.pre) $(INTERNAL_CFLAGS) $(GDB_WARN_CFLAGS_NO_FORMAT) \
++ $(COMPILE.post) $(srcdir)/monitor.c
++ $(POSTCOMPILE)
++
++# Do not try to build "printcmd.c" with -Wformat-nonliteral. It manually
++# checks format strings.
++printcmd.o: $(srcdir)/printcmd.c
++ $(COMPILE.pre) $(INTERNAL_CFLAGS) $(GDB_WARN_CFLAGS_NO_FORMAT) \
++ $(COMPILE.post) $(srcdir)/printcmd.c
++ $(POSTCOMPILE)
++
++# ada-exp.c can appear in srcdir, for releases; or in ., for
++# development builds.
++ADA_EXP_C = `if test -f ada-exp.c; then echo ada-exp.c; else echo $(srcdir)/ada-exp.c; fi`
++
++# Some versions of flex give output that triggers
++# -Wold-style-definition.
++ada-exp.o: ada-exp.c
++ $(COMPILE.pre) $(INTERNAL_CFLAGS) $(GDB_WARN_CFLAGS_NO_DEFS) \
++ $(COMPILE.post) $(ADA_EXP_C)
++ $(POSTCOMPILE)
++
++# Message files. Based on code in gcc/Makefile.in.
++
++# Rules for generating translated message descriptions. Disabled by
++# autoconf if the tools are not available.
++
++.SUFFIXES: .po .gmo .pox .pot
++.PHONY: all-po install-po uninstall-po clean-po update-po $(PACKAGE).pot
++
++all-po: $(CATALOGS)
++
++# This notation should be acceptable to all Make implementations used
++# by people who are interested in updating .po files.
++update-po: $(CATALOGS:.gmo=.pox)
++
++# N.B. We do not attempt to copy these into $(srcdir). The snapshot
++# script does that.
++.po.gmo:
++ -test -d po || mkdir po
++ $(GMSGFMT) --statistics -o $@ $<
++
++# The new .po has to be gone over by hand, so we deposit it into
++# build/po with a different extension. If build/po/$(PACKAGE).pot
++# exists, use it (it was just created), else use the one in srcdir.
++.po.pox:
++ -test -d po || mkdir po
++ $(MSGMERGE) $< `if test -f po/$(PACKAGE).pot; \
++ then echo po/$(PACKAGE).pot; \
++ else echo $(srcdir)/po/$(PACKAGE).pot; fi` -o $@
++
++# This rule has to look for .gmo modules in both srcdir and the cwd,
++# and has to check that we actually have a catalog for each language,
++# in case they weren't built or included with the distribution.
++install-po:
++ $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(datadir)
++ cats="$(CATALOGS)"; for cat in $$cats; do \
++ lang=`basename $$cat | sed 's/\.gmo$$//'`; \
++ if [ -f $$cat ]; then :; \
++ elif [ -f $(srcdir)/$$cat ]; then cat=$(srcdir)/$$cat; \
++ else continue; \
++ fi; \
++ dir=$(localedir)/$$lang/LC_MESSAGES; \
++ echo $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$$dir; \
++ $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$$dir || exit 1; \
++ echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
++ $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
++ done
++uninstall-po:
++ cats="$(CATALOGS)"; for cat in $$cats; do \
++ lang=`basename $$cat | sed 's/\.gmo$$//'`; \
++ if [ -f $$cat ]; then :; \
++ elif [ -f $(srcdir)/$$cat ]; then cat=$(srcdir)/$$cat; \
++ else continue; \
++ fi; \
++ dir=$(localedir)/$$lang/LC_MESSAGES; \
++ rm -f $(DESTDIR)$$dir/$(PACKAGE).mo; \
++ done
++# Delete po/*.gmo only if we are not building in the source directory.
++clean-po:
++ -if [ ! -f Makefile.in ]; then rm -f po/*.gmo; fi
++
++# Rule for regenerating the message template (gdb.pot). Instead of
++# forcing everyone to edit POTFILES.in, which proved impractical, this
++# rule has no dependencies and always regenerates gdb.pot. This is
++# relatively harmless since the .po files do not directly depend on
++# it. The .pot file is left in the build directory. Since GDB's
++# Makefile lacks a cannonical list of sources (missing xm, tm and nm
++# files) force this rule.
++$(PACKAGE).pot: po/$(PACKAGE).pot
++po/$(PACKAGE).pot: force
++ -test -d po || mkdir po
++ sh -e $(srcdir)/po/gdbtext $(XGETTEXT) $(PACKAGE) . $(srcdir)
++
++
++#
++# YACC/LEX dependencies
++#
++# LANG-exp.c is generated in objdir from LANG-exp.y if it doesn't
++# exist in srcdir, then compiled in objdir to LANG-exp.o. If we
++# said LANG-exp.c rather than ./c-exp.c some makes would
++# sometimes re-write it into $(srcdir)/c-exp.c. Remove bogus
++# decls for malloc/realloc/free which conflict with everything else.
++# Strictly speaking c-exp.c should therefore depend on
++# Makefile.in, but that was a pretty big annoyance.
++
++.SUFFIXES: .y .l
++.y.c:
++ rm -f $@ $@.tmp
++ $(SHELL) $(YLWRAP) $< y.tab.c $@ -- $(YACC) $(YFLAGS) && mv $@ $@.tmp \
++ || (rm -f $@; false)
++ sed -e '/extern.*malloc/d' \
++ -e '/extern.*realloc/d' \
++ -e '/extern.*free/d' \
++ -e '/include.*malloc.h/d' \
++ -e 's/\([^x]\)malloc/\1xmalloc/g' \
++ -e 's/\([^x]\)realloc/\1xrealloc/g' \
++ -e 's/\([ \t;,(]\)free\([ \t]*[&(),]\)/\1xfree\2/g' \
++ -e 's/\([ \t;,(]\)free$$/\1xfree/g' \
++ -e '/^#line.*y.tab.c/d' \
++ -e "s/^\(#line.*\)`basename $<`/\1`echo $<|sed 's/\//\\\\\//g'`/" \
++ < $@.tmp > $@
++ rm -f $@.tmp
++.l.c:
++ if [ "$(FLEX)" ] && $(FLEX) --version >/dev/null 2>&1; then \
++ $(FLEX) -o$@ $< && \
++ rm -f $@.new && \
++ sed -e '/extern.*malloc/d' \
++ -e '/extern.*realloc/d' \
++ -e '/extern.*free/d' \
++ -e '/include.*malloc.h/d' \
++ -e 's/\([^x]\)malloc/\1xmalloc/g' \
++ -e 's/\([^x]\)realloc/\1xrealloc/g' \
++ -e 's/\([ \t;,(]\)free\([ \t]*[&(),]\)/\1xfree\2/g' \
++ -e 's/\([ \t;,(]\)free$$/\1xfree/g' \
++ -e 's/yy_flex_xrealloc/yyxrealloc/g' \
++ < $@ > $@.new && \
++ rm -f $@ && \
++ mv $@.new $@; \
++ elif [ -f $@ ]; then \
++ echo "Warning: $*.c older than $*.l and flex not available."; \
++ else \
++ echo "$@ missing and flex not available."; \
++ false; \
++ fi
++
++.PRECIOUS: ada-lex.c
++
++# XML rules
++
++xml-builtin.c: stamp-xml; @true
++stamp-xml: $(srcdir)/features/feature_to_c.sh Makefile $(XMLFILES)
++ rm -f xml-builtin.tmp
++ AWK="$(AWK)" \
++ $(SHELL) $(srcdir)/features/feature_to_c.sh \
++ xml-builtin.tmp $(XMLFILES)
++ $(SHELL) $(srcdir)/../move-if-change xml-builtin.tmp xml-builtin.c
++ echo stamp > stamp-xml
++
++.PRECIOUS: xml-builtin.c
++
++#
++# gdb/cli/ dependencies
++#
++# Need to explicitly specify the compile rule as make will do nothing
++# or try to compile the object file into the sub-directory.
++
++cli-cmds.o: $(srcdir)/cli/cli-cmds.c
++ $(COMPILE) $(srcdir)/cli/cli-cmds.c
++ $(POSTCOMPILE)
++
++cli-decode.o: $(srcdir)/cli/cli-decode.c
++ $(COMPILE) $(srcdir)/cli/cli-decode.c
++ $(POSTCOMPILE)
++
++cli-dump.o: $(srcdir)/cli/cli-dump.c
++ $(COMPILE) $(srcdir)/cli/cli-dump.c
++ $(POSTCOMPILE)
++
++cli-interp.o: $(srcdir)/cli/cli-interp.c
++ $(COMPILE) $(srcdir)/cli/cli-interp.c
++ $(POSTCOMPILE)
++
++cli-logging.o: $(srcdir)/cli/cli-logging.c
++ $(COMPILE) $(srcdir)/cli/cli-logging.c
++ $(POSTCOMPILE)
++
++cli-script.o: $(srcdir)/cli/cli-script.c
++ $(COMPILE) $(srcdir)/cli/cli-script.c
++ $(POSTCOMPILE)
++
++cli-setshow.o: $(srcdir)/cli/cli-setshow.c
++ $(COMPILE) $(srcdir)/cli/cli-setshow.c
++ $(POSTCOMPILE)
++
++cli-utils.o: $(srcdir)/cli/cli-utils.c
++ $(COMPILE) $(srcdir)/cli/cli-utils.c
++ $(POSTCOMPILE)
++
++
++#
++# GDBTK sub-directory
++#
++# Need to explicitly specify the compile rule as make will do nothing
++# or try to compile the object file into the mi directory.
++
++all-gdbtk: insight$(EXEEXT)
++
++install-gdbtk:
++ transformed_name=`t='$(program_transform_name)'; \
++ echo insight | sed -e $$t` ; \
++ if test "x$$transformed_name" = x; then \
++ transformed_name=insight ; \
++ else \
++ true ; \
++ fi ; \
++ $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(bindir); \
++ $(INSTALL_PROGRAM) insight$(EXEEXT) \
++ $(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT) ; \
++ $(SHELL) $(srcdir)/../mkinstalldirs \
++ $(DESTDIR)$(GDBTK_LIBRARY) ; \
++ $(SHELL) $(srcdir)/../mkinstalldirs \
++ $(DESTDIR)$(libdir)/insight$(GDBTK_VERSION) ; \
++ $(INSTALL_DATA) $(srcdir)/gdbtk/plugins/plugins.tcl \
++ $(DESTDIR)$(libdir)/insight$(GDBTK_VERSION)/plugins.tcl ; \
++ $(SHELL) $(srcdir)/../mkinstalldirs \
++ $(DESTDIR)$(GDBTK_LIBRARY)/images \
++ $(DESTDIR)$(GDBTK_LIBRARY)/images2 ; \
++ $(SHELL) $(srcdir)/../mkinstalldirs \
++ $(DESTDIR)$(GDBTK_LIBRARY)/help \
++ $(DESTDIR)$(GDBTK_LIBRARY)/help/images \
++ $(DESTDIR)$(GDBTK_LIBRARY)/help/trace ; \
++ cd $(srcdir)/gdbtk/library ; \
++ for i in *.tcl *.itcl *.ith *.itb images/*.gif images2/*.gif images/icons.txt images2/icons.txt tclIndex help/*.html help/trace/*.html help/trace/index.toc help/images/*.gif help/images/*.png; \
++ do \
++ $(INSTALL_DATA) $$i $(DESTDIR)$(GDBTK_LIBRARY)/$$i ; \
++ done ;
++
++uninstall-gdbtk:
++ transformed_name=`t='$(program_transform_name)'; \
++ echo insight | sed -e $$t` ; \
++ if test "x$$transformed_name" = x; then \
++ transformed_name=insight ; \
++ else \
++ true ; \
++ fi ; \
++ rm -f $(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT) ; \
++ rm -rf $(DESTDIR)$(GDBTK_LIBRARY)
++
++clean-gdbtk:
++ rm -f insight$(EXEEXT)
++
++# Removing the old gdb first works better if it is running, at least on SunOS.
++insight$(EXEEXT): gdbtk-main.o libgdb.a $(ADD_DEPS) \
++ $(CDEPS) $(TDEPLIBS)
++ rm -f insight$(EXEEXT)
++ $(CC_LD) $(INTERNAL_LDFLAGS) $(WIN32LDAPP) \
++ -o insight$(EXEEXT) gdbtk-main.o libgdb.a \
++ $(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS) $(LOADLIBES)
++
++gdbres.o: $(srcdir)/gdbtk/gdb.rc $(srcdir)/gdbtk/gdbtool.ico
++ $(WINDRES) --include $(srcdir)/gdbtk $(srcdir)/gdbtk/gdb.rc gdbres.o
++
++all_gdbtk_cflags = $(IDE_CFLAGS) $(ITCL_CFLAGS) \
++ $(ITK_CFLAGS) $(TCL_CFLAGS) $(TK_CFLAGS) $(X11_CFLAGS) \
++ $(GDBTK_CFLAGS) \
++ -DGDBTK_LIBRARY=\"$(GDBTK_LIBRARY)\" \
++ -DSRC_DIR=\"$(GDBTK_SRC_DIR)\"
++
++gdbtk.o: $(srcdir)/gdbtk/generic/gdbtk.c
++ $(COMPILE) $(all_gdbtk_cflags) $(srcdir)/gdbtk/generic/gdbtk.c
++ $(POSTCOMPILE)
++
++gdbtk-bp.o: $(srcdir)/gdbtk/generic/gdbtk-bp.c
++ $(COMPILE) $(all_gdbtk_cflags) $(srcdir)/gdbtk/generic/gdbtk-bp.c
++ $(POSTCOMPILE)
++
++gdbtk-cmds.o: $(srcdir)/gdbtk/generic/gdbtk-cmds.c
++ $(COMPILE) $(all_gdbtk_cflags) $(srcdir)/gdbtk/generic/gdbtk-cmds.c
++ $(POSTCOMPILE)
++
++gdbtk-hooks.o: $(srcdir)/gdbtk/generic/gdbtk-hooks.c
++ $(COMPILE) $(all_gdbtk_cflags) $(srcdir)/gdbtk/generic/gdbtk-hooks.c
++ $(POSTCOMPILE)
++
++gdbtk-interp.o: $(srcdir)/gdbtk/generic/gdbtk-interp.c
++ $(COMPILE) $(all_gdbtk_cflags) $(srcdir)/gdbtk/generic/gdbtk-interp.c
++ $(POSTCOMPILE)
++
++gdbtk-main.o: $(srcdir)/gdbtk/generic/gdbtk-main.c
++ $(COMPILE) $(all_gdbtk_cflags) $(srcdir)/gdbtk/generic/gdbtk-main.c
++ $(POSTCOMPILE)
++
++gdbtk-register.o: $(srcdir)/gdbtk/generic/gdbtk-register.c
++ $(COMPILE) $(all_gdbtk_cflags) $(srcdir)/gdbtk/generic/gdbtk-register.c
++ $(POSTCOMPILE)
++
++gdbtk-stack.o: $(srcdir)/gdbtk/generic/gdbtk-stack.c
++ $(COMPILE) $(all_gdbtk_cflags) $(srcdir)/gdbtk/generic/gdbtk-stack.c
++ $(POSTCOMPILE)
++
++gdbtk-varobj.o: $(srcdir)/gdbtk/generic/gdbtk-varobj.c
++ $(COMPILE) $(all_gdbtk_cflags) $(srcdir)/gdbtk/generic/gdbtk-varobj.c
++ $(POSTCOMPILE)
++
++gdbtk-wrapper.o: $(srcdir)/gdbtk/generic/gdbtk-wrapper.c
++ $(COMPILE) $(all_gdbtk_cflags) $(srcdir)/gdbtk/generic/gdbtk-wrapper.c
++ $(POSTCOMPILE)
++
++
++#
++# gdb/mi/ dependencies
++#
++# Need to explicitly specify the compile rule as make will do nothing
++# or try to compile the object file into the sub-directory.
++
++mi-cmd-break.o: $(srcdir)/mi/mi-cmd-break.c
++ $(COMPILE) $(srcdir)/mi/mi-cmd-break.c
++ $(POSTCOMPILE)
++
++mi-cmd-catch.o: $(srcdir)/mi/mi-cmd-catch.c
++ $(COMPILE) $(srcdir)/mi/mi-cmd-catch.c
++ $(POSTCOMPILE)
++
++mi-cmd-disas.o: $(srcdir)/mi/mi-cmd-disas.c
++ $(COMPILE) $(srcdir)/mi/mi-cmd-disas.c
++ $(POSTCOMPILE)
++
++mi-cmd-env.o: $(srcdir)/mi/mi-cmd-env.c
++ $(COMPILE) $(srcdir)/mi/mi-cmd-env.c
++ $(POSTCOMPILE)
++
++mi-cmd-file.o: $(srcdir)/mi/mi-cmd-file.c
++ $(COMPILE) $(srcdir)/mi/mi-cmd-file.c
++ $(POSTCOMPILE)
++
++mi-cmd-info.o: $(srcdir)/mi/mi-cmd-info.c
++ $(COMPILE) $(srcdir)/mi/mi-cmd-info.c
++ $(POSTCOMPILE)
++
++mi-cmds.o: $(srcdir)/mi/mi-cmds.c
++ $(COMPILE) $(srcdir)/mi/mi-cmds.c
++ $(POSTCOMPILE)
++
++mi-cmd-stack.o: $(srcdir)/mi/mi-cmd-stack.c
++ $(COMPILE) $(srcdir)/mi/mi-cmd-stack.c
++ $(POSTCOMPILE)
++
++mi-cmd-target.o: $(srcdir)/mi/mi-cmd-target.c
++ $(COMPILE) $(srcdir)/mi/mi-cmd-target.c
++ $(POSTCOMPILE)
++
++mi-cmd-var.o: $(srcdir)/mi/mi-cmd-var.c
++ $(COMPILE) $(srcdir)/mi/mi-cmd-var.c
++ $(POSTCOMPILE)
++
++mi-console.o: $(srcdir)/mi/mi-console.c
++ $(COMPILE) $(srcdir)/mi/mi-console.c
++ $(POSTCOMPILE)
++
++mi-getopt.o: $(srcdir)/mi/mi-getopt.c
++ $(COMPILE) $(srcdir)/mi/mi-getopt.c
++ $(POSTCOMPILE)
++
++mi-interp.o: $(srcdir)/mi/mi-interp.c
++ $(COMPILE) $(srcdir)/mi/mi-interp.c
++ $(POSTCOMPILE)
++
++mi-main.o: $(srcdir)/mi/mi-main.c
++ $(COMPILE) $(srcdir)/mi/mi-main.c
++ $(POSTCOMPILE)
++
++mi-out.o: $(srcdir)/mi/mi-out.c
++ $(COMPILE) $(srcdir)/mi/mi-out.c
++ $(POSTCOMPILE)
++
++mi-parse.o: $(srcdir)/mi/mi-parse.c
++ $(COMPILE) $(srcdir)/mi/mi-parse.c
++ $(POSTCOMPILE)
++
++mi-symbol-cmds.o: $(srcdir)/mi/mi-symbol-cmds.c
++ $(COMPILE) $(srcdir)/mi/mi-symbol-cmds.c
++ $(POSTCOMPILE)
++
++mi-common.o: $(srcdir)/mi/mi-common.c
++ $(COMPILE) $(srcdir)/mi/mi-common.c
++ $(POSTCOMPILE)
++
++# gdb/common/ dependencies
++#
++# Need to explicitly specify the compile rule as make will do nothing
++# or try to compile the object file into the sub-directory.
++
++signals.o: $(srcdir)/common/signals.c
++ $(COMPILE) $(srcdir)/common/signals.c
++ $(POSTCOMPILE)
++
++common-utils.o: ${srcdir}/common/common-utils.c
++ $(COMPILE) $(srcdir)/common/common-utils.c
++ $(POSTCOMPILE)
++
++gdb_vecs.o: ${srcdir}/common/gdb_vecs.c
++ $(COMPILE) $(srcdir)/common/gdb_vecs.c
++ $(POSTCOMPILE)
++
++xml-utils.o: ${srcdir}/common/xml-utils.c
++ $(COMPILE) $(srcdir)/common/xml-utils.c
++ $(POSTCOMPILE)
++
++ptid.o: ${srcdir}/common/ptid.c
++ $(COMPILE) $(srcdir)/common/ptid.c
++ $(POSTCOMPILE)
++
++buffer.o: ${srcdir}/common/buffer.c
++ $(COMPILE) $(srcdir)/common/buffer.c
++ $(POSTCOMPILE)
++
++filestuff.o: $(srcdir)/common/filestuff.c
++ $(COMPILE) $(srcdir)/common/filestuff.c
++ $(POSTCOMPILE)
++
++format.o: ${srcdir}/common/format.c
++ $(COMPILE) $(srcdir)/common/format.c
++ $(POSTCOMPILE)
++
++linux-osdata.o: ${srcdir}/common/linux-osdata.c
++ $(COMPILE) $(srcdir)/common/linux-osdata.c
++ $(POSTCOMPILE)
++
++linux-procfs.o: $(srcdir)/common/linux-procfs.c
++ $(COMPILE) $(srcdir)/common/linux-procfs.c
++ $(POSTCOMPILE)
++
++linux-ptrace.o: $(srcdir)/common/linux-ptrace.c
++ $(COMPILE) $(srcdir)/common/linux-ptrace.c
++ $(POSTCOMPILE)
++
++common-agent.o: $(srcdir)/common/agent.c
++ $(COMPILE) $(srcdir)/common/agent.c
++ $(POSTCOMPILE)
++
++vec.o: ${srcdir}/common/vec.c
++ $(COMPILE) $(srcdir)/common/vec.c
++ $(POSTCOMPILE)
++
++linux-btrace.o: ${srcdir}/common/linux-btrace.c
++ $(COMPILE) $(srcdir)/common/linux-btrace.c
++ $(POSTCOMPILE)
++
++mips-linux-watch.o: ${srcdir}/common/mips-linux-watch.c
++ $(COMPILE) $(srcdir)/common/mips-linux-watch.c
++ $(POSTCOMPILE)
++
++#
++# gdb/target/ dependencies
++#
++# Need to explicitly specify the compile rule as make will do nothing
++# or try to compile the object file into the sub-directory.
++
++waitstatus.o: ${srcdir}/target/waitstatus.c
++ $(COMPILE) $(srcdir)/target/waitstatus.c
++ $(POSTCOMPILE)
++
++# gdb/nat/ dependencies
++#
++# Need to explicitly specify the compile rule as make will do nothing
++# or try to compile the object file into the sub-directory.
++
++linux-waitpid.o: ${srcdir}/nat/linux-waitpid.c
++ $(COMPILE) $(srcdir)/nat/linux-waitpid.c
++ $(POSTCOMPILE)
++
++#
++# gdb/tui/ dependencies
++#
++# Need to explicitly specify the compile rule as make will do nothing
++# or try to compile the object file into the sub-directory.
++
++tui.o: $(srcdir)/tui/tui.c
++ $(COMPILE) $(srcdir)/tui/tui.c
++ $(POSTCOMPILE)
++
++tui-command.o: $(srcdir)/tui/tui-command.c
++ $(COMPILE) $(srcdir)/tui/tui-command.c
++ $(POSTCOMPILE)
++
++tui-data.o: $(srcdir)/tui/tui-data.c
++ $(COMPILE) $(srcdir)/tui/tui-data.c
++ $(POSTCOMPILE)
++
++tui-disasm.o: $(srcdir)/tui/tui-disasm.c
++ $(COMPILE) $(srcdir)/tui/tui-disasm.c
++ $(POSTCOMPILE)
++
++tui-file.o: $(srcdir)/tui/tui-file.c
++ $(COMPILE) $(srcdir)/tui/tui-file.c
++ $(POSTCOMPILE)
++
++tui-hooks.o: $(srcdir)/tui/tui-hooks.c
++ $(COMPILE) $(srcdir)/tui/tui-hooks.c
++ $(POSTCOMPILE)
++
++tui-interp.o: $(srcdir)/tui/tui-interp.c
++ $(COMPILE) $(srcdir)/tui/tui-interp.c
++ $(POSTCOMPILE)
++
++tui-io.o: $(srcdir)/tui/tui-io.c
++ $(COMPILE) $(srcdir)/tui/tui-io.c
++ $(POSTCOMPILE)
++
++tui-layout.o: $(srcdir)/tui/tui-layout.c
++ $(COMPILE) $(srcdir)/tui/tui-layout.c
++ $(POSTCOMPILE)
++
++tui-out.o: $(srcdir)/tui/tui-out.c
++ $(COMPILE) $(srcdir)/tui/tui-out.c
++ $(POSTCOMPILE)
++
++tui-regs.o: $(srcdir)/tui/tui-regs.c
++ $(COMPILE) $(srcdir)/tui/tui-regs.c
++ $(POSTCOMPILE)
++
++tui-source.o: $(srcdir)/tui/tui-source.c
++ $(COMPILE) $(srcdir)/tui/tui-source.c
++ $(POSTCOMPILE)
++
++tui-stack.o: $(srcdir)/tui/tui-stack.c
++ $(COMPILE) $(srcdir)/tui/tui-stack.c
++ $(POSTCOMPILE)
++
++tui-win.o: $(srcdir)/tui/tui-win.c
++ $(COMPILE) $(srcdir)/tui/tui-win.c
++ $(POSTCOMPILE)
++
++tui-windata.o: $(srcdir)/tui/tui-windata.c
++ $(COMPILE) $(srcdir)/tui/tui-windata.c
++ $(POSTCOMPILE)
++
++tui-wingeneral.o: $(srcdir)/tui/tui-wingeneral.c
++ $(COMPILE) $(srcdir)/tui/tui-wingeneral.c
++ $(POSTCOMPILE)
++
++tui-winsource.o: $(srcdir)/tui/tui-winsource.c
++ $(COMPILE) $(srcdir)/tui/tui-winsource.c
++ $(POSTCOMPILE)
++
++#
++# gdb/python/ dependencies
++#
++# Need to explicitly specify the compile rule as make will do nothing
++# or try to compile the object file into the sub-directory.
++
++# Flags needed to compile Python code
++PYTHON_CFLAGS=@PYTHON_CFLAGS@
++
++python.o: $(srcdir)/python/python.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/python.c
++ $(POSTCOMPILE)
++
++py-arch.o: $(srcdir)/python/py-arch.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-arch.c
++ $(POSTCOMPILE)
++
++py-auto-load.o: $(srcdir)/python/py-auto-load.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-auto-load.c
++ $(POSTCOMPILE)
++
++py-block.o: $(srcdir)/python/py-block.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-block.c
++ $(POSTCOMPILE)
++
++py-bpevent.o: $(srcdir)/python/py-bpevent.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-bpevent.c
++ $(POSTCOMPILE)
++
++py-breakpoint.o: $(srcdir)/python/py-breakpoint.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-breakpoint.c
++ $(POSTCOMPILE)
++
++py-cmd.o: $(srcdir)/python/py-cmd.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-cmd.c
++ $(POSTCOMPILE)
++
++py-continueevent.o: $(srcdir)/python/py-continueevent.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-continueevent.c
++ $(POSTCOMPILE)
++
++py-event.o: $(srcdir)/python/py-event.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-event.c
++ $(POSTCOMPILE)
++
++py-evtregistry.o: $(srcdir)/python/py-evtregistry.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-evtregistry.c
++ $(POSTCOMPILE)
++
++py-evts.o: $(srcdir)/python/py-evts.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-evts.c
++ $(POSTCOMPILE)
++
++py-exitedevent.o: $(srcdir)/python/py-exitedevent.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-exitedevent.c
++ $(POSTCOMPILE)
++
++py-finishbreakpoint.o: $(srcdir)/python/py-finishbreakpoint.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-finishbreakpoint.c
++ $(POSTCOMPILE)
++
++py-frame.o: $(srcdir)/python/py-frame.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-frame.c
++ $(POSTCOMPILE)
++
++py-framefilter.o: $(srcdir)/python/py-framefilter.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-framefilter.c
++ $(POSTCOMPILE)
++
++py-function.o: $(srcdir)/python/py-function.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-function.c
++ $(POSTCOMPILE)
++
++py-gdb-readline.o: $(srcdir)/python/py-gdb-readline.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-gdb-readline.c
++ $(POSTCOMPILE)
++
++py-inferior.o: $(srcdir)/python/py-inferior.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-inferior.c
++ $(POSTCOMPILE)
++
++py-infthread.o: $(srcdir)/python/py-infthread.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-infthread.c
++ $(POSTCOMPILE)
++
++py-lazy-string.o: $(srcdir)/python/py-lazy-string.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-lazy-string.c
++ $(POSTCOMPILE)
++
++py-linetable.o: $(srcdir)/python/py-linetable.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-linetable.c
++ $(POSTCOMPILE)
++
++py-newobjfileevent.o: $(srcdir)/python/py-newobjfileevent.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-newobjfileevent.c
++ $(POSTCOMPILE)
++
++py-objfile.o: $(srcdir)/python/py-objfile.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-objfile.c
++ $(POSTCOMPILE)
++
++py-param.o: $(srcdir)/python/py-param.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-param.c
++ $(POSTCOMPILE)
++
++py-prettyprint.o: $(srcdir)/python/py-prettyprint.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-prettyprint.c
++ $(POSTCOMPILE)
++
++py-progspace.o: $(srcdir)/python/py-progspace.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-progspace.c
++ $(POSTCOMPILE)
++
++py-signalevent.o: $(srcdir)/python/py-signalevent.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-signalevent.c
++ $(POSTCOMPILE)
++
++py-stopevent.o: $(srcdir)/python/py-stopevent.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-stopevent.c
++ $(POSTCOMPILE)
++
++py-symbol.o: $(srcdir)/python/py-symbol.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-symbol.c
++ $(POSTCOMPILE)
++
++py-symtab.o: $(srcdir)/python/py-symtab.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-symtab.c
++ $(POSTCOMPILE)
++
++py-threadevent.o: $(srcdir)/python/py-threadevent.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-threadevent.c
++ $(POSTCOMPILE)
++
++py-type.o: $(srcdir)/python/py-type.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-type.c
++ $(POSTCOMPILE)
++
++py-utils.o: $(srcdir)/python/py-utils.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-utils.c
++ $(POSTCOMPILE)
++
++py-value.o: $(srcdir)/python/py-value.c
++ $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-value.c
++ $(POSTCOMPILE)
++
++#
++# Dependency tracking. Most of this is conditional on GNU Make being
++# found by configure; if GNU Make is not found, we fall back to a
++# simpler scheme.
++#
++
++@GMAKE_TRUE@ifeq ($(DEPMODE),depmode=gcc3)
++# Note that we put the dependencies into a .Tpo file, then move them
++# into place if the compile succeeds. We need this because gcc does
++# not atomically write the dependency output file.
++@GMAKE_TRUE@override COMPILE.post = -c -o $@ -MT $@ -MMD -MP \
++@GMAKE_TRUE@ -MF $(DEPDIR)/$(basename $(@F)).Tpo
++@GMAKE_TRUE@override POSTCOMPILE = @mv $(DEPDIR)/$(basename $(@F)).Tpo \
++@GMAKE_TRUE@ $(DEPDIR)/$(basename $(@F)).Po
++@GMAKE_TRUE@else
++@GMAKE_TRUE@override COMPILE.pre = source='$<' object='$@' libtool=no \
++@GMAKE_TRUE@ DEPDIR=$(DEPDIR) $(DEPMODE) $(depcomp) $(CC)
++# depcomp handles atomicity for us, so we don't need a postcompile
++# step.
++@GMAKE_TRUE@override POSTCOMPILE =
++@GMAKE_TRUE@endif
++
++# A list of all the objects we might care about in this build, for
++# dependency tracking.
++all_object_files = gdb.o $(LIBGDB_OBS) gdbtk-main.o \
++ test-cp-name-parser.o
++
++# Ensure that generated files are created early. Use order-only
++# dependencies if available. They require GNU make 3.80 or newer,
++# and the .VARIABLES variable was introduced at the same time.
++@GMAKE_TRUE@ifdef .VARIABLES
++@GMAKE_TRUE@$(all_object_files): | $(generated_files)
++@GMAKE_TRUE@else
++$(all_object_files) : $(generated_files)
++@GMAKE_TRUE@endif
++
++# Dependencies.
++@GMAKE_TRUE@-include $(patsubst %.o, $(DEPDIR)/%.Po, $(all_object_files))
++
++### end of the gdb Makefile.in.
+diff -Nbaur gdb-7.7/sim/common/Make-common.in gdb-7.7-arm/sim/common/Make-common.in
+--- gdb-7.7/sim/common/Make-common.in 2014-01-08 09:23:36.000000000 +0000
++++ gdb-7.7-arm/sim/common/Make-common.in 2014-02-16 19:43:34.000000000 +0000
+@@ -415,10 +415,8 @@
+ # Note that we put the dependencies into a .Tpo file, then move them
+ # into place if the compile succeeds. We need this because gcc does
+ # not atomically write the dependency output file.
+-@GMAKE_TRUE@override COMPILE.post = -c -o $@ -MT $@ -MMD -MP \
+-@GMAKE_TRUE@ -MF $(DEPDIR)/$(basename $(@F)).Tpo
+-@GMAKE_TRUE@override POSTCOMPILE = @mv $(DEPDIR)/$(basename $(@F)).Tpo \
+-@GMAKE_TRUE@ $(DEPDIR)/$(basename $(@F)).Po
++@GMAKE_TRUE@override COMPILE.post = -c -o $@
++@GMAKE_TRUE@override POSTCOMPILE =
+ @GMAKE_TRUE@else
+ @GMAKE_TRUE@override COMPILE.pre = source='$<' object='$@' libtool=no \
+ @GMAKE_TRUE@ DEPDIR=$(DEPDIR) $(DEPMODE) $(depcomp) $(CC)
+diff -Nbaur gdb-7.7/sim/common/Make-common.in.orig gdb-7.7-arm/sim/common/Make-common.in.orig
+--- gdb-7.7/sim/common/Make-common.in.orig 1970-01-01 01:00:00.000000000 +0100
++++ gdb-7.7-arm/sim/common/Make-common.in.orig 2014-01-08 09:23:36.000000000 +0000
+@@ -0,0 +1,625 @@
++# Makefile fragment for common parts of all simulators.
++# Copyright 1997-2014 Free Software Foundation, Inc.
++# Contributed by Cygnus Support.
++
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 3 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program. If not, see .
++
++# This Makefile fragment consists of two separate parts.
++# They are merged into the final Makefile at points denoted by
++# "## COMMON_PRE_CONFIG_FRAG" and "## COMMON_POST_CONFIG_FRAG".
++#
++# The target Makefile should look like:
++#
++#># Copyright blah blah
++#>
++#>## COMMON_PRE_CONFIG_FRAG
++#>
++#># Any overrides necessary for the SIM_FOO config vars.
++#>SIM_FOO = ...
++#>
++#>## COMMON_POST_CONFIG_FRAG
++#>
++#># Rules to build target specific .o's.
++
++## COMMON_PRE_CONFIG_FRAG
++
++VPATH = @srcdir@:$(srccom)
++srcdir = @srcdir@
++srccom = $(srcdir)/../common
++srcroot = $(srcdir)/../..
++srcsim = $(srcdir)/..
++
++prefix = @prefix@
++exec_prefix = @exec_prefix@
++
++host_alias = @host_alias@
++target_alias = @target_alias@
++program_transform_name = @program_transform_name@
++bindir = @bindir@
++
++libdir = @libdir@
++tooldir = $(libdir)/$(target_alias)
++
++datadir = @datadir@
++datarootdir = @datarootdir@
++mandir = @mandir@
++man1dir = $(mandir)/man1
++infodir = @infodir@
++includedir = @includedir@
++
++lt_cv_dlopen_libs = @lt_cv_dlopen_libs@
++# This can be referenced by the gettext configuration code.
++top_builddir = ..
++
++EXEEXT = @EXEEXT@
++SHELL = @SHELL@
++
++INSTALL = @INSTALL@
++INSTALL_PROGRAM = @INSTALL_PROGRAM@
++INSTALL_DATA = @INSTALL_DATA@
++
++CC = @CC@
++CC_FOR_BUILD = @CC_FOR_BUILD@
++CFLAGS = @CFLAGS@
++SIM_BSWAP = @sim_bswap@
++SIM_CFLAGS = @sim_cflags@
++SIM_DEBUG = @sim_debug@
++SIM_TRACE = @sim_trace@
++SIM_PROFILE = @sim_profile@
++
++SIM_ASSERT = @sim_assert@
++SIM_ALIGNMENT = @sim_alignment@
++SIM_BITSIZE = @sim_bitsize@
++SIM_DEFAULT_MODEL = @sim_default_model@
++SIM_ENDIAN = @sim_endian@
++SIM_ENVIRONMENT = @sim_environment@
++SIM_FLOAT = @sim_float@
++SIM_HW_CFLAGS = @sim_hw_cflags@
++SIM_HW_OBJS = @sim_hw_objs@
++SIM_HW = @sim_hw@
++SIM_HOSTENDIAN = @sim_hostendian@
++SIM_INLINE = @sim_inline@
++SIM_PACKAGES = @sim_packages@
++SIM_REGPARM = @sim_regparm@
++SIM_RESERVED_BITS = @sim_reserved_bits@
++SIM_SCACHE = @sim_scache@
++SIM_SMP = @sim_smp@
++SIM_STDCALL = @sim_stdcall@
++SIM_XOR_ENDIAN = @sim_xor_endian@
++WARN_CFLAGS = @WARN_CFLAGS@
++WERROR_CFLAGS = @WERROR_CFLAGS@
++SIM_WARN_CFLAGS = $(WARN_CFLAGS)
++SIM_WERROR_CFLAGS = $(WERROR_CFLAGS)
++
++HDEFINES = @HDEFINES@
++TDEFINES =
++
++AR = @AR@
++AR_FLAGS = rc
++RANLIB = @RANLIB@
++MAKEINFO = makeinfo
++
++# Dependency tracking information.
++DEPMODE = @CCDEPMODE@
++DEPDIR = @DEPDIR@
++depcomp = $(SHELL) $(srcroot)/depcomp
++
++# Note that these are overridden by GNU make-specific code below if
++# GNU make is used. The overrides implement dependency tracking.
++COMPILE.pre = $(CC)
++COMPILE.post = -c -o $@
++COMPILE = $(COMPILE.pre) $(ALL_CFLAGS) $(COMPILE.post)
++POSTCOMPILE = @true
++
++# Each simulator's Makefile.in defines one or more of these variables
++# to override our settings as necessary. There is no need to define these
++# in the simulator's Makefile.in if one is using the default value. In fact
++# it's preferable not to.
++
++# List of object files, less common parts.
++SIM_OBJS =
++# List of extra dependencies.
++# Generally this consists of simulator specific files included by sim-main.h.
++SIM_EXTRA_DEPS =
++# List of flags to always pass to $(CC).
++SIM_EXTRA_CFLAGS =
++# List of extra libraries to link with.
++SIM_EXTRA_LIBS =
++# List of extra program dependencies.
++SIM_EXTRA_LIBDEPS =
++# List of main object files for `run'.
++SIM_RUN_OBJS = run.o
++# Dependency of `all' to build any extra files.
++SIM_EXTRA_ALL =
++# Dependency of `install' to install any extra files.
++SIM_EXTRA_INSTALL =
++# Dependency of `clean' to clean any extra files.
++SIM_EXTRA_CLEAN =
++# Likewise `distclean'
++SIM_EXTRA_DISTCLEAN =
++
++# Every time a new general purpose source file was added every target's
++# Makefile.in needed to be updated to include the file in SIM_OBJS.
++# This doesn't scale.
++# This variable specifies all the generic stuff common to the newer simulators.
++# Things like sim-reason.o can't go here as the cpu may provide its own
++# (though hopefully in time that won't be so). Things like sim-bits.o can go
++# here. Some files are used by all simulators (e.g. callback.o).
++# Those files are specified in LIB_OBJS below.
++
++SIM_COMMON_HW_OBJS = \
++ hw-alloc.o \
++ hw-base.o \
++ hw-device.o \
++ hw-events.o \
++ hw-handles.o \
++ hw-instances.o \
++ hw-ports.o \
++ hw-properties.o \
++ hw-tree.o \
++ sim-hw.o \
++
++SIM_NEW_COMMON_OBJS = \
++ sim-arange.o \
++ sim-bits.o \
++ sim-command.o \
++ sim-config.o \
++ sim-core.o \
++ sim-endian.o \
++ sim-events.o \
++ sim-fpu.o \
++ sim-io.o \
++ sim-info.o \
++ sim-load.o \
++ sim-memopt.o \
++ sim-module.o \
++ sim-options.o \
++ sim-profile.o \
++ sim-signal.o \
++ sim-trace.o \
++ sim-utils.o \
++ sim-watch.o \
++ \
++ $(SIM_HW_OBJS) \
++
++# cgen-sim.h and the headers it includes
++CGEN_SIM_DEPS = \
++ $(srccom)/cgen-sim.h \
++ $(srccom)/cgen-defs.h \
++ $(srccom)/cgen-scache.h \
++ $(srccom)/cgen-fpu.h \
++ $(srccom)/cgen-par.h \
++ $(srccom)/cgen-cpu.h \
++ $(srccom)/cgen-trace.h \
++ cpuall.h
++
++# Add this to SIM_EXTRA_DEPS.
++CGEN_INCLUDE_DEPS = \
++ $(CGEN_SIM_DEPS) \
++ $(srccom)/cgen-engine.h \
++ $(srccom)/cgen-types.h \
++ $(srcdir)/../../include/opcode/cgen.h
++
++## End COMMON_PRE_CONFIG_FRAG
++
++## COMMON_POST_CONFIG_FRAG
++
++CONFIG_CFLAGS = \
++ @DEFS@ \
++ $(SIM_CFLAGS) \
++ $(SIM_DEBUG) \
++ $(SIM_DEFAULT_MODEL) \
++ $(SIM_TRACE) \
++ $(SIM_PROFILE) \
++ $(SIM_BSWAP) \
++ $(SIM_ASSERT) \
++ $(SIM_ALIGNMENT) \
++ $(SIM_BITSIZE) \
++ $(SIM_ENDIAN) \
++ $(SIM_ENVIRONMENT) \
++ $(SIM_FLOAT) \
++ $(SIM_HW_CFLAGS) \
++ $(SIM_HOSTENDIAN) \
++ $(SIM_INLINE) \
++ $(SIM_PACKAGES) \
++ $(SIM_REGPARM) \
++ $(SIM_RESERVED_BITS) \
++ $(SIM_SCACHE) \
++ $(SIM_SMP) \
++ $(SIM_STDCALL) \
++ $(SIM_WARN_CFLAGS) \
++ $(SIM_WERROR_CFLAGS) \
++ $(SIM_XOR_ENDIAN) \
++ $(SIM_HARDWARE) \
++ $(SIM_EXTRA_CFLAGS) \
++ $(HDEFINES) $(TDEFINES)
++CSEARCH = -I. -I$(srcdir) -I../common -I$(srccom) \
++ -I../../include -I$(srcroot)/include \
++ -I../../bfd -I$(srcroot)/bfd \
++ -I../../opcodes -I$(srcroot)/opcodes \
++ @INCINTL@
++ALL_CFLAGS = $(CONFIG_CFLAGS) $(CSEARCH) $(CFLAGS)
++BUILD_CFLAGS = -g -O $(CSEARCH)
++
++COMMON_DEP_CFLAGS = $(CONFIG_CFLAGS) $(CSEARCH)
++
++LIBIBERTY_LIB = ../../libiberty/libiberty.a
++BFD_LIB = ../../bfd/libbfd.a
++@PLUGINS_TRUE@LIBDL = @lt_cv_dlopen_libs@
++OPCODES_LIB = ../../opcodes/libopcodes.a
++LIBINTL = @LIBINTL@
++LIBINTL_DEP = @LIBINTL_DEP@
++CONFIG_LIBS = @LIBS@
++LIBDEPS = $(BFD_LIB) $(OPCODES_LIB) $(LIBINTL_DEP) $(LIBIBERTY_LIB) \
++ $(SIM_EXTRA_LIBDEPS)
++EXTRA_LIBS = $(BFD_LIB) $(OPCODES_LIB) $(LIBINTL) $(LIBIBERTY_LIB) \
++ $(CONFIG_LIBS) $(SIM_EXTRA_LIBS) $(LIBDL)
++
++LIB_OBJS = callback.o syscall.o targ-map.o version.o $(SIM_OBJS)
++
++RUNTESTFLAGS =
++
++callback_h = $(srcroot)/include/gdb/callback.h
++remote_sim_h = $(srcroot)/include/gdb/remote-sim.h
++
++all: $(SIM_EXTRA_ALL) libsim.a run$(EXEEXT) .gdbinit
++
++libsim.a: $(LIB_OBJS)
++ rm -f libsim.a
++ $(AR) $(AR_FLAGS) libsim.a $(LIB_OBJS)
++ $(RANLIB) libsim.a
++
++run$(EXEEXT): $(SIM_RUN_OBJS) libsim.a $(LIBDEPS)
++ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o run$(EXEEXT) \
++ $(SIM_RUN_OBJS) libsim.a $(EXTRA_LIBS)
++
++# FIXME: Ideally, callback.o and friends live in a library outside of
++# both the gdb and simulator source trees (e.g. devo/remote. Not
++# devo/libremote because this directory would contain more than just
++# a library).
++
++gentmap: Makefile $(srccom)/gentmap.c targ-vals.def
++ $(CC_FOR_BUILD) $(srccom)/gentmap.c -o gentmap $(BUILD_CFLAGS) $(NL_TARGET)
++
++targ-vals.h targ-map.c: stamp-tvals
++stamp-tvals: gentmap
++ rm -f tmp-tvals.h tmp-tmap.c
++ ./gentmap -h >tmp-tvals.h
++ $(SHELL) $(srcroot)/move-if-change tmp-tvals.h targ-vals.h
++ ./gentmap -c >tmp-tmap.c
++ $(SHELL) $(srcroot)/move-if-change tmp-tmap.c targ-map.c
++ touch stamp-tvals
++
++version.c: Makefile $(srccom)/create-version.sh ../../bfd/version.h ../../gdb/version.in
++ $(SHELL) $(srccom)/create-version.sh $(srcsim) $(host_alias) $(target_alias) version.c
++
++#
++# Rules for building sim-* components. Triggered by listing the corresponding
++# .o file in the list of simulator targets.
++#
++
++sim_main_headers = \
++ sim-main.h \
++ $(sim-assert_h) \
++ $(sim-base_h) \
++ $(sim-cpu_h) \
++ $(sim-engine_h) \
++ $(sim-events_h) \
++ $(sim-memopt_h) \
++ $(sim-model_h) \
++ $(sim-module_h) \
++ $(sim-profile_h) \
++ $(sim-trace_h) \
++ $(sim-watch_h) \
++ $(sim-basics_h) \
++ $(SIM_EXTRA_DEPS)
++
++# Exported version of sim_main_headers.
++SIM_MAIN_DEPS = \
++ $(sim_main_headers)
++
++sim-alu_h = $(srccom)/sim-alu.h
++sim-arange_h = $(srccom)/sim-arange.h \
++ $(srccom)/sim-arange.c
++sim-assert_h = $(srccom)/sim-assert.h
++sim-base_h = $(srccom)/sim-base.h \
++ $(sim-module_h) \
++ $(sim-trace_h) \
++ $(sim-core_h) \
++ $(sim-events_h) \
++ $(sim-profile_h) \
++ $(sim-model_h) \
++ $(sim-io_h) \
++ $(sim-engine_h) \
++ $(sim-watch_h) \
++ $(sim-memopt_h) \
++ $(sim-cpu_h)
++sim-basics_h = $(srccom)/sim-basics.h \
++ ../common/cconfig.h \
++ tconfig.h \
++ $(sim-config_h) \
++ $(callback_h) \
++ $(sim-inline_h) \
++ $(sim-types_h) \
++ $(sim-bits_h) \
++ $(sim-endian_h) \
++ $(sim-signal_h) \
++ $(sim-arange_h) \
++ $(sim-utils_h)
++sim-bits_h = $(srccom)/sim-bits.h \
++ $(srccom)/sim-bits.c
++sim-config_h = $(srccom)/sim-config.h
++sim-core_h = $(srccom)/sim-core.h
++sim-cpu_h = $(srccom)/sim-cpu.h
++sim-endian_h = $(srccom)/sim-endian.h \
++ $(srccom)/sim-endian.c
++sim-engine_h = $(srccom)/sim-engine.h
++sim-events_h = $(srccom)/sim-events.h
++sim-fpu_h = $(srccom)/sim-fpu.h
++sim-hw_h = $(srccom)/sim-hw.h
++sim-inline_h = $(srccom)/sim-inline.h
++sim-io_h = $(srccom)/sim-io.h
++sim-memopt_h = $(srccom)/sim-memopt.h
++sim-model_h = $(srccom)/sim-model.h
++sim-module_h = $(srccom)/sim-module.h
++sim-n-bits_h = $(srccom)/sim-n-bits.h
++sim-n-core_h = $(srccom)/sim-n-core.h
++sim-n-endian_h = $(srccom)/sim-n-endian.h
++sim-options_h = $(srccom)/sim-options.h
++sim-profile_h = $(srccom)/sim-profile.h
++sim-signal_h = $(srccom)/sim-signal.h
++sim-trace_h = $(srccom)/sim-trace.h
++sim-types_h = $(srccom)/sim-types.h
++sim-utils_h = $(srccom)/sim-utils.h
++sim-watch_h = $(srccom)/sim-watch.h
++
++hw-alloc_h = $(srccom)/hw-alloc.h
++hw-base_h = $(srccom)/hw-base.h
++hw-device_h = $(srccom)/hw-device.h
++hw-events_h = $(srccom)/hw-events.h
++hw-handles_h = $(srccom)/hw-handles.h
++hw-instances_h = $(srccom)/hw-instances.h
++hw-ports_h = $(srccom)/hw-ports.h
++hw-properties_h = $(srccom)/hw-properties.h
++hw-tree_h = $(srccom)/hw-tree.h
++
++hw_main_headers = \
++ $(srccom)/hw-main.h \
++ $(hw-alloc_h) \
++ $(hw-base_h) \
++ $(hw-device_h) \
++ $(hw-events_h) \
++ $(hw-instances_h) \
++ $(hw-handles_h) \
++ $(hw-ports_h) \
++ $(hw-properties_h) \
++
++#
++# Dependency tracking. Most of this is conditional on GNU Make being
++# found by configure; if GNU Make is not found, we fall back to a
++# simpler scheme.
++#
++
++@GMAKE_TRUE@ifeq ($(DEPMODE),depmode=gcc3)
++# Note that we put the dependencies into a .Tpo file, then move them
++# into place if the compile succeeds. We need this because gcc does
++# not atomically write the dependency output file.
++@GMAKE_TRUE@override COMPILE.post = -c -o $@ -MT $@ -MMD -MP \
++@GMAKE_TRUE@ -MF $(DEPDIR)/$(basename $(@F)).Tpo
++@GMAKE_TRUE@override POSTCOMPILE = @mv $(DEPDIR)/$(basename $(@F)).Tpo \
++@GMAKE_TRUE@ $(DEPDIR)/$(basename $(@F)).Po
++@GMAKE_TRUE@else
++@GMAKE_TRUE@override COMPILE.pre = source='$<' object='$@' libtool=no \
++@GMAKE_TRUE@ DEPDIR=$(DEPDIR) $(DEPMODE) $(depcomp) $(CC)
++# depcomp handles atomicity for us, so we don't need a postcompile
++# step.
++@GMAKE_TRUE@override POSTCOMPILE =
++@GMAKE_TRUE@endif
++
++all_object_files = $(LIB_OBJS) $(SIM_RUN_OBJS)
++generated_files = \
++ $(SIM_EXTRA_DEPS) \
++ hw-config.h \
++ targ-map.c \
++ targ-vals.h \
++ version.c
++
++# Ensure that generated files are created early. Use order-only
++# dependencies if available. They require GNU make 3.80 or newer,
++# and the .VARIABLES variable was introduced at the same time.
++@GMAKE_TRUE@ifdef .VARIABLES
++@GMAKE_TRUE@$(all_object_files): | $(generated_files)
++@GMAKE_TRUE@else
++$(all_object_files) : $(generated_files)
++@GMAKE_TRUE@endif
++
++# Dependencies.
++@GMAKE_TRUE@-include $(patsubst %.o, $(DEPDIR)/%.Po, $(all_object_files))
++
++BUILT_SRC_FROM_COMMON= \
++ sim-inline.c
++
++sim-inline.c: $(srccom)/sim-inline.c
++ rm -f $@ tmp-$@
++ echo "# 1 \"$(srccom)/$@\"" > tmp-$@
++ cat $(srccom)/$@ >> tmp-$@
++ $(SHELL) $(srcdir)/../../move-if-change tmp-$@ $@
++
++# FIXME This is one very simple-minded way of generating the file hw-config.h
++hw-config.h: Makefile.in $(srccom)/Make-common.in config.status Makefile
++ rm -f tmp-hw.h
++ echo "/* generated by Makefile */" > tmp-hw.h
++ sim_hw="$(SIM_HW)"; \
++ for hw in $$sim_hw ; do \
++ echo "extern const struct hw_descriptor dv_$${hw}_descriptor[];" ; \
++ done >> tmp-hw.h
++ echo "const struct hw_descriptor *hw_descriptors[] = {" >> tmp-hw.h
++ sim_hw="$(SIM_HW)"; \
++ for hw in $$sim_hw ; do \
++ echo " dv_$${hw}_descriptor," ; \
++ done >> tmp-hw.h
++ echo " NULL," >> tmp-hw.h
++ echo "};" >> tmp-hw.h
++ mv tmp-hw.h hw-config.h
++
++test-hw-events: $(srccom)/hw-events.c libsim.a
++ $(CC) $(ALL_CFLAGS) -DMAIN -o test-hw-events$(EXEEXT) \
++ $(srccom)/hw-events.c libsim.a $(EXTRA_LIBS)
++
++# CGEN support.
++
++# For use in Makefile.in for cpu-specific files.
++CGEN_MAIN_CPU_DEPS = \
++ $(SIM_MAIN_DEPS) \
++ $(srccom)/cgen-ops.h \
++ $(srccom)/cgen-mem.h
++
++# Support targets.
++
++install: install-common $(SIM_EXTRA_INSTALL)
++
++install-common: installdirs
++ n=`echo run | sed '$(program_transform_name)'`; \
++ $(INSTALL_PROGRAM) run$(EXEEXT) $(DESTDIR)$(bindir)/$$n$(EXEEXT)
++ n=`echo libsim.a | sed s/libsim.a/lib$(target_alias)-sim.a/`; \
++ $(INSTALL_DATA) libsim.a $(DESTDIR)$(libdir)/$$n ; \
++ ( cd $(DESTDIR)$(libdir) ; $(RANLIB) $$n )
++
++installdirs:
++ $(SHELL) $(srcdir)/../../mkinstalldirs $(DESTDIR)$(bindir)
++ $(SHELL) $(srcdir)/../../mkinstalldirs $(DESTDIR)$(libdir)
++
++check:
++ cd ../testsuite && $(MAKE) check RUNTESTFLAGS="$(RUNTESTFLAGS)"
++
++info:
++clean-info:
++install-info:
++
++.NOEXPORT:
++MAKEOVERRIDES=
++
++tags etags: TAGS
++
++# Macros like EXTERN_SIM_CORE confuse tags.
++# And the sim-n-foo.h files create functions that can't be found either.
++TAGS: force
++ cd $(srcdir) && \
++ etags --regex '/^\([[:lower:]_]+\) (/\1/' --regex '/^\/[*] TAGS: .*/' \
++ *.[ch] ../common/*.[ch]
++
++clean: $(SIM_EXTRA_CLEAN)
++ rm -f *.[oa] *~ core
++ rm -f run$(EXEEXT) libsim.a
++ rm -f gentmap targ-map.c targ-vals.h stamp-tvals
++ if [ ! -f Make-common.in ] ; then \
++ rm -f $(BUILT_SRC_FROM_COMMON) ; \
++ fi
++ rm -f tmp-mloop.hin tmp-mloop.h tmp-mloop.cin tmp-mloop.c
++
++distclean mostlyclean maintainer-clean realclean: clean $(SIM_EXTRA_DISTCLEAN)
++ rm -f TAGS
++ rm -f Makefile config.cache config.log config.status .gdbinit
++ rm -f tconfig.h config.h stamp-h
++ rm -f targ-vals.def
++
++.c.o:
++ $(COMPILE) $<
++ $(POSTCOMPILE)
++
++# Dummy target to force execution of dependent targets.
++force:
++
++Makefile: Makefile.in $(srccom)/Make-common.in config.status
++ CONFIG_HEADERS= $(SHELL) ./config.status
++
++config.status: configure
++ $(SHELL) ./config.status --recheck
++
++config.h: stamp-h ; @true
++stamp-h: config.in config.status
++ CONFIG_FILES= CONFIG_HEADERS=config.h:config.in $(SHELL) ./config.status
++
++.gdbinit: # config.status $(srccom)/gdbinit.in
++ CONFIG_FILES=$@:../common/gdbinit.in CONFIG_HEADERS= $(SHELL) ./config.status
++
++
++# CGEN support
++
++CGENDIR = @cgendir@
++CGEN = "`if [ -f ../../guile/libguile/guile ]; then echo ../../guile/libguile/guile; else echo guile ; fi` -l $(CGENDIR)/guile.scm -s"
++CGENFLAGS = -v
++CGEN_CPU_DIR = $(CGENDIR)/cpu
++
++# Most ports use the files here instead of cgen/cpu.
++CPU_DIR = $(srcroot)/cpu
++
++CGEN_READ_SCM = $(CGENDIR)/sim.scm
++CGEN_ARCH_SCM = $(CGENDIR)/sim-arch.scm
++CGEN_CPU_SCM = $(CGENDIR)/sim-cpu.scm $(CGENDIR)/sim-model.scm
++CGEN_DECODE_SCM = $(CGENDIR)/sim-decode.scm
++CGEN_DESC_SCM = $(CGENDIR)/desc.scm $(CGENDIR)/desc-cpu.scm
++
++# Various choices for which cpu specific files to generate.
++# These are passed to cgen.sh in the "extrafiles" argument.
++CGEN_CPU_EXTR = /extr/
++CGEN_CPU_READ = /read/
++CGEN_CPU_WRITE = /write/
++CGEN_CPU_SEM = /sem/
++CGEN_CPU_SEMSW = /semsw/
++
++CGEN_FLAGS_TO_PASS = \
++ CGEN='$(CGEN)' \
++ CGENFLAGS="$(CGENFLAGS)"
++
++# We store the generated files in the source directory until we decide to
++# ship a Scheme interpreter with gdb/binutils. Maybe we never will.
++
++cgen-arch: force
++ $(SHELL) $(srccom)/cgen.sh arch $(srcdir) \
++ $(CGEN) $(CGENDIR) "$(CGENFLAGS)" \
++ $(arch) "$(FLAGS)" ignored "$(isa)" $(mach) ignored \
++ $(archfile) ignored
++
++cgen-cpu: force
++ $(SHELL) $(srccom)/cgen.sh cpu $(srcdir) \
++ $(CGEN) $(CGENDIR) "$(CGENFLAGS)" \
++ $(arch) "$(FLAGS)" $(cpu) "$(isa)" $(mach) "$(SUFFIX)" \
++ $(archfile) "$(EXTRAFILES)"
++
++cgen-defs: force
++ $(SHELL) $(srccom)/cgen.sh defs $(srcdir) \
++ $(CGEN) $(CGENDIR) "$(CGENFLAGS)" \
++ $(arch) "$(FLAGS)" $(cpu) "$(isa)" $(mach) "$(SUFFIX)" \
++ $(archfile) ignored
++
++cgen-decode: force
++ $(SHELL) $(srccom)/cgen.sh decode $(srcdir) \
++ $(CGEN) $(CGENDIR) "$(CGENFLAGS)" \
++ $(arch) "$(FLAGS)" $(cpu) "$(isa)" $(mach) "$(SUFFIX)" \
++ $(archfile) "$(EXTRAFILES)"
++
++cgen-cpu-decode: force
++ $(SHELL) $(srccom)/cgen.sh cpu-decode $(srcdir) \
++ $(CGEN) $(CGENDIR) "$(CGENFLAGS)" \
++ $(arch) "$(FLAGS)" $(cpu) "$(isa)" $(mach) "$(SUFFIX)" \
++ $(archfile) "$(EXTRAFILES)"
++
++cgen-desc: force
++ $(SHELL) $(srccom)/cgen.sh desc $(srcdir) \
++ $(CGEN) $(CGENDIR) "$(CGENFLAGS)" \
++ $(arch) "$(FLAGS)" $(cpu) "$(isa)" $(mach) "$(SUFFIX)" \
++ $(archfile) ignored $(opcfile)
++
++## End COMMON_POST_CONFIG_FRAG
diff --git a/select_toolchain.sh b/select_toolchain.sh
index b4efa67..a9d26b1 100755
--- a/select_toolchain.sh
+++ b/select_toolchain.sh
@@ -30,10 +30,10 @@ done
case "$VERSION" in
"1" )
- GCC_VER=4.8.1
- BINUTILS_VER=2.23.1
+ GCC_VER=4.8.2
+ BINUTILS_VER=2.24
NEWLIB_VER=2.0.0
- GDB_VER=7.6.1
+ GDB_VER=7.7
basedir='dkarm-eabi'
package=devkitARM
target=arm-none-eabi