]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gdb/Makefile.in
Make parse_static_tracepoint_marker_definition work with multiple static tracepoint...
[thirdparty/binutils-gdb.git] / gdb / Makefile.in
index 9b803ea3dc9a27bd9ee1169a5467ec381007ca38..b1ba00583f9bbbf259094c4e514d70874f0342ea 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 1989-2017 Free Software Foundation, Inc.
+# Copyright (C) 1989-2018 Free Software Foundation, Inc.
 
 # This file is part of GDB.
 
@@ -112,18 +112,20 @@ DEPMODE = @CCDEPMODE@
 DEPDIR = @DEPDIR@
 depcomp = $(SHELL) $(srcdir)/../depcomp
 
+# Directory containing source files.
+srcdir = @srcdir@
+VPATH = @srcdir@
+top_srcdir = @top_srcdir@
+
+include $(srcdir)/silent-rules.mk
+
 # Note that these are overridden by GNU make-specific code below if
 # GNU make is used.  The overrides implement dependency tracking.
 COMPILE.pre = $(CXX) -x c++ $(CXX_DIALECT)
 COMPILE.post = -c -o $@
-COMPILE = $(COMPILE.pre) $(INTERNAL_CFLAGS) $(COMPILE.post)
+COMPILE = $(ECHO_CXX) $(COMPILE.pre) $(INTERNAL_CFLAGS) $(COMPILE.post)
 POSTCOMPILE = @true
 
-# Directory containing source files.
-srcdir = @srcdir@
-VPATH = @srcdir@
-top_srcdir = @top_srcdir@
-
 YACC = @YACC@
 
 # This is used to rebuild ada-lex.c from ada-lex.l.  If the program is
@@ -326,33 +328,6 @@ SUBDIR_GCC_COMPILE_OBS = $(patsubst %.c,%.o,$(filter %.c,$(SUBDIR_GCC_COMPILE_SR
 #
 # Guile sub directory definitons for guile support.
 #
-SUBDIR_GUILE_OBS = \
-       guile.o \
-       scm-arch.o \
-       scm-auto-load.o \
-       scm-block.o \
-       scm-breakpoint.o \
-       scm-cmd.o \
-       scm-disasm.o \
-       scm-exception.o \
-       scm-frame.o \
-       scm-gsmob.o \
-       scm-iterator.o \
-       scm-lazy-string.o \
-       scm-math.o \
-       scm-objfile.o \
-       scm-param.o \
-       scm-ports.o \
-       scm-pretty-print.o \
-       scm-progspace.o \
-       scm-safe-call.o \
-       scm-string.o \
-       scm-symbol.o \
-       scm-symtab.o \
-       scm-type.o \
-       scm-utils.o \
-       scm-value.o
-
 SUBDIR_GUILE_SRCS = \
        guile/guile.c \
        guile/scm-arch.c \
@@ -380,6 +355,8 @@ SUBDIR_GUILE_SRCS = \
        guile/scm-utils.c \
        guile/scm-value.c
 
+SUBDIR_GUILE_OBS = $(patsubst %.c,%.o,$(SUBDIR_GUILE_SRCS))
+
 SUBDIR_GUILE_DEPS =
 SUBDIR_GUILE_LDFLAGS =
 SUBDIR_GUILE_CFLAGS =
@@ -387,50 +364,6 @@ SUBDIR_GUILE_CFLAGS =
 #
 # python sub directory definitons
 #
-SUBDIR_PYTHON_OBS = \
-       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-infevents.o \
-       py-infthread.o \
-       py-instruction.o \
-       py-lazy-string.o \
-       py-linetable.o \
-       py-newobjfileevent.o \
-       py-objfile.o \
-       py-param.o \
-       py-prettyprint.o \
-       py-progspace.o \
-       py-record.o \
-       py-record-btrace.o \
-       py-record-full.o \
-       py-signalevent.o \
-       py-stopevent.o \
-       py-symbol.o \
-       py-symtab.o \
-       py-threadevent.o \
-       py-type.o \
-       py-unwind.o \
-       py-utils.o \
-       py-value.o \
-       py-varobj.o \
-       py-xmethods.o \
-       python.o
-
 SUBDIR_PYTHON_SRCS = \
        python/py-arch.c \
        python/py-auto-load.c \
@@ -475,6 +408,8 @@ SUBDIR_PYTHON_SRCS = \
        python/py-xmethods.c \
        python/python.c
 
+SUBDIR_PYTHON_OBS = $(patsubst %.c,%.o,$(SUBDIR_PYTHON_SRCS))
+
 SUBDIR_PYTHON_DEPS =
 SUBDIR_PYTHON_LDFLAGS =
 SUBDIR_PYTHON_CFLAGS =
@@ -488,26 +423,23 @@ SUBDIR_UNITTESTS_SRCS = \
        unittests/memory-map-selftests.c \
        unittests/memrange-selftests.c \
        unittests/offset-type-selftests.c \
+       unittests/observable-selftests.c \
        unittests/optional-selftests.c \
        unittests/ptid-selftests.c \
        unittests/rsp-low-selftests.c \
+       unittests/scoped_fd-selftests.c \
+       unittests/scoped_mmap-selftests.c \
        unittests/scoped_restore-selftests.c \
+       unittests/tracepoint-selftests.c \
+       unittests/unpack-selftests.c \
+       unittests/utils-selftests.c \
        unittests/xml-utils-selftests.c
 
-SUBDIR_UNITTESTS_OBS = \
-       array-view-selftests.o \
-       common-utils-selftests.o \
-       environ-selftests.o \
-       function-view-selftests.o \
-       lookup_name_info-selftests.o \
-       memory-map-selftests.o \
-       memrange-selftests.o \
-       offset-type-selftests.o \
-       optional-selftests.o \
-       ptid-selftests.o \
-       rsp-low-selftests.o \
-       scoped_restore-selftests.o \
-       xml-utils-selftests.o
+SUBDIR_UNITTESTS_OBS = $(patsubst %.c,%.o,$(SUBDIR_UNITTESTS_SRCS))
+
+SUBDIR_TARGET_SRCS = target/waitstatus.c
+SUBDIR_TARGET_OBS = $(patsubst %.c,%.o,$(SUBDIR_TARGET_SRCS))
+
 
 # Opcodes currently live in one of two places.  Either they are in the
 # opcode library, typically ../opcodes, or they are in a header file
@@ -598,7 +530,7 @@ CONFIG_INSTALL = @CONFIG_INSTALL@
 CONFIG_UNINSTALL = @CONFIG_UNINSTALL@
 HAVE_NATIVE_GCORE_TARGET = @HAVE_NATIVE_GCORE_TARGET@
 
-CONFIG_SRC_SUBDIR = arch cli mi compile tui
+CONFIG_SRC_SUBDIR = arch cli mi common compile tui unittests guile python target
 CONFIG_DEP_SUBDIR = $(addsuffix /$(DEPDIR),$(CONFIG_SRC_SUBDIR))
 
 # -I. for config files.
@@ -696,20 +628,6 @@ XMLFILES = \
 # See configure.ac.
 SER_HARDWIRE = @SER_HARDWIRE@
 
-# The `remote' debugging target is supported for most architectures,
-# but not all (e.g. 960)
-REMOTE_OBS = \
-       ax-gdb.o \
-       ax-general.o \
-       ctf.o \
-       dcache.o \
-       remote.o \
-       remote-fileio.o \
-       remote-notif.o \
-       tracefile.o \
-       tracefile-tfile.o \
-       tracepoint.o
-
 # This is remote-sim.o if a simulator is to be linked in.
 SIM_OBS = @SIM_OBS@
 
@@ -823,7 +741,6 @@ ALL_TARGET_OBS = \
        mn10300-tdep.o \
        moxie-tdep.o \
        msp430-tdep.o \
-       mt-tdep.o \
        nbsd-tdep.o \
        nds32-tdep.o \
        nios2-linux-tdep.o \
@@ -838,12 +755,14 @@ ALL_TARGET_OBS = \
        ppc-sysv-tdep.o \
        ppc64-tdep.o \
        ravenscar-thread.o \
+       riscv-tdep.o \
        rl78-tdep.o \
        rs6000-aix-tdep.o \
        rs6000-lynx178-tdep.o \
        rs6000-tdep.o \
        rx-tdep.o \
        s390-linux-tdep.o \
+       s390-tdep.o \
        score-tdep.o \
        sh-linux-tdep.o \
        sh-nbsd-tdep.o \
@@ -989,11 +908,10 @@ TARGET_FLAGS_TO_PASS = \
        "TESTS=$(TESTS)"
 
 # 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 \
+# Files that should wind up in SFILES and whose corresponding .o
+# should be in COMMON_OBS.
+COMMON_SFILES = \
        ada-lang.c \
        ada-tasks.c \
        ada-typeprint.c \
@@ -1003,7 +921,6 @@ SFILES = \
        agent.c \
        annotate.c \
        arch-utils.c \
-       arch/i386.c \
        auto-load.c \
        auxv.c \
        ax-gdb.c \
@@ -1019,7 +936,6 @@ SFILES = \
        btrace.c \
        build-id.c \
        buildsym.c \
-       c-exp.y \
        c-lang.c \
        c-typeprint.c \
        c-valprint.c \
@@ -1028,6 +944,32 @@ SFILES = \
        cli-out.c \
        coff-pe-read.c \
        coffread.c \
+       common/agent.c \
+       common/btrace-common.c \
+       common/buffer.c \
+       common/cleanups.c \
+       common/common-debug.c \
+       common/common-exceptions.c \
+       common/common-regcache.c \
+       common/common-utils.c \
+       common/errors.c \
+       common/environ.c \
+       common/fileio.c \
+       common/filestuff.c \
+       common/format.c \
+       common/job-control.c \
+       common/gdb_tilde_expand.c \
+       common/gdb_vecs.c \
+       common/new-op.c \
+       common/pathstuff.c \
+       common/print-utils.c \
+       common/ptid.c \
+       common/rsp-low.c \
+       common/run-time-clock.c \
+       common/signals.c \
+       common/signals-state-save-restore.c \
+       common/vec.c \
+       common/xml-utils.c \
        complaints.c \
        completer.c \
        continuations.c \
@@ -1035,38 +977,36 @@ SFILES = \
        corefile.c \
        corelow.c \
        cp-abi.c \
-       cp-name-parser.y \
        cp-namespace.c \
        cp-support.c \
        cp-valprint.c \
        ctf.c \
-       d-exp.y \
        d-lang.c \
        d-namespace.c \
        d-valprint.c \
        dbxread.c \
+       dcache.c \
+       debug.c \
        demangle.c \
        dictionary.c \
        disasm.c \
        disasm-selftests.c \
-       dtrace-probe.c \
        dummy-frame.c \
        dwarf2-frame.c \
        dwarf2-frame-tailcall.c \
        dwarf2expr.c \
        dwarf2loc.c \
        dwarf2read.c \
-       elfread.c \
        eval.c \
        event-loop.c \
        event-top.c \
        exceptions.c \
        expprint.c \
        extension.c \
-       f-exp.y \
        f-lang.c \
        f-typeprint.c \
        f-valprint.c \
+       filename-seen-cache.c \
        filesystem.c \
        findcmd.c \
        findvar.c \
@@ -1074,7 +1014,6 @@ SFILES = \
        frame-base.c \
        frame-unwind.c \
        gcore.c \
-       gdb.c \
        gdb_bfd.c \
        gdb-dlfcn.c \
        gdb_obstack.c \
@@ -1085,7 +1024,6 @@ SFILES = \
        gdbtypes.c \
        gnu-v2-abi.c \
        gnu-v3-abi.c \
-       go-exp.y \
        go-lang.c \
        go-typeprint.c \
        go-valprint.c \
@@ -1094,7 +1032,6 @@ SFILES = \
        infcall.c \
        infcmd.c \
        inferior.c \
-       inflow.c \
        infrun.c \
        inline-frame.c \
        interps.c \
@@ -1102,7 +1039,6 @@ SFILES = \
        language.c \
        linespec.c \
        location.c \
-       m2-exp.y \
        m2-lang.c \
        m2-typeprint.c \
        m2-valprint.c \
@@ -1123,11 +1059,10 @@ SFILES = \
        namespace.c \
        objc-lang.c \
        objfiles.c \
-       observer.c \
+       observable.c \
        opencl-lang.c \
        osabi.c \
        osdata.c \
-       p-exp.y \
        p-lang.c \
        p-typeprint.c \
        p-valprint.c \
@@ -1135,7 +1070,6 @@ SFILES = \
        printcmd.c \
        probe.c \
        producer.c \
-       proc-service.list \
        progspace.c \
        progspace-and-thread.c \
        prologue-value.c \
@@ -1144,32 +1078,26 @@ SFILES = \
        record-btrace.c \
        record-full.c \
        regcache.c \
+       regcache-dump.c \
        reggroups.c \
+       registry.c \
        remote.c \
        remote-fileio.c \
        remote-notif.c \
        reverse.c \
-       rust-exp.y \
        rust-lang.c \
-       selftest-arch.c \
        sentinel-frame.c \
-       ser-base.c \
        ser-event.c \
-       ser-unix.c \
        serial.c \
        skip.c \
-       sol-thread.c \
        solib.c \
        solib-target.c \
        source.c \
        stabsread.c \
        stack.c \
-       stap-probe.c \
        std-regs.c \
-       stub-termcap.c \
        symfile.c \
        symfile-debug.c \
-       symfile-mem.c \
        symmisc.c \
        symtab.c \
        target.c \
@@ -1177,15 +1105,17 @@ SFILES = \
        target-descriptions.c \
        target-memory.c \
        thread.c \
+       thread-fsm.c \
        tid-parse.c \
        top.c \
+       tracefile.c \
+       tracefile-tfile.c \
        tracepoint.c \
        trad-frame.c \
        tramp-frame.c \
        target-float.c \
        typeprint.c \
        ui-file.c \
-       ui-file.h \
        ui-out.c \
        user-regs.c \
        utils.c \
@@ -1196,35 +1126,36 @@ SFILES = \
        varobj.c \
        xml-support.c \
        xml-syscall.c \
-       xml-tdesc.c \
-       common/agent.c \
-       common/btrace-common.c \
-       common/buffer.c \
-       common/cleanups.c \
-       common/common-debug.c \
-       common/common-exceptions.c \
-       common/common-regcache.c \
-       common/common-utils.c \
-       common/errors.c \
-       common/environ.c \
-       common/fileio.c \
-       common/filestuff.c \
-       common/format.c \
-       common/job-control.c \
-       common/gdb_tilde_expand.c \
-       common/gdb_vecs.c \
-       common/new-op.c \
-       common/print-utils.c \
-       common/ptid.c \
-       common/rsp-low.c \
-       common/run-time-clock.c \
-       common/selftest.c \
-       common/signals.c \
-       common/signals-state-save-restore.c \
-       common/vec.c \
-       common/xml-utils.c \
+       xml-tdesc.c
+
+# Links made at configuration time should not be specified here, since
+# SFILES is used in building the distribution archive.
+SFILES = \
+       ada-exp.y \
+       arch/i386.c \
+       c-exp.y \
+       cp-name-parser.y \
+       d-exp.y \
+       dtrace-probe.c \
+       elfread.c \
+       f-exp.y \
+       gdb.c \
+       go-exp.y \
+       inflow.c \
+       m2-exp.y \
+       p-exp.y \
+       proc-service.list \
+       rust-exp.y \
+       ser-base.c \
+       ser-unix.c \
+       sol-thread.c \
+       stap-probe.c \
+       stub-termcap.c \
+       symfile-mem.c \
+       ui-file.h \
        mi/mi-common.c \
-       target/waitstatus.c \
+       $(SUBDIR_TARGET_SRCS) \
+       $(COMMON_SFILES) \
        $(SUBDIR_GCC_COMPILE_SRCS)
 
 LINTFILES = $(SFILES) $(YYFILES) $(CONFIG_SRCS) init.c
@@ -1406,9 +1337,11 @@ HFILES_NO_SRCDIR = \
        remote.h \
        remote-fileio.h \
        remote-notif.h \
+       riscv-tdep.h \
        rs6000-aix-tdep.h \
        rs6000-tdep.h \
        s390-linux-tdep.h \
+       s390-tdep.h \
        score-tdep.h \
        selftest-arch.h \
        sentinel-frame.h \
@@ -1504,6 +1437,7 @@ HFILES_NO_SRCDIR = \
        common/gdb_wait.h \
        common/common-inferior.h \
        common/host-defs.h \
+       common/pathstuff.h \
        common/print-utils.h \
        common/ptid.h \
        common/queue.h \
@@ -1610,216 +1544,12 @@ TAGFILES_NO_SRCDIR = $(SFILES) $(HFILES_NO_SRCDIR) $(ALLDEPFILES) \
 TAGFILES_WITH_SRCDIR = $(HFILES_WITH_SRCDIR)
 
 COMMON_OBS = $(DEPFILES) $(CONFIG_OBS) $(YYOBJ) \
-       ada-lang.o \
-       ada-tasks.o \
-       ada-typeprint.o \
-       ada-valprint.o \
-       ada-varobj.o \
-       addrmap.o \
-       agent.o \
-       annotate.o \
-       arch-utils.o \
-       auto-load.o \
-       auxv.o \
-       bcache.o \
-       bfd-target.o \
-       block.o \
-       blockframe.o \
-       break-catch-sig.o \
-       break-catch-syscall.o \
-       break-catch-throw.o \
-       breakpoint.o \
-       btrace.o \
-       btrace-common.o \
-       buffer.o \
-       build-id.o \
-       buildsym.o \
-       c-lang.o \
-       c-typeprint.o \
-       c-valprint.o \
-       c-varobj.o \
-       charset.o \
-       cleanups.o \
-       cli-out.o \
-       coff-pe-read.o \
-       coffread.o \
-       common-agent.o \
-       common-debug.o \
-       common-exceptions.o \
-       job-control.o \
-       common-regcache.o \
-       common-utils.o \
-       complaints.o \
-       completer.o \
-       continuations.o \
-       copying.o \
-       corefile.o \
-       corelow.o \
-       cp-abi.o \
-       cp-namespace.o \
-       cp-support.o \
-       cp-valprint.o \
-       d-lang.o \
-       d-namespace.o \
-       d-valprint.o \
-       dbxread.o \
-       debug.o \
-       demangle.o \
-       dictionary.o \
-       disasm.o \
-       disasm-selftests.o \
-       dummy-frame.o \
-       dwarf2-frame.o \
-       dwarf2-frame-tailcall.o \
-       dwarf2expr.o \
-       dwarf2loc.o \
-       dwarf2read.o \
-       environ.o \
-       errors.o \
-       eval.o \
-       event-loop.o \
-       event-top.o \
-       exceptions.o \
        exec.o \
-       expprint.o \
-       extension.o \
-       f-lang.o \
-       f-typeprint.o \
-       f-valprint.o \
-       fileio.o \
-       filename-seen-cache.o \
-       filestuff.o \
-       filesystem.o \
-       findcmd.o \
-       findvar.o \
-       format.o \
-       frame.o \
-       frame-base.o \
-       frame-unwind.o \
-       gcore.o \
-       gdb_bfd.o \
-       gdb_tilde_expand.o \
-       gdb-dlfcn.o \
-       gdb_obstack.o \
-       gdb_regex.o \
-       gdb_usleep.o \
-       gdb_vecs.o \
-       gdbarch.o \
-       gdbarch-selftests.o \
-       gdbtypes.o \
-       gnu-v2-abi.o \
-       gnu-v3-abi.o \
-       go-lang.o \
-       go-typeprint.o \
-       go-valprint.o \
-       inf-child.o \
-       inf-loop.o \
-       infcall.o \
-       infcmd.o \
-       inferior.o \
-       infrun.o \
-       inline-frame.o \
-       interps.o \
-       jit.o \
-       language.o \
-       linespec.o \
-       location.o \
-       m2-lang.o \
-       m2-typeprint.o \
-       m2-valprint.o \
-       macrocmd.o \
-       macroexp.o \
-       macroscope.o \
-       macrotab.o \
-       main.o \
-       maint.o \
-       mdebugread.o \
-       mem-break.o \
-       memattr.o \
-       memory-map.o \
-       memrange.o \
        mi/mi-common.o \
-       minidebug.o \
-       minsyms.o \
-       mipsread.o \
-       namespace.o \
-       new-op.o \
-       objc-lang.o \
-       objfiles.o \
-       observer.o \
-       opencl-lang.o \
-       osabi.o \
-       osdata.o \
-       p-lang.o \
-       p-typeprint.o \
-       p-valprint.o \
-       parse.o \
-       print-utils.o \
-       printcmd.o \
-       probe.o \
-       producer.o \
-       progspace.o \
-       progspace-and-thread.o \
-       prologue-value.o \
-       psymtab.o \
-       ptid.o \
-       record.o \
-       record-btrace.o \
-       record-full.o \
-       regcache.o \
-       reggroups.o \
-       registry.o \
-       reverse.o \
-       rsp-low.o \
-       run-time-clock.o \
-       rust-lang.o \
-       selftest.o \
-       selftest-arch.o \
-       sentinel-frame.o \
-       ser-event.o \
-       serial.o \
-       signals.o \
-       signals-state-save-restore.o \
-       skip.o \
-       solib.o \
-       solib-target.o \
-       source.o \
-       stabsread.o \
-       stack.o \
-       std-regs.o \
-       symfile.o \
-       symfile-debug.o \
-       symmisc.o \
-       symtab.o \
-       target.o \
-       target-dcache.o \
-       target-descriptions.o \
-       target-memory.o \
-       thread.o \
-       thread-fsm.o \
-       tid-parse.o \
-       top.o \
-       trad-frame.o \
-       tramp-frame.o \
-       target-float.o \
-       typeprint.o \
-       ui-file.o \
-       ui-out.o \
-       user-regs.o \
-       utils.o \
-       valarith.o \
-       valops.o \
-       valprint.o \
-       value.o \
-       varobj.o \
-       vec.o \
        version.o \
-       waitstatus.o \
        xml-builtin.o \
-       xml-support.o \
-       xml-syscall.o \
-       xml-tdesc.o \
-       xml-utils.o \
+       $(patsubst %.c,%.o,$(COMMON_SFILES)) \
+       $(SUBDIR_TARGET_OBS) \
        $(SUBDIR_GCC_COMPILE_OBS)
 
 TSOBS = inflow.o
@@ -1833,7 +1563,7 @@ CLEANDIRS = $(SUBDIRS)
 # 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.
+# Parser intermediate files.
 YYFILES = \
        ada-exp.c \
        ada-lex.c \
@@ -1846,16 +1576,9 @@ YYFILES = \
        p-exp.c \
        rust-exp.c
 
-YYOBJ = \
-       ada-exp.o \
-       c-exp.o \
-       cp-name-parser.o \
-       d-exp.o \
-       f-exp.o \
-       go-exp.o \
-       m2-exp.o \
-       p-exp.o \
-       rust-exp.o
+# ada-lex.c is included by another file, so it shouldn't wind up as a
+# .o itself.
+YYOBJ = $(filter-out ada-lex.o,$(patsubst %.c,%.o,$(YYFILES)))
 
 # Things which need to be built when making a distribution.
 
@@ -1868,8 +1591,6 @@ generated_files = \
        config.h \
        gcore \
        jit-reader.h \
-       observer.h \
-       observer.inc \
        $(GNULIB_H) \
        $(NAT_GENERATED_FILES)
 
@@ -1888,41 +1609,18 @@ all: gdb$(EXEEXT) $(CONFIG_ALL)
 $(CONFIG_DEP_SUBDIR):
        $(SHELL) $(srcdir)/../mkinstalldirs $@
 
-# Rules for compiling .c files in the various source subdirectories.
-%.o: ${srcdir}/common/%.c
-       $(COMPILE) $<
-       $(POSTCOMPILE)
+# Python files need special flags.
+python/%.o: INTERNAL_CFLAGS += $(PYTHON_CFLAGS)
 
+# Rules for compiling .c files in the various source subdirectories.
 %.o: $(srcdir)/gdbtk/generic/%.c
        $(COMPILE) $(all_gdbtk_cflags) $<
        $(POSTCOMPILE)
 
-%.o: $(srcdir)/guile/%.c
-       $(COMPILE) $<
-       $(POSTCOMPILE)
-
 %.o: ${srcdir}/nat/%.c
        $(COMPILE) $<
        $(POSTCOMPILE)
 
-%.o: $(srcdir)/python/%.c
-       $(COMPILE) $(PYTHON_CFLAGS) $<
-       $(POSTCOMPILE)
-
-%.o: ${srcdir}/target/%.c
-       $(COMPILE) $<
-       $(POSTCOMPILE)
-
-%.o: ${srcdir}/unittests/%.c
-       $(COMPILE) $<
-       $(POSTCOMPILE)
-
-# Specify an explicit rule for gdb/common/agent.c, to avoid a clash with the
-# object file generate by gdb/agent.c.
-common-agent.o: $(srcdir)/common/agent.c
-       $(COMPILE) $(srcdir)/common/agent.c
-       $(POSTCOMPILE)
-
 installcheck:
 
 # The check target can not use subdir_do, because subdir_do does not
@@ -2049,6 +1747,15 @@ install-only: $(CONFIG_INSTALL)
                  $(INSTALL_SCRIPT) gcore \
                          $(DESTDIR)$(bindir)/$$transformed_name; \
        fi
+       transformed_name=`t='$(program_transform_name)'; \
+                         echo gdb-add-index | sed -e "$$t"` ; \
+       if test "x$$transformed_name" = x; then \
+         transformed_name=gdb-add-index ; \
+       else \
+         true ; \
+       fi ; \
+       $(INSTALL_PROGRAM) $(srcdir)/contrib/gdb-add-index.sh \
+               $(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT)
        @$(MAKE) DO=install "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do
 
 install-strip:
@@ -2092,8 +1799,9 @@ test-cp-name-parser.o: 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)
+       $(ECHO_CXXLD) $(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
@@ -2134,7 +1842,7 @@ test-cp-name-parser$(EXEEXT): test-cp-name-parser.o $(LIBIBERTY)
 
 INIT_FILES = $(COMMON_OBS) $(TSOBS) $(CONFIG_SRCS) $(SUBDIR_GCC_COMPILE_SRCS)
 init.c: $(INIT_FILES)
-       @echo Making init.c
+       @$(ECHO_INIT_C) echo "Making init.c"
        @rm -f init.c-tmp init.l-tmp
        @touch init.c-tmp
        @echo gdbtypes > init.l-tmp
@@ -2194,8 +1902,8 @@ libgdb.a: $(LIBGDB_OBS)
 
 # 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) \
+       $(SILENCE) rm -f gdb$(EXEEXT)
+       $(ECHO_CXXLD) $(CC_LD) $(INTERNAL_LDFLAGS) $(WIN32LDAPP) \
                -o gdb$(EXEEXT) gdb.o $(LIBGDB_OBS) \
                $(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS) $(LOADLIBES)
 
@@ -2242,7 +1950,7 @@ 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 init.c version.c
        rm -f gdb$(EXEEXT) core make.log
        rm -f gdb[0-9]$(EXEEXT)
        rm -f test-cp-name-parser$(EXEEXT)
@@ -2271,7 +1979,7 @@ distclean: clean
        rm -f Makefile
        rm -rf $(DEPDIR)
        for i in $(CONFIG_SRC_SUBDIR); do \
-               rmdir $$i/$(DEPDIR); \
+               if test -d $$i/$(DEPDIR); then rmdir $$i/$(DEPDIR); fi \
        done
 
 maintainer-clean: local-maintainer-clean do-maintainer-clean distclean
@@ -2426,15 +2134,9 @@ $(srcdir)/copying.c: @MAINTAINER_MODE_TRUE@ $(srcdir)/../COPYING3 $(srcdir)/copy
        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) \
+       $(ECHO_GEN) $(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'`
@@ -2505,8 +2207,6 @@ ALLDEPFILES = \
        bsd-kvm.c \
        bsd-uthread.c \
        darwin-nat.c \
-       dcache.c \
-       dcache.c \
        dicos-tdep.c \
        exec.c \
        fbsd-nat.c \
@@ -2602,6 +2302,7 @@ ALLDEPFILES = \
        procfs.c \
        ravenscar-thread.c \
        remote-sim.c \
+       riscv-tdep.c \
        rl78-tdep.c \
        rs6000-lynx178-tdep.c \
        rs6000-nat.c \
@@ -2609,6 +2310,7 @@ ALLDEPFILES = \
        rx-tdep.c \
        s390-linux-nat.c \
        s390-linux-tdep.c \
+       s390-tdep.c \
        score-tdep.c \
        ser-go32.c \
        ser-mingw.c \
@@ -2672,14 +2374,16 @@ ALLDEPFILES = \
 # 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
+       $(ECHO_CXX) $(COMPILE.pre) $(INTERNAL_CFLAGS) \
+               $(GDB_WARN_CFLAGS_NO_FORMAT) $(COMPILE.post) \
+               $(srcdir)/printcmd.c
        $(POSTCOMPILE)
 
 # Same for "target-float.c".
 target-float.o: $(srcdir)/target-float.c
-       $(COMPILE.pre) $(INTERNAL_CFLAGS) $(GDB_WARN_CFLAGS_NO_FORMAT) \
-               $(COMPILE.post) $(srcdir)/target-float.c
+       $(ECHO_CXX) $(COMPILE.pre) $(INTERNAL_CFLAGS) \
+               $(GDB_WARN_CFLAGS_NO_FORMAT) $(COMPILE.post) \
+               $(srcdir)/target-float.c
 
 # ada-exp.c can appear in srcdir, for releases; or in ., for
 # development builds.
@@ -2688,8 +2392,8 @@ ADA_EXP_C = `if test -f ada-exp.c; then echo ada-exp.c; else echo $(srcdir)/ada-
 # 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)
+       $(ECHO_CXX) $(COMPILE.pre) $(INTERNAL_CFLAGS) \
+               $(GDB_WARN_CFLAGS_NO_DEFS) $(COMPILE.post) $(ADA_EXP_C)
        $(POSTCOMPILE)
 
 # Message files.  Based on code in gcc/Makefile.in.
@@ -2820,12 +2524,12 @@ po/$(PACKAGE).pot: force
 
 xml-builtin.c: stamp-xml; @true
 stamp-xml: $(srcdir)/features/feature_to_c.sh Makefile $(XMLFILES)
-       rm -f xml-builtin.tmp
-       AWK="$(AWK)" \
+       $(SILENCE) rm -f xml-builtin.tmp
+       $(ECHO_GEN_XML_BUILTIN) 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
+       $(SILENCE) $(SHELL) $(srcdir)/../move-if-change xml-builtin.tmp xml-builtin.c
+       $(SILENCE) echo stamp > stamp-xml
 
 .PRECIOUS: xml-builtin.c
 
@@ -2883,7 +2587,7 @@ clean-gdbtk:
 insight$(EXEEXT): gdbtk-main.o libgdb.a $(ADD_DEPS) \
                $(CDEPS) $(TDEPLIBS)
        rm -f insight$(EXEEXT)
-       $(CC_LD) $(INTERNAL_LDFLAGS) $(WIN32LDAPP) \
+       $(ECHO_CXXLD) $(CC_LD) $(INTERNAL_LDFLAGS) $(WIN32LDAPP) \
                -o insight$(EXEEXT) gdbtk-main.o libgdb.a \
                $(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS) $(LOADLIBES)
 
@@ -2922,6 +2626,10 @@ endif
 all_object_files = gdb.o $(LIBGDB_OBS) gdbtk-main.o \
        test-cp-name-parser.o
 
+# All the .deps files to include.
+all_deps_files = $(foreach dep,$(patsubst %.o,%.Po,$(all_object_files)),\
+    $(dir $(dep))/$(DEPDIR)/$(notdir $(dep)))
+
 # 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.
@@ -2932,7 +2640,7 @@ $(all_object_files) : $(generated_files)
 endif
 
 # Dependencies.
--include $(patsubst %.o, $(DEPDIR)/%.Po, $(all_object_files))
+-include $(all_deps_files)
 
 # Disable implicit make rules.
 include $(srcdir)/disable-implicit-rules.mk