-# Copyright (C) 1989-2019 Free Software Foundation, Inc.
+# Copyright (C) 1989-2021 Free Software Foundation, Inc.
# This file is part of GDB.
# GNU make is used. The overrides implement dependency tracking.
COMPILE.pre = $(CXX) -x c++ $(CXX_DIALECT)
COMPILE.post = -c -o $@
-COMPILE = $(ECHO_CXX) $(COMPILE.pre) $(INTERNAL_CFLAGS) $(COMPILE.post)
POSTCOMPILE = @true
+# CXXFLAGS is at the very end on purpose, so that user-supplied flags can
+# override internal flags.
+COMPILE = $(ECHO_CXX) $(COMPILE.pre) $(INTERNAL_CFLAGS) $(CXXFLAGS) \
+ $(COMPILE.post)
+
YACC = @YACC@
# This is used to rebuild ada-lex.c from ada-lex.l. If the program is
LIBIBERTY = ../libiberty/libiberty.a
# Where is the CTF library? Typically in ../libctf.
-LIBCTF = ../libctf/.libs/libctf.a
+LIBCTF = @LIBCTF@
+CTF_DEPS = @CTF_DEPS@
# Where is the BFD library? Typically in ../bfd.
BFD_DIR = ../bfd
# Where is libipt? This will be empty if libipt was not available.
LIBIPT = @LIBIPT@
+# Where is libgmp?
+LIBGMP = @LIBGMP@
+
# Where is libmpfr? This will be empty if libmpfr was not available.
LIBMPFR = @LIBMPFR@
GDB_WARN_CFLAGS = $(WARN_CFLAGS)
GDB_WERROR_CFLAGS = $(WERROR_CFLAGS)
+PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
+PTHREAD_LIBS = @PTHREAD_LIBS@
+
+DEBUGINFOD_CFLAGS = @DEBUGINFOD_CFLAGS@
+DEBUGINFOD_LIBS = @DEBUGINFOD_LIBS@
+
RDYNAMIC = @RDYNAMIC@
# Where is the INTL library? Typically in ../intl.
GDBFLAGS =
# Helper code from gnulib.
-GNULIB_BUILDDIR = ../gnulib
-LIBGNU = $(GNULIB_BUILDDIR)/import/libgnu.a
-INCGNU = -I$(srcdir)/../gnulib/import -I$(GNULIB_BUILDDIR)/import
+GNULIB_PARENT_DIR = ..
+include $(GNULIB_PARENT_DIR)/gnulib/Makefile.gnulib.inc
+
+SUPPORT = ../gdbsupport
+LIBSUPPORT = $(SUPPORT)/libgdbsupport.a
+INCSUPPORT = -I$(srcdir)/.. -I..
#
# CLI sub directory definitons
tui/tui-interp.c \
tui/tui-io.c \
tui/tui-layout.c \
+ tui/tui-location.c \
tui/tui-out.c \
tui/tui-regs.c \
tui/tui-source.c \
python/py-record.c \
python/py-record-btrace.c \
python/py-record-full.c \
+ python/py-registers.c \
python/py-signalevent.c \
python/py-stopevent.c \
python/py-symbol.c \
python/py-symtab.c \
python/py-threadevent.c \
+ python/py-tui.c \
python/py-type.c \
python/py-unwind.c \
python/py-utils.c \
SUBDIR_PYTHON_LDFLAGS =
SUBDIR_PYTHON_CFLAGS =
-SUBDIR_UNITTESTS_SRCS = \
+SELFTESTS_SRCS = \
+ disasm-selftests.c \
+ gdbarch-selftests.c \
+ selftest-arch.c \
unittests/array-view-selftests.c \
unittests/child-path-selftests.c \
unittests/cli-utils-selftests.c \
+ unittests/command-def-selftests.c \
unittests/common-utils-selftests.c \
unittests/copy_bitwise-selftests.c \
+ unittests/enum-flags-selftests.c \
unittests/environ-selftests.c \
+ unittests/filtered_iterator-selftests.c \
unittests/format_pieces-selftests.c \
unittests/function-view-selftests.c \
- unittests/help-doc-selftests.c \
+ unittests/gdb_tilde_expand-selftests.c \
+ unittests/gmp-utils-selftests.c \
unittests/lookup_name_info-selftests.c \
unittests/memory-map-selftests.c \
unittests/memrange-selftests.c \
unittests/optional-selftests.c \
unittests/parse-connection-spec-selftests.c \
unittests/ptid-selftests.c \
+ unittests/main-thread-selftests.c \
unittests/mkdir-recursive-selftests.c \
unittests/rsp-low-selftests.c \
unittests/scoped_fd-selftests.c \
+ unittests/scoped_ignore_signal-selftests.c \
unittests/scoped_mmap-selftests.c \
unittests/scoped_restore-selftests.c \
+ unittests/search-memory-selftests.c \
unittests/string_view-selftests.c \
unittests/style-selftests.c \
unittests/tracepoint-selftests.c \
+ unittests/tui-selftests.c \
unittests/unpack-selftests.c \
unittests/utils-selftests.c \
unittests/vec-utils-selftests.c \
unittests/xml-utils-selftests.c
-SUBDIR_UNITTESTS_OBS = $(patsubst %.c,%.o,$(SUBDIR_UNITTESTS_SRCS))
+SELFTESTS_OBS = $(patsubst %.c,%.o,$(SELFTESTS_SRCS))
SUBDIR_TARGET_SRCS = target/waitstatus.c
SUBDIR_TARGET_OBS = $(patsubst %.c,%.o,$(SUBDIR_TARGET_SRCS))
CONFIG_UNINSTALL = @CONFIG_UNINSTALL@
HAVE_NATIVE_GCORE_TARGET = @HAVE_NATIVE_GCORE_TARGET@
-CONFIG_SRC_SUBDIR = arch cli mi gdbsupport compile tui unittests guile python \
+CONFIG_SRC_SUBDIR = arch cli dwarf2 mi compile tui unittests guile python \
target nat
CONFIG_DEP_SUBDIR = $(addsuffix /$(DEPDIR),$(CONFIG_SRC_SUBDIR))
# 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) @GUILE_CPPFLAGS@ @PYTHON_CPPFLAGS@
+INTERNAL_CPPFLAGS = $(CPPFLAGS) @GUILE_CPPFLAGS@ @PYTHON_CPPFLAGS@ \
+ @LARGEFILE_CPPFLAGS@
# INTERNAL_CFLAGS is the aggregate of all other *CFLAGS macros.
INTERNAL_CFLAGS_BASE = \
- $(CXXFLAGS) $(GLOBAL_CFLAGS) $(PROFILE_CFLAGS) \
+ $(GLOBAL_CFLAGS) $(PROFILE_CFLAGS) \
$(GDB_CFLAGS) $(OPCODES_CFLAGS) $(READLINE_CFLAGS) $(ZLIBINC) \
$(BFD_CFLAGS) $(INCLUDE_CFLAGS) $(LIBDECNUMBER_CFLAGS) \
- $(INTL_CFLAGS) $(INCGNU) $(ENABLE_CFLAGS) $(INTERNAL_CPPFLAGS) \
- $(SRCHIGH_CFLAGS) $(TOP_CFLAGS)
+ $(INTL_CFLAGS) $(INCGNU) $(INCSUPPORT) $(ENABLE_CFLAGS) \
+ $(INTERNAL_CPPFLAGS) $(SRCHIGH_CFLAGS) $(TOP_CFLAGS) $(PTHREAD_CFLAGS) \
+ $(DEBUGINFOD_CFLAGS)
INTERNAL_WARN_CFLAGS = $(INTERNAL_CFLAGS_BASE) $(GDB_WARN_CFLAGS)
INTERNAL_CFLAGS = $(INTERNAL_WARN_CFLAGS) $(GDB_WERROR_CFLAGS)
# PROFILE_CFLAGS is _not_ included, however, because we use monstartup.
INTERNAL_LDFLAGS = \
$(CXXFLAGS) $(GLOBAL_CFLAGS) $(MH_LDFLAGS) \
- $(LDFLAGS) $(CONFIG_LDFLAGS)
+ $(LDFLAGS) $(CONFIG_LDFLAGS) $(PTHREAD_CFLAGS)
# 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) $(LIBCTF) $(ZLIB) \
- $(INTL) $(LIBIBERTY) $(LIBDECNUMBER) \
+CLIBS = $(SIM) $(READLINE) $(OPCODES) $(LIBCTF) $(BFD) $(ZLIB) \
+ $(LIBSUPPORT) $(INTL) $(LIBIBERTY) $(LIBDECNUMBER) \
$(XM_CLIBS) $(GDBTKLIBS) \
@LIBS@ @GUILE_LIBS@ @PYTHON_LIBS@ \
$(LIBEXPAT) $(LIBLZMA) $(LIBBABELTRACE) $(LIBIPT) \
- $(LIBIBERTY) $(WIN32LIBS) $(LIBGNU) $(LIBICONV) $(LIBMPFR) \
- $(SRCHIGH_LIBS) $(LIBXXHASH)
-CDEPS = $(NAT_CDEPS) $(SIM) $(BFD) $(READLINE_DEPS) $(LIBCTF) \
- $(OPCODES) $(INTL_DEPS) $(LIBIBERTY) $(CONFIG_DEPS) $(LIBGNU)
+ $(WIN32LIBS) $(LIBGNU) $(LIBGNU_EXTRA_LIBS) $(LIBICONV) \
+ $(LIBMPFR) $(LIBGMP) $(SRCHIGH_LIBS) $(LIBXXHASH) $(PTHREAD_LIBS) \
+ $(DEBUGINFOD_LIBS)
+CDEPS = $(NAT_CDEPS) $(SIM) $(BFD) $(READLINE_DEPS) $(CTF_DEPS) \
+ $(OPCODES) $(INTL_DEPS) $(LIBIBERTY) $(CONFIG_DEPS) $(LIBGNU) \
+ $(LIBSUPPORT)
DIST = gdb
alpha-bsd-tdep.o \
alpha-linux-tdep.o \
alpha-mdebug-tdep.o \
- alpha-nbsd-tdep.o \
+ alpha-netbsd-tdep.o \
alpha-obsd-tdep.o \
alpha-tdep.o \
amd64-darwin-tdep.o \
amd64-dicos-tdep.o \
amd64-fbsd-tdep.o \
amd64-linux-tdep.o \
- amd64-nbsd-tdep.o \
+ amd64-netbsd-tdep.o \
amd64-obsd-tdep.o \
+ amd64-ravenscar-thread.o \
amd64-sol2-tdep.o \
amd64-tdep.o \
amd64-windows-tdep.o \
arch/aarch64.o \
arch/aarch64-insn.o \
+ arch/aarch64-mte-linux.o \
arch/amd64.o \
ia64-linux-tdep.o \
ia64-tdep.o \
mips64-obsd-tdep.o \
sparc64-fbsd-tdep.o \
sparc64-linux-tdep.o \
- sparc64-nbsd-tdep.o \
+ sparc64-netbsd-tdep.o \
sparc64-obsd-tdep.o \
sparc64-sol2-tdep.o \
sparc64-tdep.o
# All other target-dependent objects files (used with --enable-targets=all).
ALL_TARGET_OBS = \
aarch32-tdep.o \
+ arc-linux-tdep.o \
arc-tdep.o \
arch/aarch32.o \
+ arch/arc.o \
arch/arm.o \
arch/arm-get-next-pcs.o \
arch/arm-linux.o \
arm-bsd-tdep.o \
arm-fbsd-tdep.o \
arm-linux-tdep.o \
- arm-nbsd-tdep.o \
+ arm-netbsd-tdep.o \
+ arm-none-tdep.o \
arm-obsd-tdep.o \
arm-pikeos-tdep.o \
- arm-symbian-tdep.o \
arm-tdep.o \
arm-wince-tdep.o \
avr-tdep.o \
bfin-linux-tdep.o \
bfin-tdep.o \
+ bpf-tdep.o \
bsd-uthread.o \
cris-linux-tdep.o \
cris-tdep.o \
h8300-tdep.o \
hppa-bsd-tdep.o \
hppa-linux-tdep.o \
- hppa-nbsd-tdep.o \
+ hppa-netbsd-tdep.o \
hppa-obsd-tdep.o \
hppa-tdep.o \
i386-bsd-tdep.o \
- i386-cygwin-tdep.o \
i386-darwin-tdep.o \
i386-dicos-tdep.o \
i386-fbsd-tdep.o \
i386-gnu-tdep.o \
i386-go32-tdep.o \
i386-linux-tdep.o \
- i386-nbsd-tdep.o \
+ i386-netbsd-tdep.o \
i386-nto-tdep.o \
i386-obsd-tdep.o \
i386-sol2-tdep.o \
i386-tdep.o \
+ i386-windows-tdep.o \
i387-tdep.o \
iq2000-tdep.o \
linux-record.o \
microblaze-tdep.o \
mips-fbsd-tdep.o \
mips-linux-tdep.o \
- mips-nbsd-tdep.o \
+ mips-netbsd-tdep.o \
mips-sde-tdep.o \
mips-tdep.o \
mn10300-linux-tdep.o \
mn10300-tdep.o \
moxie-tdep.o \
msp430-tdep.o \
- nbsd-tdep.o \
+ netbsd-tdep.o \
nds32-tdep.o \
nios2-linux-tdep.o \
nios2-tdep.o \
or1k-tdep.o \
ppc-fbsd-tdep.o \
ppc-linux-tdep.o \
- ppc-nbsd-tdep.o \
+ ppc-netbsd-tdep.o \
ppc-obsd-tdep.o \
ppc-ravenscar-thread.o \
ppc-sysv-tdep.o \
ravenscar-thread.o \
riscv-fbsd-tdep.o \
riscv-linux-tdep.o \
+ riscv-none-tdep.o \
+ riscv-ravenscar-thread.o \
riscv-tdep.o \
rl78-tdep.o \
rs6000-aix-tdep.o \
s390-tdep.o \
score-tdep.o \
sh-linux-tdep.o \
- sh-nbsd-tdep.o \
+ sh-netbsd-tdep.o \
sh-tdep.o \
sol2-tdep.o \
solib-aix.o \
solib-frv.o \
solib-svr4.o \
sparc-linux-tdep.o \
- sparc-nbsd-tdep.o \
+ sparc-netbsd-tdep.o \
sparc-obsd-tdep.o \
sparc-ravenscar-thread.o \
sparc-sol2-tdep.o \
tilegx-linux-tdep.o \
tilegx-tdep.o \
v850-tdep.o \
- vax-nbsd-tdep.o \
+ vax-netbsd-tdep.o \
vax-tdep.o \
windows-tdep.o \
x86-tdep.o \
alloc.c \
annotate.c \
arch-utils.c \
+ async-event.c \
auto-load.c \
auxv.c \
ax-gdb.c \
cli-out.c \
coff-pe-read.c \
coffread.c \
- gdbsupport/agent.c \
- gdbsupport/btrace-common.c \
- gdbsupport/buffer.c \
- gdbsupport/cleanups.c \
- gdbsupport/common-debug.c \
- gdbsupport/common-exceptions.c \
- gdbsupport/common-inferior.c \
- gdbsupport/common-regcache.c \
- gdbsupport/common-utils.c \
- gdbsupport/errors.c \
- gdbsupport/environ.c \
- gdbsupport/fileio.c \
- gdbsupport/filestuff.c \
- gdbsupport/format.c \
- gdbsupport/job-control.c \
- gdbsupport/gdb-dlfcn.c \
- gdbsupport/gdb_tilde_expand.c \
- gdbsupport/gdb_vecs.c \
- gdbsupport/netstuff.c \
- gdbsupport/new-op.c \
- gdbsupport/pathstuff.c \
- gdbsupport/print-utils.c \
- gdbsupport/ptid.c \
- gdbsupport/rsp-low.c \
- gdbsupport/run-time-clock.c \
- gdbsupport/safe-strerror.c \
- gdbsupport/scoped_mmap.c \
- gdbsupport/signals.c \
- gdbsupport/signals-state-save-restore.c \
- gdbsupport/tdesc.c \
- gdbsupport/xml-utils.c \
complaints.c \
completer.c \
- continuations.c \
copying.c \
corefile.c \
corelow.c \
dbxread.c \
dcache.c \
debug.c \
- demangle.c \
+ debuginfod-support.c \
dictionary.c \
disasm.c \
- disasm-selftests.c \
+ displaced-stepping.c \
dummy-frame.c \
- dwarf-index-cache.c \
- dwarf-index-common.c \
- dwarf-index-write.c \
- dwarf2-frame.c \
- dwarf2-frame-tailcall.c \
- dwarf2expr.c \
- dwarf2loc.c \
- dwarf2read.c \
+ dwarf2/abbrev.c \
+ dwarf2/attribute.c \
+ dwarf2/comp-unit-head.c \
+ dwarf2/cu.c \
+ dwarf2/dwz.c \
+ dwarf2/expr.c \
+ dwarf2/frame-tailcall.c \
+ dwarf2/frame.c \
+ dwarf2/index-cache.c \
+ dwarf2/index-common.c \
+ dwarf2/index-write.c \
+ dwarf2/leb.c \
+ dwarf2/line-header.c \
+ dwarf2/loc.c \
+ dwarf2/macro.c \
+ dwarf2/read.c \
+ dwarf2/section.c \
+ dwarf2/stringify.c \
eval.c \
- event-loop.c \
event-top.c \
exceptions.c \
exec.c \
frame-base.c \
frame-unwind.c \
gcore.c \
+ gdb-demangle.c \
gdb_bfd.c \
gdb_obstack.c \
gdb_regex.c \
gdbarch.c \
- gdbarch-selftests.c \
gdbtypes.c \
+ gmp-utils.c \
gnu-v2-abi.c \
gnu-v3-abi.c \
go-lang.c \
remote-fileio.c \
remote-notif.c \
reverse.c \
+ run-on-main-thread.c \
rust-lang.c \
+ rust-parse.c \
sentinel-frame.c \
ser-event.c \
serial.c \
symmisc.c \
symtab.c \
target.c \
+ target-connection.c \
target-dcache.c \
target-descriptions.c \
target-memory.c \
cp-name-parser.y \
d-exp.y \
dtrace-probe.c \
+ elf-none-tdep.c \
elfread.c \
f-exp.y \
+ gcore-elf.c \
gdb.c \
go-exp.y \
m2-exp.y \
p-exp.y \
proc-service.list \
- rust-exp.y \
ser-base.c \
ser-unix.c \
sol-thread.c \
amd64-darwin-tdep.h \
amd64-linux-tdep.h \
amd64-nat.h \
+ amd64-ravenscar-thread.h \
amd64-tdep.h \
annotate.h \
arc-tdep.h \
arch-utils.h \
arm-linux-tdep.h \
+ arm-netbsd-tdep.h \
arm-tdep.h \
+ async-event.h \
auto-load.h \
auxv.h \
ax.h \
dictionary.h \
disasm.h \
dummy-frame.h \
- dwarf-index-cache.h \
- dwarf-index-common.h \
- dwarf2-frame.h \
- dwarf2-frame-tailcall.h \
- dwarf2expr.h \
- dwarf2loc.h \
- dwarf2read.h \
- event-loop.h \
+ dwarf2/cu.h \
+ dwarf2/frame-tailcall.h \
+ dwarf2/frame.h \
+ dwarf2/expr.h \
+ dwarf2/index-cache.h \
+ dwarf2/index-common.h \
+ dwarf2/loc.h \
+ dwarf2/read.h \
event-top.h \
exceptions.h \
exec.h \
expression.h \
extension.h \
extension-priv.h \
+ f-array-walker.h \
f-lang.h \
fbsd-nat.h \
fbsd-tdep.h \
frame-unwind.h \
frv-tdep.h \
ft32-tdep.h \
+ gcore-elf.h \
gcore.h \
gdb_bfd.h \
gdb_curses.h \
gdbthread.h \
gdbtypes.h \
glibc-tdep.h \
+ gmp-utils.h \
gnu-nat.h \
go-lang.h \
gregset.h \
inf-ptrace.h \
infcall.h \
inferior.h \
- inflow.h \
inline-frame.h \
interps.h \
jit.h \
memrange.h \
microblaze-tdep.h \
mips-linux-tdep.h \
- mips-nbsd-tdep.h \
+ mips-netbsd-tdep.h \
mips-tdep.h \
mn10300-tdep.h \
moxie-tdep.h \
- nbsd-nat.h \
- nbsd-tdep.h \
+ netbsd-nat.h \
+ netbsd-tdep.h \
nds32-tdep.h \
nios2-tdep.h \
+ elf-none-tdep.h \
nto-tdep.h \
objc-lang.h \
objfiles.h \
parser-defs.h \
ppc-fbsd-tdep.h \
ppc-linux-tdep.h \
- ppc-nbsd-tdep.h \
+ ppc-netbsd-tdep.h \
ppc-obsd-tdep.h \
ppc-ravenscar-thread.h \
ppc-tdep.h \
remote-fileio.h \
remote-notif.h \
riscv-fbsd-tdep.h \
+ riscv-ravenscar-thread.h \
riscv-tdep.h \
rs6000-aix-tdep.h \
rs6000-tdep.h \
+ run-on-main-thread.h \
s390-linux-tdep.h \
s390-tdep.h \
score-tdep.h \
arch/aarch32.h \
arch/aarch64.h \
arch/aarch64-insn.h \
+ arch/aarch64-mte-linux.h \
+ arch/arc.h \
arch/arm.h \
arch/i386.h \
arch/ppc-linux-common.h \
cli/cli-setshow.h \
cli/cli-style.h \
cli/cli-utils.h \
- gdbsupport/buffer.h \
- gdbsupport/cleanups.h \
- gdbsupport/common-debug.h \
- gdbsupport/common-defs.h \
- gdbsupport/common-exceptions.h \
- gdbsupport/common-gdbthread.h \
- gdbsupport/common-regcache.h \
- gdbsupport/common-types.h \
- gdbsupport/common-utils.h \
- gdbsupport/job-control.h \
- gdbsupport/errors.h \
- gdbsupport/environ.h \
- gdbsupport/fileio.h \
- gdbsupport/format.h \
- gdbsupport/gdb-dlfcn.h \
- gdbsupport/gdb_assert.h \
- gdbsupport/gdb_binary_search.h \
- gdbsupport/gdb_tilde_expand.h \
- gdbsupport/gdb_locale.h \
- gdbsupport/gdb_proc_service.h \
- gdbsupport/gdb_setjmp.h \
- gdbsupport/gdb_signals.h \
- gdbsupport/gdb_sys_time.h \
- gdbsupport/gdb_vecs.h \
- gdbsupport/gdb_wait.h \
- gdbsupport/common-inferior.h \
- gdbsupport/netstuff.h \
- gdbsupport/host-defs.h \
- gdbsupport/pathstuff.h \
- gdbsupport/print-utils.h \
- gdbsupport/ptid.h \
- gdbsupport/queue.h \
- gdbsupport/rsp-low.h \
- gdbsupport/run-time-clock.h \
- gdbsupport/signals-state-save-restore.h \
- gdbsupport/symbol.h \
- gdbsupport/tdesc.h \
- gdbsupport/version.h \
- gdbsupport/x86-xstate.h \
- gdbsupport/xml-utils.h \
compile/compile.h \
compile/compile-c.h \
compile/compile-cplus.h \
mi/mi-parse.h \
nat/aarch64-linux.h \
nat/aarch64-linux-hw-point.h \
+ nat/aarch64-mte-linux-ptrace.h \
nat/aarch64-sve-linux-ptrace.h \
nat/amd64-linux-siginfo.h \
nat/gdb_ptrace.h \
tui/tui-hooks.h \
tui/tui-io.h \
tui/tui-layout.h \
+ tui/tui-location.h \
+ tui/tui-out.h \
tui/tui-regs.h \
tui/tui-source.h \
tui/tui-stack.h \
tui/tui-win.h \
- tui/tui-windata.h \
tui/tui-wingeneral.h \
tui/tui-winsource.h \
x86-tdep.h
$(SUBDIR_TARGET_OBS) \
$(SUBDIR_GCC_COMPILE_OBS)
-SUBDIRS = doc @subdirs@ data-directory
+SUBDIRS = doc @subdirs@ data-directory testsuite
CLEANDIRS = $(SUBDIRS)
# List of subdirectories in the build tree that must exist.
f-exp.c \
go-exp.c \
m2-exp.c \
- p-exp.c \
- rust-exp.c
+ p-exp.c
# ada-lex.c is included by another file, so it shouldn't wind up as a
# .o itself.
PYTHON_CFLAGS = @PYTHON_CFLAGS@
all: gdb$(EXEEXT) $(CONFIG_ALL) gdb-gdb.py gdb-gdb.gdb
- @$(MAKE) $(FLAGS_TO_PASS) DO=all "DODIRS=`echo $(SUBDIRS) | sed 's/testsuite//'`" subdir_do
+ @$(MAKE) $(FLAGS_TO_PASS) DO=all "DODIRS=$(SUBDIRS)" subdir_do
# Rule for compiling .c files in the top-level gdb directory.
# The order-only dependencies ensure that we create the build subdirectories.
@echo Checking headers.
for i in $(CHECK_HEADERS) ; do \
$(CXX) $(CXX_DIALECT) -x c++-header -c -fsyntax-only \
- $(INTERNAL_CFLAGS) -include defs.h $(srcdir)/$$i ; \
+ $(INTERNAL_CFLAGS) $(CXXFLAGS) -include defs.h $(srcdir)/$$i ; \
done
.PHONY: check-headers
true ; \
fi ; \
$(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(bindir) ; \
- $(INSTALL_PROGRAM) gdb$(EXEEXT) \
+ $(INSTALL_PROGRAM_ENV) $(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
# 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
# source files that will be linked into gdb. However, due to the way
# this Makefile has generally been written, we do this indirectly, by
# computing the list of source files from the list of object files.
+INIT_FILES_FILTER_OUT = \
+ cp-name-parser.o \
+ init.o \
+ version.o \
+ xml-builtin.o \
+ %_S.o \
+ %_U.o
+
INIT_FILES = \
$(patsubst %.o,%.c, \
$(patsubst %-exp.o,%-exp.y, \
- $(filter-out init.o version.o %_S.o %_U.o,\
- $(COMMON_OBS))))
+ $(filter-out $(INIT_FILES_FILTER_OUT), $(COMMON_OBS))))
init.c: stamp-init; @true
-stamp-init: $(INIT_FILES)
- @$(ECHO_INIT_C) echo "Making init.c"
- @rm -f init.c-tmp init.l-tmp
- @touch init.c-tmp
- @-for f in $(INIT_FILES); do \
- sed -n -e 's/^_initialize_\([a-z_0-9A-Z]*\).*/\1/p' \
- $(srcdir)/$$f 2>/dev/null; \
- 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.l-tmp >>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.l-tmp >>init.c-tmp
- @echo '}' >>init.c-tmp
- @$(SHELL) $(srcdir)/../move-if-change init.c-tmp init.c
- @echo stamp > stamp-init
+stamp-init: $(INIT_FILES) config.status $(srcdir)/make-init-c
+ $(ECHO_INIT_C)
+ $(SILENCE) $(srcdir)/make-init-c $(addprefix $(srcdir)/,$(INIT_FILES)) > init.c-tmp
+ $(SILENCE) $(SHELL) $(srcdir)/../move-if-change init.c-tmp init.c
+ $(SILENCE) echo stamp > stamp-init
.PRECIOUS: init.c
$(ECHO_SIGN) $(CODESIGN) -s $(CODESIGN_CERT) gdb$(EXEEXT)
endif
-# 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".
# 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 -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 b jit-reader.h
rm -f gdb-gdb.py gdb-gdb.gdb
rm -f y.output yacc.acts yacc.tmp y.tab.h
rm -f c-exp.c \
cp-name-parser.c \
ada-lex.c ada-exp.c \
- d-exp.c f-exp.c go-exp.c m2-exp.c p-exp.c rust-exp.c
+ d-exp.c f-exp.c go-exp.c m2-exp.c p-exp.c
rm -f TAGS
rm -f $(YYFILES)
rm -f nm.h config.status
Makefile: Makefile.in config.status
$(SHELL) config.status $@
-data-directory/Makefile: data-directory/Makefile.in config.status
- $(SHELL) config.status $@
-
.PHONY: run
run: Makefile
./gdb$(EXEEXT) --data-directory=`pwd`/data-directory $(GDBFLAGS)
transform.m4 \
../bfd/bfd.m4 \
../config/acinclude.m4 \
+ ../config/enable.m4 \
../config/plugins.m4 \
../config/lead-dot.m4 \
../config/override.m4 \
../config/depstand.m4 \
../config/lcmessage.m4 \
../config/codeset.m4 \
- ../config/zlib.m4
+ ../config/zlib.m4 \
+ ../config/ax_pthread.m4
$(srcdir)/aclocal.m4: @MAINTAINER_MODE_TRUE@ $(aclocal_m4_deps)
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
version.c: stamp-version; @true
# Note that the obvious names for the temp file are taken by
# create-version.sh.
-stamp-version: Makefile version.in $(srcdir)/../bfd/version.h $(srcdir)/gdbsupport/create-version.sh
- $(ECHO_GEN) $(SHELL) $(srcdir)/gdbsupport/create-version.sh $(srcdir) \
+stamp-version: Makefile version.in $(srcdir)/../bfd/version.h $(srcdir)/../gdbsupport/create-version.sh
+ $(ECHO_GEN) $(SHELL) $(srcdir)/../gdbsupport/create-version.sh $(srcdir) \
$(host_alias) $(target_alias) version-t.t
@$(SHELL) $(srcdir)/../move-if-change version-t.t version.c
@echo stamp > stamp-version
alpha-linux-nat.c \
alpha-linux-tdep.c \
alpha-mdebug-tdep.c \
- alpha-nbsd-tdep.c \
+ alpha-netbsd-tdep.c \
alpha-obsd-tdep.c \
alpha-tdep.c \
amd64-bsd-nat.c \
amd64-linux-nat.c \
amd64-linux-tdep.c \
amd64-nat.c \
- amd64-nbsd-nat.c \
- amd64-nbsd-tdep.c \
+ amd64-netbsd-nat.c \
+ amd64-netbsd-tdep.c \
amd64-obsd-nat.c \
amd64-obsd-tdep.c \
+ amd64-ravenscar-thread.c \
amd64-sol2-tdep.c \
amd64-tdep.c \
+ arc-linux-nat.c \
arc-tdep.c \
arm.c \
arm-bsd-tdep.c \
arm-linux.c \
arm-linux-nat.c \
arm-linux-tdep.c \
- arm-nbsd-nat.c \
- arm-nbsd-tdep.c \
+ arm-netbsd-nat.c \
+ arm-netbsd-tdep.c \
+ arm-none-tdep.c \
arm-obsd-tdep.c \
- arm-symbian-tdep.c \
arm-tdep.c \
avr-tdep.c \
bfin-linux-tdep.c \
bfin-tdep.c \
+ bpf-tdep.c \
bsd-kvm.c \
bsd-uthread.c \
csky-linux-tdep.c \
hppa-bsd-tdep.c \
hppa-linux-nat.c \
hppa-linux-tdep.c \
- hppa-nbsd-nat.c \
- hppa-nbsd-tdep.c \
+ hppa-netbsd-nat.c \
+ hppa-netbsd-tdep.c \
hppa-obsd-nat.c \
hppa-obsd-tdep.c \
hppa-tdep.c \
i386-bsd-nat.c \
i386-bsd-tdep.c \
- i386-cygwin-tdep.c \
i386-darwin-nat.c \
i386-darwin-tdep.c \
i386-dicos-tdep.c \
i386-gnu-tdep.c \
i386-linux-nat.c \
i386-linux-tdep.c \
- i386-nbsd-nat.c \
- i386-nbsd-tdep.c \
+ i386-netbsd-nat.c \
+ i386-netbsd-tdep.c \
i386-obsd-nat.c \
i386-obsd-tdep.c \
i386-sol2-nat.c \
i386-sol2-tdep.c \
i386-tdep.c \
+ i386-windows-tdep.c \
i387-tdep.c \
ia64-libunwind-tdep.c \
ia64-linux-nat.c \
mips-fbsd-tdep.c \
mips-linux-nat.c \
mips-linux-tdep.c \
- mips-nbsd-nat.c \
- mips-nbsd-tdep.c \
+ mips-netbsd-nat.c \
+ mips-netbsd-tdep.c \
mips-sde-tdep.c \
mips-tdep.c \
mips64-obsd-nat.c \
mips64-obsd-tdep.c \
msp430-tdep.c \
- nbsd-nat.c \
- nbsd-tdep.c \
+ netbsd-nat.c \
+ netbsd-tdep.c \
nds32-tdep.c \
nios2-linux-tdep.c \
nios2-tdep.c \
ppc-fbsd-tdep.c \
ppc-linux-nat.c \
ppc-linux-tdep.c \
- ppc-nbsd-nat.c \
- ppc-nbsd-tdep.c \
+ ppc-netbsd-nat.c \
+ ppc-netbsd-tdep.c \
ppc-obsd-nat.c \
ppc-obsd-tdep.c \
ppc-ravenscar-thread.c \
riscv-fbsd-tdep.c \
riscv-linux-nat.c \
riscv-linux-tdep.c \
+ riscv-none-tdep.c \
+ riscv-ravenscar-thread.c \
riscv-tdep.c \
rl78-tdep.c \
rs6000-lynx178-tdep.c \
ser-pipe.c \
ser-tcp.c \
ser-uds.c \
- sh-nbsd-nat.c \
- sh-nbsd-tdep.c \
+ sh-netbsd-nat.c \
+ sh-netbsd-tdep.c \
sh-tdep.c \
sol2-tdep.c \
solib-aix.c \
sparc-linux-nat.c \
sparc-linux-tdep.c \
sparc-nat.c \
- sparc-nbsd-nat.c \
- sparc-nbsd-tdep.c \
+ sparc-netbsd-nat.c \
+ sparc-netbsd-tdep.c \
sparc-obsd-tdep.c \
sparc-ravenscar-thread.c \
sparc-sol2-nat.c \
sparc64-linux-nat.c \
sparc64-linux-tdep.c \
sparc64-nat.c \
- sparc64-nbsd-nat.c \
- sparc64-nbsd-tdep.c \
+ sparc64-netbsd-nat.c \
+ sparc64-netbsd-tdep.c \
sparc64-obsd-nat.c \
sparc64-obsd-tdep.c \
sparc64-sol2-tdep.c \
tilegx-tdep.c \
v850-tdep.c \
vax-bsd-nat.c \
- vax-nbsd-tdep.c \
+ vax-netbsd-tdep.c \
vax-tdep.c \
windows-nat.c \
windows-tdep.c \
true ; \
fi ; \
$(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(bindir); \
- $(INSTALL_PROGRAM) insight$(EXEEXT) \
+ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) insight$(EXEEXT) \
$(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT) ; \
$(SHELL) $(srcdir)/../mkinstalldirs \
$(DESTDIR)$(GDBTK_LIBRARY) ; \