1# Copyright (C) 1989-2019 Free Software Foundation, Inc. 2 3# This file is part of GDB. 4 5# This program is free software; you can redistribute it and/or modify 6# it under the terms of the GNU General Public License as published by 7# the Free Software Foundation; either version 3 of the License, or 8# (at your option) any later version. 9# 10# This program is distributed in the hope that it will be useful, 11# but WITHOUT ANY WARRANTY; without even the implied warranty of 12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13# GNU General Public License for more details. 14# 15# You should have received a copy of the GNU General Public License 16# along with this program. If not, see <http://www.gnu.org/licenses/>. 17 18# Please keep lists in this file sorted alphabetically, with one item per line. 19# Here are the general guidelines for ordering files and directories: 20# 21# - Files come before directories. 22# - The extensions are not taken into account when comparing filenames, except 23# if the filenames are otherwise equal. 24# - A filename that is a prefix of another one comes before. 25# - Underscores and dashes are treated equally, and come before alphanumeric 26# characters. 27# 28# For example: 29# 30# SOME_FILES = \ 31# foo.c \ 32# foo.h \ 33# foo-bar.c \ 34# foobar.c \ 35# foo/bar.c 36 37prefix = @prefix@ 38exec_prefix = @exec_prefix@ 39 40host_alias = @host_alias@ 41target_alias = @target_alias@ 42program_transform_name = @program_transform_name@ 43bindir = @bindir@ 44libdir = @libdir@ 45tooldir = $(libdir)/$(target_alias) 46 47datadir = @datadir@ 48localedir = @localedir@ 49mandir = @mandir@ 50man1dir = $(mandir)/man1 51man2dir = $(mandir)/man2 52man3dir = $(mandir)/man3 53man4dir = $(mandir)/man4 54man5dir = $(mandir)/man5 55man6dir = $(mandir)/man6 56man7dir = $(mandir)/man7 57man8dir = $(mandir)/man8 58man9dir = $(mandir)/man9 59infodir = @infodir@ 60datarootdir = @datarootdir@ 61docdir = @docdir@ 62htmldir = @htmldir@ 63pdfdir = @pdfdir@ 64includedir = @includedir@ 65 66install_sh = @install_sh@ 67 68# This can be referenced by `LIBINTL' as computed by 69# ZW_GNU_GETTEXT_SISTER_DIR. 70top_builddir = . 71 72SHELL = @SHELL@ 73EXEEXT = @EXEEXT@ 74 75AWK = @AWK@ 76LN_S = @LN_S@ 77 78INSTALL = @INSTALL@ 79INSTALL_PROGRAM = @INSTALL_PROGRAM@ 80INSTALL_SCRIPT = @INSTALL_SCRIPT@ 81INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 82INSTALL_DATA = @INSTALL_DATA@ 83 84DESTDIR = 85 86AR = @AR@ 87AR_FLAGS = qv 88RANLIB = @RANLIB@ 89DLLTOOL = @DLLTOOL@ 90WINDRES = @WINDRES@ 91MIG = @MIG@ 92STRIP = @STRIP@ 93 94XGETTEXT = @XGETTEXT@ 95GMSGFMT = @GMSGFMT@ 96MSGMERGE = msgmerge 97 98PACKAGE = @PACKAGE@ 99CATALOGS = @CATALOGS@ 100 101CC = @CC@ 102CXX = @CXX@ 103CXX_DIALECT = @CXX_DIALECT@ 104 105# Dependency tracking information. 106DEPMODE = @CCDEPMODE@ 107DEPDIR = @DEPDIR@ 108depcomp = $(SHELL) $(srcdir)/../depcomp 109 110# Directory containing source files. 111srcdir = @srcdir@ 112VPATH = @srcdir@ 113top_srcdir = @top_srcdir@ 114 115include $(srcdir)/silent-rules.mk 116 117# Note that these are overridden by GNU make-specific code below if 118# GNU make is used. The overrides implement dependency tracking. 119COMPILE.pre = $(CXX) -x c++ $(CXX_DIALECT) 120COMPILE.post = -c -o $@ 121COMPILE = $(ECHO_CXX) $(COMPILE.pre) $(INTERNAL_CFLAGS) $(COMPILE.post) 122POSTCOMPILE = @true 123 124YACC = @YACC@ 125 126# This is used to rebuild ada-lex.c from ada-lex.l. If the program is 127# not defined, but ada-lex.c is present, compilation will continue, 128# possibly with a warning. 129FLEX = flex 130 131YLWRAP = $(srcdir)/../ylwrap 132 133# where to find makeinfo, preferably one designed for texinfo-2 134MAKEINFO = @MAKEINFO@ 135MAKEINFOFLAGS = @MAKEINFOFLAGS@ 136MAKEINFO_EXTRA_FLAGS = @MAKEINFO_EXTRA_FLAGS@ 137MAKEINFO_CMD = $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFO_EXTRA_FLAGS) 138 139MAKEHTML = $(MAKEINFO_CMD) --html 140MAKEHTMLFLAGS = 141 142# Set this up with gcc if you have gnu ld and the loader will print out 143# line numbers for undefined references. 144#CC_LD = g++ -static 145CC_LD = $(CXX) $(CXX_DIALECT) 146 147# Where is our "include" directory? Typically $(srcdir)/../include. 148# This is essentially the header file directory for the library 149# routines in libiberty. 150INCLUDE_DIR = $(srcdir)/../include 151INCLUDE_CFLAGS = -I$(INCLUDE_DIR) 152 153# Where is the "-liberty" library? Typically in ../libiberty. 154LIBIBERTY = ../libiberty/libiberty.a 155 156# Where is the BFD library? Typically in ../bfd. 157BFD_DIR = ../bfd 158BFD = $(BFD_DIR)/libbfd.a 159BFD_SRC = $(srcdir)/$(BFD_DIR) 160BFD_CFLAGS = -I$(BFD_DIR) -I$(BFD_SRC) 161 162# This is where we get zlib from. zlibdir is -L../zlib and zlibinc is 163# -I../zlib, unless we were configured with --with-system-zlib, in which 164# case both are empty. 165ZLIB = @zlibdir@ -lz 166ZLIBINC = @zlibinc@ 167 168# Where is the decnumber library? Typically in ../libdecnumber. 169LIBDECNUMBER_DIR = ../libdecnumber 170LIBDECNUMBER = $(LIBDECNUMBER_DIR)/libdecnumber.a 171LIBDECNUMBER_SRC = $(srcdir)/$(LIBDECNUMBER_DIR) 172LIBDECNUMBER_CFLAGS = -I$(LIBDECNUMBER_DIR) -I$(LIBDECNUMBER_SRC) 173 174# Where is the READLINE library? Typically in ../readline. 175READLINE_DIR = ../readline 176READLINE_SRC = $(srcdir)/$(READLINE_DIR) 177READLINE = @READLINE@ 178READLINE_DEPS = @READLINE_DEPS@ 179READLINE_CFLAGS = @READLINE_CFLAGS@ 180 181# Where is expat? This will be empty if expat was not available. 182LIBEXPAT = @LIBEXPAT@ 183 184# Where is lzma? This will be empty if lzma was not available. 185LIBLZMA = @LIBLZMA@ 186 187# Where is libbabeltrace? This will be empty if lbabeltrace was not 188# available. 189LIBBABELTRACE = @LIBBABELTRACE@ 190 191# Where is libipt? This will be empty if libipt was not available. 192LIBIPT = @LIBIPT@ 193 194# Where is libmpfr? This will be empty if libmpfr was not available. 195LIBMPFR = @LIBMPFR@ 196 197# GNU source highlight library. 198SRCHIGH_LIBS = @SRCHIGH_LIBS@ 199SRCHIGH_CFLAGS = @SRCHIGH_CFLAGS@ 200 201WARN_CFLAGS = @WARN_CFLAGS@ 202WERROR_CFLAGS = @WERROR_CFLAGS@ 203GDB_WARN_CFLAGS = $(WARN_CFLAGS) 204GDB_WERROR_CFLAGS = $(WERROR_CFLAGS) 205 206RDYNAMIC = @RDYNAMIC@ 207 208# Where is the INTL library? Typically in ../intl. 209INTL = @LIBINTL@ 210INTL_DEPS = @LIBINTL_DEP@ 211INTL_CFLAGS = @INCINTL@ 212 213# Where is the ICONV library? This will be empty if in libc or not available. 214LIBICONV = @LIBICONV@ 215 216# Did the user give us a --with-gdb-datadir option? 217GDB_DATADIR = @GDB_DATADIR@ 218 219# Code signing. 220CODESIGN = codesign 221CODESIGN_CERT = @CODESIGN_CERT@ 222 223# Flags to pass to gdb when invoked with "make run". 224GDBFLAGS = 225 226# Helper code from gnulib. 227GNULIB_BUILDDIR = build-gnulib 228LIBGNU = $(GNULIB_BUILDDIR)/import/libgnu.a 229INCGNU = -I$(srcdir)/gnulib/import -I$(GNULIB_BUILDDIR)/import 230 231# Generated headers in the gnulib directory. These must be listed 232# so that they are generated before other files are compiled. 233GNULIB_H = $(GNULIB_BUILDDIR)/import/string.h @GNULIB_STDINT_H@ 234 235# 236# CLI sub directory definitons 237# 238SUBDIR_CLI_SRCS = \ 239 cli/cli-cmds.c \ 240 cli/cli-decode.c \ 241 cli/cli-dump.c \ 242 cli/cli-interp.c \ 243 cli/cli-logging.c \ 244 cli/cli-script.c \ 245 cli/cli-setshow.c \ 246 cli/cli-style.c \ 247 cli/cli-utils.c 248 249SUBDIR_CLI_OBS = $(patsubst %.c,%.o,$(SUBDIR_CLI_SRCS)) 250 251# 252# MI sub directory definitons 253# 254SUBDIR_MI_SRCS = \ 255 mi/mi-cmd-break.c \ 256 mi/mi-cmd-catch.c \ 257 mi/mi-cmd-disas.c \ 258 mi/mi-cmd-env.c \ 259 mi/mi-cmd-file.c \ 260 mi/mi-cmd-info.c \ 261 mi/mi-cmd-stack.c \ 262 mi/mi-cmd-target.c \ 263 mi/mi-cmd-var.c \ 264 mi/mi-cmds.c \ 265 mi/mi-console.c \ 266 mi/mi-getopt.c \ 267 mi/mi-interp.c \ 268 mi/mi-main.c \ 269 mi/mi-out.c \ 270 mi/mi-parse.c \ 271 mi/mi-symbol-cmds.c 272 273SUBDIR_MI_OBS = $(patsubst %.c,%.o,$(SUBDIR_MI_SRCS)) 274 275SUBDIR_MI_DEPS = 276SUBDIR_MI_LDFLAGS = 277SUBDIR_MI_CFLAGS = 278 279# 280# TUI sub directory definitions 281# 282SUBDIR_TUI_SRCS = \ 283 tui/tui.c \ 284 tui/tui-command.c \ 285 tui/tui-data.c \ 286 tui/tui-disasm.c \ 287 tui/tui-file.c \ 288 tui/tui-hooks.c \ 289 tui/tui-interp.c \ 290 tui/tui-io.c \ 291 tui/tui-layout.c \ 292 tui/tui-out.c \ 293 tui/tui-regs.c \ 294 tui/tui-source.c \ 295 tui/tui-stack.c \ 296 tui/tui-win.c \ 297 tui/tui-windata.c \ 298 tui/tui-wingeneral.c \ 299 tui/tui-winsource.c 300 301SUBDIR_TUI_OBS = $(patsubst %.c,%.o,$(SUBDIR_TUI_SRCS)) 302 303SUBDIR_TUI_DEPS = 304SUBDIR_TUI_LDFLAGS = 305SUBDIR_TUI_CFLAGS = -DTUI=1 306 307# 308# GCC Compile support sub-directory definitions 309# 310SUBDIR_GCC_COMPILE_SRCS = \ 311 compile/compile.c \ 312 compile/compile-c-support.c \ 313 compile/compile-c-symbols.c \ 314 compile/compile-c-types.c \ 315 compile/compile-cplus-symbols.c \ 316 compile/compile-cplus-types.c \ 317 compile/compile-loc2c.c \ 318 compile/compile-object-load.c \ 319 compile/compile-object-run.c 320 321SUBDIR_GCC_COMPILE_OBS = $(patsubst %.c,%.o,$(filter %.c,$(SUBDIR_GCC_COMPILE_SRCS))) 322 323# 324# Guile sub directory definitons for guile support. 325# 326SUBDIR_GUILE_SRCS = \ 327 guile/guile.c \ 328 guile/scm-arch.c \ 329 guile/scm-auto-load.c \ 330 guile/scm-block.c \ 331 guile/scm-breakpoint.c \ 332 guile/scm-cmd.c \ 333 guile/scm-disasm.c \ 334 guile/scm-exception.c \ 335 guile/scm-frame.c \ 336 guile/scm-gsmob.c \ 337 guile/scm-iterator.c \ 338 guile/scm-lazy-string.c \ 339 guile/scm-math.c \ 340 guile/scm-objfile.c \ 341 guile/scm-param.c \ 342 guile/scm-ports.c \ 343 guile/scm-pretty-print.c \ 344 guile/scm-progspace.c \ 345 guile/scm-safe-call.c \ 346 guile/scm-string.c \ 347 guile/scm-symbol.c \ 348 guile/scm-symtab.c \ 349 guile/scm-type.c \ 350 guile/scm-utils.c \ 351 guile/scm-value.c 352 353SUBDIR_GUILE_OBS = $(patsubst %.c,%.o,$(SUBDIR_GUILE_SRCS)) 354 355SUBDIR_GUILE_DEPS = 356SUBDIR_GUILE_LDFLAGS = 357SUBDIR_GUILE_CFLAGS = 358 359# 360# python sub directory definitons 361# 362SUBDIR_PYTHON_SRCS = \ 363 python/py-arch.c \ 364 python/py-auto-load.c \ 365 python/py-block.c \ 366 python/py-bpevent.c \ 367 python/py-breakpoint.c \ 368 python/py-cmd.c \ 369 python/py-continueevent.c \ 370 python/py-event.c \ 371 python/py-evtregistry.c \ 372 python/py-evts.c \ 373 python/py-exitedevent.c \ 374 python/py-finishbreakpoint.c \ 375 python/py-frame.c \ 376 python/py-framefilter.c \ 377 python/py-function.c \ 378 python/py-gdb-readline.c \ 379 python/py-inferior.c \ 380 python/py-infevents.c \ 381 python/py-infthread.c \ 382 python/py-instruction.c \ 383 python/py-lazy-string.c \ 384 python/py-linetable.c \ 385 python/py-newobjfileevent.c \ 386 python/py-objfile.c \ 387 python/py-param.c \ 388 python/py-prettyprint.c \ 389 python/py-progspace.c \ 390 python/py-record.c \ 391 python/py-record-btrace.c \ 392 python/py-record-full.c \ 393 python/py-signalevent.c \ 394 python/py-stopevent.c \ 395 python/py-symbol.c \ 396 python/py-symtab.c \ 397 python/py-threadevent.c \ 398 python/py-type.c \ 399 python/py-unwind.c \ 400 python/py-utils.c \ 401 python/py-value.c \ 402 python/py-varobj.c \ 403 python/py-xmethods.c \ 404 python/python.c 405 406SUBDIR_PYTHON_OBS = $(patsubst %.c,%.o,$(SUBDIR_PYTHON_SRCS)) 407 408SUBDIR_PYTHON_DEPS = 409SUBDIR_PYTHON_LDFLAGS = 410SUBDIR_PYTHON_CFLAGS = 411 412SUBDIR_UNITTESTS_SRCS = \ 413 unittests/array-view-selftests.c \ 414 unittests/child-path-selftests.c \ 415 unittests/cli-utils-selftests.c \ 416 unittests/common-utils-selftests.c \ 417 unittests/copy_bitwise-selftests.c \ 418 unittests/environ-selftests.c \ 419 unittests/format_pieces-selftests.c \ 420 unittests/function-view-selftests.c \ 421 unittests/lookup_name_info-selftests.c \ 422 unittests/memory-map-selftests.c \ 423 unittests/memrange-selftests.c \ 424 unittests/offset-type-selftests.c \ 425 unittests/observable-selftests.c \ 426 unittests/optional-selftests.c \ 427 unittests/parse-connection-spec-selftests.c \ 428 unittests/ptid-selftests.c \ 429 unittests/mkdir-recursive-selftests.c \ 430 unittests/rsp-low-selftests.c \ 431 unittests/scoped_fd-selftests.c \ 432 unittests/scoped_mmap-selftests.c \ 433 unittests/scoped_restore-selftests.c \ 434 unittests/string_view-selftests.c \ 435 unittests/style-selftests.c \ 436 unittests/tracepoint-selftests.c \ 437 unittests/unpack-selftests.c \ 438 unittests/utils-selftests.c \ 439 unittests/xml-utils-selftests.c 440 441SUBDIR_UNITTESTS_OBS = $(patsubst %.c,%.o,$(SUBDIR_UNITTESTS_SRCS)) 442 443SUBDIR_TARGET_SRCS = target/waitstatus.c 444SUBDIR_TARGET_OBS = $(patsubst %.c,%.o,$(SUBDIR_TARGET_SRCS)) 445 446 447# Opcodes currently live in one of two places. Either they are in the 448# opcode library, typically ../opcodes, or they are in a header file 449# in INCLUDE_DIR. 450# Where is the "-lopcodes" library, with (some of) the opcode tables and 451# disassemblers? 452OPCODES_DIR = ../opcodes 453OPCODES_SRC = $(srcdir)/$(OPCODES_DIR) 454OPCODES = $(OPCODES_DIR)/libopcodes.a 455# Where are the other opcode tables which only have header file 456# versions? 457OP_INCLUDE = $(INCLUDE_DIR)/opcode 458OPCODES_CFLAGS = -I$(OP_INCLUDE) 459 460# The simulator is usually nonexistent; targets that include one 461# should set this to list all the .o or .a files to be linked in. 462SIM = @SIM@ 463 464WIN32LIBS = @WIN32LIBS@ 465 466# Tcl et al cflags and libraries 467TCL = @TCL_LIBRARY@ 468TCL_CFLAGS = @TCL_INCLUDE@ 469GDBTKLIBS = @GDBTKLIBS@ 470# Extra flags that the GDBTK files need: 471GDBTK_CFLAGS = @GDBTK_CFLAGS@ 472 473TK = @TK_LIBRARY@ 474TK_CFLAGS = @TK_INCLUDE@ 475 476X11_CFLAGS = @TK_XINCLUDES@ 477X11_LDFLAGS = 478X11_LIBS = 479 480WIN32LDAPP = @WIN32LDAPP@ 481 482LIBGUI = @LIBGUI@ 483GUI_CFLAGS_X = @GUI_CFLAGS_X@ 484IDE_CFLAGS = $(GUI_CFLAGS_X) $(IDE_CFLAGS_X) 485 486ALL_TCL_CFLAGS = $(TCL_CFLAGS) $(TK_CFLAGS) 487 488# The version of gdbtk we're building. This should be kept 489# in sync with GDBTK_VERSION and friends in gdbtk.h. 490GDBTK_VERSION = 1.0 491GDBTK_LIBRARY = $(datadir)/insight$(GDBTK_VERSION) 492 493# Gdbtk requires an absolute path to the source directory or 494# the testsuite won't run properly. 495GDBTK_SRC_DIR = @GDBTK_SRC_DIR@ 496 497SUBDIR_GDBTK_OBS = \ 498 gdbtk.o \ 499 gdbtk-bp.o \ 500 gdbtk-cmds.o \ 501 gdbtk-hooks.o \ 502 gdbtk-interp.o \ 503 gdbtk-register.o \ 504 gdbtk-stack.o \ 505 gdbtk-varobj.o \ 506 gdbtk-wrapper.o 507 508SUBDIR_GDBTK_SRCS = \ 509 gdbtk/generic/gdbtk.c \ 510 gdbtk/generic/gdbtk-bp.c \ 511 gdbtk/generic/gdbtk-cmds.c \ 512 gdbtk/generic/gdbtk-hooks.c \ 513 gdbtk/generic/gdbtk-interp.c \ 514 gdbtk/generic/gdbtk-main.c \ 515 gdbtk/generic/gdbtk-register.c \ 516 gdbtk/generic/gdbtk-stack.c \ 517 gdbtk/generic/gdbtk-varobj.c \ 518 gdbtk/generic/gdbtk-wrapper.c 519 520SUBDIR_GDBTK_DEPS = $(LIBGUI) $(TCL_DEPS) $(TK_DEPS) 521SUBDIR_GDBTK_LDFLAGS = 522SUBDIR_GDBTK_CFLAGS = -DGDBTK 523 524CONFIG_OBS = @CONFIG_OBS@ 525CONFIG_SRCS = @CONFIG_SRCS@ 526CONFIG_DEPS = @CONFIG_DEPS@ 527CONFIG_LDFLAGS = @CONFIG_LDFLAGS@ 528ENABLE_CFLAGS = @ENABLE_CFLAGS@ 529CONFIG_ALL = @CONFIG_ALL@ 530CONFIG_CLEAN = @CONFIG_CLEAN@ 531CONFIG_INSTALL = @CONFIG_INSTALL@ 532CONFIG_UNINSTALL = @CONFIG_UNINSTALL@ 533HAVE_NATIVE_GCORE_TARGET = @HAVE_NATIVE_GCORE_TARGET@ 534 535CONFIG_SRC_SUBDIR = arch cli mi common compile tui unittests guile python \ 536 target nat 537CONFIG_DEP_SUBDIR = $(addsuffix /$(DEPDIR),$(CONFIG_SRC_SUBDIR)) 538 539# -I. for config files. 540# -I$(srcdir) for gdb internal headers. 541# -I$(srcdir)/config for more generic config files. 542 543# It is also possible that you will need to add -I/usr/include/sys if 544# your system doesn't have fcntl.h in /usr/include (which is where it 545# should be according to Posix). 546DEFS = @DEFS@ 547GDB_CFLAGS = -I. -I$(srcdir) -I$(srcdir)/config \ 548 -DLOCALEDIR="\"$(localedir)\"" $(DEFS) 549 550# MH_CFLAGS, if defined, has host-dependent CFLAGS from the config directory. 551GLOBAL_CFLAGS = $(MH_CFLAGS) 552 553PROFILE_CFLAGS = @PROFILE_CFLAGS@ 554 555# These are specifically reserved for setting from the command line 556# when running make. I.E.: "make CFLAGS=-Wmissing-prototypes". 557CFLAGS = @CFLAGS@ 558CXXFLAGS = @CXXFLAGS@ 559CPPFLAGS = @CPPFLAGS@ 560 561# Set by configure, for e.g. expat. Python installations are such that 562# C headers are included using their basename (for example, we #include 563# <Python.h> rather than, say, <python/Python.h>). Since the file names 564# are sometimes a little generic, we think that the risk of collision 565# with other header files is high. If that happens, we try to mitigate 566# a bit the consequences by putting the Python includes last in the list. 567INTERNAL_CPPFLAGS = $(CPPFLAGS) @GUILE_CPPFLAGS@ @PYTHON_CPPFLAGS@ 568 569# INTERNAL_CFLAGS is the aggregate of all other *CFLAGS macros. 570INTERNAL_CFLAGS_BASE = \ 571 $(CXXFLAGS) $(GLOBAL_CFLAGS) $(PROFILE_CFLAGS) \ 572 $(GDB_CFLAGS) $(OPCODES_CFLAGS) $(READLINE_CFLAGS) $(ZLIBINC) \ 573 $(BFD_CFLAGS) $(INCLUDE_CFLAGS) $(LIBDECNUMBER_CFLAGS) \ 574 $(INTL_CFLAGS) $(INCGNU) $(ENABLE_CFLAGS) $(INTERNAL_CPPFLAGS) \ 575 $(SRCHIGH_CFLAGS) 576INTERNAL_WARN_CFLAGS = $(INTERNAL_CFLAGS_BASE) $(GDB_WARN_CFLAGS) 577INTERNAL_CFLAGS = $(INTERNAL_WARN_CFLAGS) $(GDB_WERROR_CFLAGS) 578 579# LDFLAGS is specifically reserved for setting from the command line 580# when running make. 581LDFLAGS = @LDFLAGS@ 582 583# Profiling options need to go here to work. 584# I think it's perfectly reasonable for a user to set -pg in CFLAGS 585# and have it work; that's why CFLAGS is here. 586# PROFILE_CFLAGS is _not_ included, however, because we use monstartup. 587INTERNAL_LDFLAGS = \ 588 $(CXXFLAGS) $(GLOBAL_CFLAGS) $(MH_LDFLAGS) \ 589 $(LDFLAGS) $(CONFIG_LDFLAGS) 590 591# Libraries and corresponding dependencies for compiling gdb. 592# XM_CLIBS, defined in *config files, have host-dependent libs. 593# LIBIBERTY appears twice on purpose. 594CLIBS = $(SIM) $(READLINE) $(OPCODES) $(BFD) $(ZLIB) $(INTL) $(LIBIBERTY) $(LIBDECNUMBER) \ 595 $(XM_CLIBS) $(GDBTKLIBS) \ 596 @LIBS@ @GUILE_LIBS@ @PYTHON_LIBS@ \ 597 $(LIBEXPAT) $(LIBLZMA) $(LIBBABELTRACE) $(LIBIPT) \ 598 $(LIBIBERTY) $(WIN32LIBS) $(LIBGNU) $(LIBICONV) $(LIBMPFR) \ 599 $(SRCHIGH_LIBS) 600CDEPS = $(NAT_CDEPS) $(SIM) $(BFD) $(READLINE_DEPS) \ 601 $(OPCODES) $(INTL_DEPS) $(LIBIBERTY) $(CONFIG_DEPS) $(LIBGNU) 602 603DIST = gdb 604 605RUNTEST = runtest 606RUNTESTFLAGS = 607 608# XML files to build in to GDB. 609XMLFILES = \ 610 $(srcdir)/features/btrace.dtd \ 611 $(srcdir)/features/btrace-conf.dtd \ 612 $(srcdir)/features/gdb-target.dtd \ 613 $(srcdir)/features/library-list.dtd \ 614 $(srcdir)/features/library-list-aix.dtd \ 615 $(srcdir)/features/library-list-svr4.dtd \ 616 $(srcdir)/features/osdata.dtd \ 617 $(srcdir)/features/threads.dtd \ 618 $(srcdir)/features/traceframe-info.dtd \ 619 $(srcdir)/features/xinclude.dtd 620 621# Build the ser-*.o files the host supports. This includes ser-unix.o 622# for any system that supports a POSIX interface to the serial port. 623# See configure.ac. 624SER_HARDWIRE = @SER_HARDWIRE@ 625 626# This is remote-sim.o if a simulator is to be linked in. 627SIM_OBS = @SIM_OBS@ 628 629# Target-dependent object files. 630TARGET_OBS = @TARGET_OBS@ 631 632# All target-dependent objects files that require 64-bit CORE_ADDR 633# (used with --enable-targets=all --enable-64-bit-bfd). 634ALL_64_TARGET_OBS = \ 635 aarch64-fbsd-tdep.o \ 636 aarch64-linux-tdep.o \ 637 aarch64-newlib-tdep.o \ 638 aarch64-ravenscar-thread.o \ 639 aarch64-tdep.o \ 640 alpha-bsd-tdep.o \ 641 alpha-linux-tdep.o \ 642 alpha-mdebug-tdep.o \ 643 alpha-nbsd-tdep.o \ 644 alpha-obsd-tdep.o \ 645 alpha-tdep.o \ 646 amd64-darwin-tdep.o \ 647 amd64-dicos-tdep.o \ 648 amd64-fbsd-tdep.o \ 649 amd64-linux-tdep.o \ 650 amd64-nbsd-tdep.o \ 651 amd64-obsd-tdep.o \ 652 amd64-sol2-tdep.o \ 653 amd64-tdep.o \ 654 amd64-windows-tdep.o \ 655 arch/aarch64.o \ 656 arch/aarch64-insn.o \ 657 arch/amd64.o \ 658 ia64-linux-tdep.o \ 659 ia64-tdep.o \ 660 ia64-vms-tdep.o \ 661 mips64-obsd-tdep.o \ 662 sparc64-fbsd-tdep.o \ 663 sparc64-linux-tdep.o \ 664 sparc64-nbsd-tdep.o \ 665 sparc64-obsd-tdep.o \ 666 sparc64-sol2-tdep.o \ 667 sparc64-tdep.o 668 669# All other target-dependent objects files (used with --enable-targets=all). 670ALL_TARGET_OBS = \ 671 arc-tdep.o \ 672 arch/arm.o \ 673 arch/arm-get-next-pcs.o \ 674 arch/arm-linux.o \ 675 arch/i386.o \ 676 arch/ppc-linux-common.o \ 677 arch/riscv.o \ 678 arm-bsd-tdep.o \ 679 arm-fbsd-tdep.o \ 680 arm-linux-tdep.o \ 681 arm-nbsd-tdep.o \ 682 arm-obsd-tdep.o \ 683 arm-pikeos-tdep.o \ 684 arm-symbian-tdep.o \ 685 arm-tdep.o \ 686 arm-wince-tdep.o \ 687 avr-tdep.o \ 688 bfin-linux-tdep.o \ 689 bfin-tdep.o \ 690 bsd-uthread.o \ 691 cris-linux-tdep.o \ 692 cris-tdep.o \ 693 csky-linux-tdep.o \ 694 csky-tdep.o \ 695 dicos-tdep.o \ 696 fbsd-tdep.o \ 697 frv-linux-tdep.o \ 698 frv-tdep.o \ 699 ft32-tdep.o \ 700 glibc-tdep.o \ 701 h8300-tdep.o \ 702 hppa-bsd-tdep.o \ 703 hppa-linux-tdep.o \ 704 hppa-nbsd-tdep.o \ 705 hppa-obsd-tdep.o \ 706 hppa-tdep.o \ 707 i386-bsd-tdep.o \ 708 i386-cygwin-tdep.o \ 709 i386-darwin-tdep.o \ 710 i386-dicos-tdep.o \ 711 i386-fbsd-tdep.o \ 712 i386-gnu-tdep.o \ 713 i386-go32-tdep.o \ 714 i386-linux-tdep.o \ 715 i386-nbsd-tdep.o \ 716 i386-nto-tdep.o \ 717 i386-obsd-tdep.o \ 718 i386-sol2-tdep.o \ 719 i386-tdep.o \ 720 i387-tdep.o \ 721 iq2000-tdep.o \ 722 linux-record.o \ 723 linux-tdep.o \ 724 lm32-tdep.o \ 725 m32c-tdep.o \ 726 m32r-linux-tdep.o \ 727 m32r-tdep.o \ 728 m68hc11-tdep.o \ 729 m68k-bsd-tdep.o \ 730 m68k-linux-tdep.o \ 731 m68k-tdep.o \ 732 mep-tdep.o \ 733 microblaze-linux-tdep.o \ 734 microblaze-tdep.o \ 735 mips-fbsd-tdep.o \ 736 mips-linux-tdep.o \ 737 mips-nbsd-tdep.o \ 738 mips-sde-tdep.o \ 739 mips-tdep.o \ 740 mn10300-linux-tdep.o \ 741 mn10300-tdep.o \ 742 moxie-tdep.o \ 743 msp430-tdep.o \ 744 nbsd-tdep.o \ 745 nds32-tdep.o \ 746 nios2-linux-tdep.o \ 747 nios2-tdep.o \ 748 nto-tdep.o \ 749 obsd-tdep.o \ 750 or1k-linux-tdep.o \ 751 or1k-tdep.o \ 752 ppc-fbsd-tdep.o \ 753 ppc-linux-tdep.o \ 754 ppc-nbsd-tdep.o \ 755 ppc-obsd-tdep.o \ 756 ppc-ravenscar-thread.o \ 757 ppc-sysv-tdep.o \ 758 ppc64-tdep.o \ 759 ravenscar-thread.o \ 760 riscv-fbsd-tdep.o \ 761 riscv-linux-tdep.o \ 762 riscv-tdep.o \ 763 rl78-tdep.o \ 764 rs6000-aix-tdep.o \ 765 rs6000-lynx178-tdep.o \ 766 rs6000-tdep.o \ 767 rx-tdep.o \ 768 s12z-tdep.o \ 769 s390-linux-tdep.o \ 770 s390-tdep.o \ 771 score-tdep.o \ 772 sh-linux-tdep.o \ 773 sh-nbsd-tdep.o \ 774 sh-tdep.o \ 775 sol2-tdep.o \ 776 solib-aix.o \ 777 solib-darwin.o \ 778 solib-dsbt.o \ 779 solib-frv.o \ 780 solib-spu.o \ 781 solib-svr4.o \ 782 sparc-linux-tdep.o \ 783 sparc-nbsd-tdep.o \ 784 sparc-obsd-tdep.o \ 785 sparc-ravenscar-thread.o \ 786 sparc-sol2-tdep.o \ 787 sparc-tdep.o \ 788 spu-multiarch.o \ 789 spu-tdep.o \ 790 symfile-mem.o \ 791 tic6x-linux-tdep.o \ 792 tic6x-tdep.o \ 793 tilegx-linux-tdep.o \ 794 tilegx-tdep.o \ 795 v850-tdep.o \ 796 vax-nbsd-tdep.o \ 797 vax-tdep.o \ 798 windows-tdep.o \ 799 x86-tdep.o \ 800 xcoffread.o \ 801 xstormy16-tdep.o \ 802 xtensa-config.o \ 803 xtensa-linux-tdep.o \ 804 xtensa-tdep.o 805 806# The following native-target dependent variables are defined on 807# configure.nat. 808NAT_FILE = @NAT_FILE@ 809NATDEPFILES = @NATDEPFILES@ 810NAT_CDEPS = @NAT_CDEPS@ 811LOADLIBES = @LOADLIBES@ 812MH_CFLAGS = @MH_CFLAGS@ 813XM_CLIBS = @XM_CLIBS@ 814NAT_GENERATED_FILES = @NAT_GENERATED_FILES@ 815HAVE_NATIVE_GCORE_HOST = @HAVE_NATIVE_GCORE_HOST@ 816 817# Native-target dependent makefile fragment comes in here. 818@nat_makefile_frag@ 819 820# End of native-target dependent variables. 821 822FLAGS_TO_PASS = \ 823 "prefix=$(prefix)" \ 824 "exec_prefix=$(exec_prefix)" \ 825 "infodir=$(infodir)" \ 826 "datarootdir=$(datarootdir)" \ 827 "docdir=$(docdir)" \ 828 "htmldir=$(htmldir)" \ 829 "pdfdir=$(pdfdir)" \ 830 "libdir=$(libdir)" \ 831 "mandir=$(mandir)" \ 832 "datadir=$(datadir)" \ 833 "includedir=$(includedir)" \ 834 "against=$(against)" \ 835 "DESTDIR=$(DESTDIR)" \ 836 "AR=$(AR)" \ 837 "AR_FLAGS=$(AR_FLAGS)" \ 838 "CC=$(CC)" \ 839 "CFLAGS=$(CFLAGS)" \ 840 "CXX=$(CXX)" \ 841 "CXX_DIALECT=$(CXX_DIALECT)" \ 842 "CXXFLAGS=$(CXXFLAGS)" \ 843 "DLLTOOL=$(DLLTOOL)" \ 844 "LDFLAGS=$(LDFLAGS)" \ 845 "RANLIB=$(RANLIB)" \ 846 "MAKEINFO=$(MAKEINFO)" \ 847 "MAKEINFOFLAGS=$(MAKEINFOFLAGS)" \ 848 "MAKEINFO_EXTRA_FLAGS=$(MAKEINFO_EXTRA_FLAGS)" \ 849 "MAKEHTML=$(MAKEHTML)" \ 850 "MAKEHTMLFLAGS=$(MAKEHTMLFLAGS)" \ 851 "INSTALL=$(INSTALL)" \ 852 "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ 853 "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \ 854 "INSTALL_DATA=$(INSTALL_DATA)" \ 855 "RUNTEST=$(RUNTEST)" \ 856 "RUNTESTFLAGS=$(RUNTESTFLAGS)" 857 858# Flags that we pass when building the testsuite. 859 860# empty for native, $(target_alias)/ for cross 861target_subdir = @target_subdir@ 862 863CC_FOR_TARGET = ` \ 864 if [ -f $${rootme}/../gcc/xgcc ] ; then \ 865 if [ -f $${rootme}/../$(target_subdir)newlib/Makefile ] ; then \ 866 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/; \ 867 else \ 868 echo $${rootme}/../gcc/xgcc -B$${rootme}/../gcc/; \ 869 fi; \ 870 else \ 871 if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ 872 echo $(CC); \ 873 else \ 874 t='$(program_transform_name)'; echo gcc | sed -e '' $$t; \ 875 fi; \ 876 fi` 877 878CXX_FOR_TARGET = ` \ 879 if [ -f $${rootme}/../gcc/xg++ ] ; then \ 880 if [ -f $${rootme}/../$(target_subdir)newlib/Makefile ] ; then \ 881 echo $${rootme}/../gcc/xg++ -B$${rootme}/../gcc/ -idirafter $${rootme}/$(target_subdir)newlib/targ-include -idirafter $${rootsrc}/../$(target_subdir)newlib/libc/include -nostdinc -B$${rootme}/../$(target_subdir)newlib/; \ 882 else \ 883 echo $${rootme}/../gcc/xg++ -B$${rootme}/../gcc/; \ 884 fi; \ 885 else \ 886 if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ 887 echo $(CXX); \ 888 else \ 889 t='$(program_transform_name)'; echo g++ | sed -e '' $$t; \ 890 fi; \ 891 fi` 892 893# The use of $$(x_FOR_TARGET) reduces the command line length by not 894# duplicating the lengthy definition. 895TARGET_FLAGS_TO_PASS = \ 896 "prefix=$(prefix)" \ 897 "exec_prefix=$(exec_prefix)" \ 898 "against=$(against)" \ 899 'CC=$$(CC_FOR_TARGET)' \ 900 "CC_FOR_TARGET=$(CC_FOR_TARGET)" \ 901 "CFLAGS=$(CFLAGS)" \ 902 'CXX=$$(CXX_FOR_TARGET)' \ 903 "CXX_FOR_TARGET=$(CXX_FOR_TARGET)" \ 904 "CXXFLAGS=$(CXXFLAGS)" \ 905 "INSTALL=$(INSTALL)" \ 906 "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ 907 "INSTALL_DATA=$(INSTALL_DATA)" \ 908 "MAKEINFO=$(MAKEINFO)" \ 909 "MAKEHTML=$(MAKEHTML)" \ 910 "RUNTEST=$(RUNTEST)" \ 911 "RUNTESTFLAGS=$(RUNTESTFLAGS)" \ 912 "FORCE_PARALLEL=$(FORCE_PARALLEL)" \ 913 "TESTS=$(TESTS)" 914 915# All source files that go into linking GDB. 916 917# Files that should wind up in SFILES and whose corresponding .o 918# should be in COMMON_OBS. 919COMMON_SFILES = \ 920 ada-lang.c \ 921 ada-tasks.c \ 922 ada-typeprint.c \ 923 ada-valprint.c \ 924 ada-varobj.c \ 925 addrmap.c \ 926 agent.c \ 927 annotate.c \ 928 arch-utils.c \ 929 auto-load.c \ 930 auxv.c \ 931 ax-gdb.c \ 932 ax-general.c \ 933 bcache.c \ 934 bfd-target.c \ 935 block.c \ 936 blockframe.c \ 937 break-catch-sig.c \ 938 break-catch-syscall.c \ 939 break-catch-throw.c \ 940 breakpoint.c \ 941 btrace.c \ 942 build-id.c \ 943 buildsym-legacy.c \ 944 buildsym.c \ 945 c-lang.c \ 946 c-typeprint.c \ 947 c-valprint.c \ 948 c-varobj.c \ 949 charset.c \ 950 cli-out.c \ 951 coff-pe-read.c \ 952 coffread.c \ 953 common/agent.c \ 954 common/btrace-common.c \ 955 common/buffer.c \ 956 common/cleanups.c \ 957 common/common-debug.c \ 958 common/common-exceptions.c \ 959 common/common-regcache.c \ 960 common/common-utils.c \ 961 common/errors.c \ 962 common/environ.c \ 963 common/fileio.c \ 964 common/filestuff.c \ 965 common/format.c \ 966 common/job-control.c \ 967 common/gdb_tilde_expand.c \ 968 common/gdb_vecs.c \ 969 common/netstuff.c \ 970 common/new-op.c \ 971 common/pathstuff.c \ 972 common/print-utils.c \ 973 common/ptid.c \ 974 common/rsp-low.c \ 975 common/run-time-clock.c \ 976 common/scoped_mmap.c \ 977 common/signals.c \ 978 common/signals-state-save-restore.c \ 979 common/tdesc.c \ 980 common/vec.c \ 981 common/xml-utils.c \ 982 complaints.c \ 983 completer.c \ 984 continuations.c \ 985 copying.c \ 986 corefile.c \ 987 corelow.c \ 988 cp-abi.c \ 989 cp-namespace.c \ 990 cp-support.c \ 991 cp-valprint.c \ 992 ctf.c \ 993 d-lang.c \ 994 d-namespace.c \ 995 d-valprint.c \ 996 dbxread.c \ 997 dcache.c \ 998 debug.c \ 999 demangle.c \ 1000 dictionary.c \ 1001 disasm.c \ 1002 disasm-selftests.c \ 1003 dummy-frame.c \ 1004 dwarf-index-cache.c \ 1005 dwarf-index-common.c \ 1006 dwarf-index-write.c \ 1007 dwarf2-frame.c \ 1008 dwarf2-frame-tailcall.c \ 1009 dwarf2expr.c \ 1010 dwarf2loc.c \ 1011 dwarf2read.c \ 1012 eval.c \ 1013 event-loop.c \ 1014 event-top.c \ 1015 exceptions.c \ 1016 exec.c \ 1017 expprint.c \ 1018 extension.c \ 1019 f-lang.c \ 1020 f-typeprint.c \ 1021 f-valprint.c \ 1022 filename-seen-cache.c \ 1023 filesystem.c \ 1024 findcmd.c \ 1025 findvar.c \ 1026 frame.c \ 1027 frame-base.c \ 1028 frame-unwind.c \ 1029 gcore.c \ 1030 gdb_bfd.c \ 1031 gdb-dlfcn.c \ 1032 gdb_obstack.c \ 1033 gdb_regex.c \ 1034 gdb_usleep.c \ 1035 gdbarch.c \ 1036 gdbarch-selftests.c \ 1037 gdbtypes.c \ 1038 gnu-v2-abi.c \ 1039 gnu-v3-abi.c \ 1040 go-lang.c \ 1041 go-typeprint.c \ 1042 go-valprint.c \ 1043 inf-child.c \ 1044 inf-loop.c \ 1045 infcall.c \ 1046 infcmd.c \ 1047 inferior.c \ 1048 inflow.c \ 1049 infrun.c \ 1050 inline-frame.c \ 1051 interps.c \ 1052 jit.c \ 1053 language.c \ 1054 linespec.c \ 1055 location.c \ 1056 m2-lang.c \ 1057 m2-typeprint.c \ 1058 m2-valprint.c \ 1059 macrocmd.c \ 1060 macroexp.c \ 1061 macroscope.c \ 1062 macrotab.c \ 1063 main.c \ 1064 maint.c \ 1065 mdebugread.c \ 1066 mem-break.c \ 1067 memattr.c \ 1068 memory-map.c \ 1069 memrange.c \ 1070 minidebug.c \ 1071 minsyms.c \ 1072 mipsread.c \ 1073 namespace.c \ 1074 objc-lang.c \ 1075 objfiles.c \ 1076 observable.c \ 1077 opencl-lang.c \ 1078 osabi.c \ 1079 osdata.c \ 1080 p-lang.c \ 1081 p-typeprint.c \ 1082 p-valprint.c \ 1083 parse.c \ 1084 printcmd.c \ 1085 probe.c \ 1086 process-stratum-target.c \ 1087 producer.c \ 1088 progspace.c \ 1089 progspace-and-thread.c \ 1090 prologue-value.c \ 1091 psymtab.c \ 1092 record.c \ 1093 record-btrace.c \ 1094 record-full.c \ 1095 regcache.c \ 1096 regcache-dump.c \ 1097 reggroups.c \ 1098 registry.c \ 1099 remote.c \ 1100 remote-fileio.c \ 1101 remote-notif.c \ 1102 reverse.c \ 1103 rust-lang.c \ 1104 sentinel-frame.c \ 1105 ser-event.c \ 1106 serial.c \ 1107 skip.c \ 1108 solib.c \ 1109 solib-target.c \ 1110 source.c \ 1111 source-cache.c \ 1112 stabsread.c \ 1113 stack.c \ 1114 std-regs.c \ 1115 symfile.c \ 1116 symfile-debug.c \ 1117 symmisc.c \ 1118 symtab.c \ 1119 target.c \ 1120 target-dcache.c \ 1121 target-descriptions.c \ 1122 target-memory.c \ 1123 test-target.c \ 1124 thread.c \ 1125 thread-iter.c \ 1126 tid-parse.c \ 1127 top.c \ 1128 tracefile.c \ 1129 tracefile-tfile.c \ 1130 tracepoint.c \ 1131 trad-frame.c \ 1132 tramp-frame.c \ 1133 target-float.c \ 1134 typeprint.c \ 1135 ui-file.c \ 1136 ui-out.c \ 1137 ui-style.c \ 1138 user-regs.c \ 1139 utils.c \ 1140 valarith.c \ 1141 valops.c \ 1142 valprint.c \ 1143 value.c \ 1144 varobj.c \ 1145 xml-support.c \ 1146 xml-syscall.c \ 1147 xml-tdesc.c 1148 1149# Links made at configuration time should not be specified here, since 1150# SFILES is used in building the distribution archive. 1151SFILES = \ 1152 ada-exp.y \ 1153 arch/i386.c \ 1154 c-exp.y \ 1155 cp-name-parser.y \ 1156 d-exp.y \ 1157 dtrace-probe.c \ 1158 elfread.c \ 1159 f-exp.y \ 1160 gdb.c \ 1161 go-exp.y \ 1162 m2-exp.y \ 1163 p-exp.y \ 1164 proc-service.list \ 1165 rust-exp.y \ 1166 ser-base.c \ 1167 ser-unix.c \ 1168 sol-thread.c \ 1169 stap-probe.c \ 1170 stub-termcap.c \ 1171 symfile-mem.c \ 1172 ui-file.h \ 1173 mi/mi-common.c \ 1174 $(SUBDIR_CLI_SRCS) \ 1175 $(SUBDIR_TARGET_SRCS) \ 1176 $(COMMON_SFILES) \ 1177 $(SUBDIR_GCC_COMPILE_SRCS) 1178 1179# Header files that need to have srcdir added. Note that in the cases 1180# where we use a macro like $(gdbcmd_h), things are carefully arranged 1181# so that each .h file is listed exactly once (M-x tags-search works 1182# wrong if TAGS has files twice). Because this is tricky to get 1183# right, it is probably easiest just to list .h files here directly. 1184 1185HFILES_NO_SRCDIR = \ 1186 aarch64-ravenscar-thread.h \ 1187 aarch64-tdep.h \ 1188 ada-lang.h \ 1189 addrmap.h \ 1190 alpha-bsd-tdep.h \ 1191 alpha-tdep.h \ 1192 amd64-darwin-tdep.h \ 1193 amd64-linux-tdep.h \ 1194 amd64-nat.h \ 1195 amd64-tdep.h \ 1196 annotate.h \ 1197 arc-tdep.h \ 1198 arch-utils.h \ 1199 arm-linux-tdep.h \ 1200 arm-tdep.h \ 1201 auto-load.h \ 1202 auxv.h \ 1203 ax.h \ 1204 ax-gdb.h \ 1205 bcache.h \ 1206 bfd-target.h \ 1207 bfin-tdep.h \ 1208 block.h \ 1209 breakpoint.h \ 1210 bsd-kvm.h \ 1211 bsd-uthread.h \ 1212 build-id.h \ 1213 buildsym-legacy.h \ 1214 buildsym.h \ 1215 c-lang.h \ 1216 charset.h \ 1217 charset-list.h \ 1218 cli-out.h \ 1219 coff-pe-read.h \ 1220 command.h \ 1221 complaints.h \ 1222 completer.h \ 1223 cp-abi.h \ 1224 cp-support.h \ 1225 csky-tdep.h \ 1226 ctf.h \ 1227 d-lang.h \ 1228 darwin-nat.h \ 1229 dcache.h \ 1230 defs.h \ 1231 dicos-tdep.h \ 1232 dictionary.h \ 1233 disasm.h \ 1234 dummy-frame.h \ 1235 dwarf-index-cache.h \ 1236 dwarf-index-common.h \ 1237 dwarf2-frame.h \ 1238 dwarf2-frame-tailcall.h \ 1239 dwarf2expr.h \ 1240 dwarf2loc.h \ 1241 dwarf2read.h \ 1242 event-loop.h \ 1243 event-top.h \ 1244 exceptions.h \ 1245 exec.h \ 1246 expression.h \ 1247 extension.h \ 1248 extension-priv.h \ 1249 f-lang.h \ 1250 fbsd-nat.h \ 1251 fbsd-tdep.h \ 1252 filesystem.h \ 1253 frame.h \ 1254 frame-base.h \ 1255 frame-unwind.h \ 1256 frv-tdep.h \ 1257 ft32-tdep.h \ 1258 gcore.h \ 1259 gdb_bfd.h \ 1260 gdb_curses.h \ 1261 gdb-dlfcn.h \ 1262 gdb_expat.h \ 1263 gdb_obstack.h \ 1264 gdb_proc_service.h \ 1265 gdb_regex.h \ 1266 gdb_select.h \ 1267 gdb-stabs.h \ 1268 gdb_usleep.h \ 1269 gdb_vfork.h \ 1270 gdb_wchar.h \ 1271 gdbarch.h \ 1272 gdbcmd.h \ 1273 gdbcore.h \ 1274 gdbthread.h \ 1275 gdbtypes.h \ 1276 glibc-tdep.h \ 1277 gnu-nat.h \ 1278 go-lang.h \ 1279 gregset.h \ 1280 hppa-bsd-tdep.h \ 1281 hppa-linux-offsets.h \ 1282 hppa-tdep.h \ 1283 i386-bsd-nat.h \ 1284 i386-darwin-tdep.h \ 1285 i386-linux-nat.h \ 1286 i386-linux-tdep.h \ 1287 i386-tdep.h \ 1288 i387-tdep.h \ 1289 ia64-libunwind-tdep.h \ 1290 ia64-tdep.h \ 1291 inf-child.h \ 1292 inf-loop.h \ 1293 inf-ptrace.h \ 1294 infcall.h \ 1295 inferior.h \ 1296 inflow.h \ 1297 inline-frame.h \ 1298 interps.h \ 1299 jit.h \ 1300 language.h \ 1301 linespec.h \ 1302 linux-fork.h \ 1303 linux-nat.h \ 1304 linux-record.h \ 1305 linux-tdep.h \ 1306 location.h \ 1307 m2-lang.h \ 1308 m32r-tdep.h \ 1309 m68k-tdep.h \ 1310 macroexp.h \ 1311 macroscope.h \ 1312 macrotab.h \ 1313 main.h \ 1314 mdebugread.h \ 1315 memattr.h \ 1316 memory-map.h \ 1317 memrange.h \ 1318 microblaze-tdep.h \ 1319 mips-linux-tdep.h \ 1320 mips-nbsd-tdep.h \ 1321 mips-tdep.h \ 1322 mn10300-tdep.h \ 1323 moxie-tdep.h \ 1324 nbsd-nat.h \ 1325 nbsd-tdep.h \ 1326 nds32-tdep.h \ 1327 nios2-tdep.h \ 1328 nto-tdep.h \ 1329 objc-lang.h \ 1330 objfiles.h \ 1331 obsd-nat.h \ 1332 obsd-tdep.h \ 1333 osabi.h \ 1334 osdata.h \ 1335 p-lang.h \ 1336 parser-defs.h \ 1337 ppc-fbsd-tdep.h \ 1338 ppc-linux-tdep.h \ 1339 ppc-nbsd-tdep.h \ 1340 ppc-obsd-tdep.h \ 1341 ppc-ravenscar-thread.h \ 1342 ppc-tdep.h \ 1343 ppc64-tdep.h \ 1344 probe.h \ 1345 proc-utils.h \ 1346 procfs.h \ 1347 progspace.h \ 1348 progspace-and-thread.h \ 1349 prologue-value.h \ 1350 psympriv.h \ 1351 psymtab.h \ 1352 ravenscar-thread.h \ 1353 record.h \ 1354 record-full.h \ 1355 regcache.h \ 1356 reggroups.h \ 1357 regset.h \ 1358 remote.h \ 1359 remote-fileio.h \ 1360 remote-notif.h \ 1361 riscv-fbsd-tdep.h \ 1362 riscv-tdep.h \ 1363 rs6000-aix-tdep.h \ 1364 rs6000-tdep.h \ 1365 s390-linux-tdep.h \ 1366 s390-tdep.h \ 1367 score-tdep.h \ 1368 selftest-arch.h \ 1369 sentinel-frame.h \ 1370 ser-base.h \ 1371 ser-event.h \ 1372 ser-tcp.h \ 1373 ser-unix.h \ 1374 serial.h \ 1375 sh-tdep.h \ 1376 sim-regno.h \ 1377 skip.h \ 1378 sol2-tdep.h \ 1379 solib.h \ 1380 solib-aix.h \ 1381 solib-darwin.h \ 1382 solib-spu.h \ 1383 solib-svr4.h \ 1384 solib-target.h \ 1385 solist.h \ 1386 source.h \ 1387 source-cache.h \ 1388 sparc-nat.h \ 1389 sparc-ravenscar-thread.h \ 1390 sparc-tdep.h \ 1391 sparc64-tdep.h \ 1392 spu-tdep.h \ 1393 stabsread.h \ 1394 stack.h \ 1395 stap-probe.h \ 1396 symfile.h \ 1397 symtab.h \ 1398 target.h \ 1399 target-dcache.h \ 1400 target-descriptions.h \ 1401 terminal.h \ 1402 tid-parse.h \ 1403 top.h \ 1404 tracefile.h \ 1405 tracepoint.h \ 1406 trad-frame.h \ 1407 target-float.h \ 1408 tramp-frame.h \ 1409 typeprint.h \ 1410 ui-file.h \ 1411 ui-out.h \ 1412 ui-style.h \ 1413 user-regs.h \ 1414 utils.h \ 1415 valprint.h \ 1416 value.h \ 1417 varobj.h \ 1418 varobj-iter.h \ 1419 vax-tdep.h \ 1420 windows-nat.h \ 1421 windows-tdep.h \ 1422 x86-bsd-nat.h \ 1423 x86-linux-nat.h \ 1424 x86-nat.h \ 1425 xcoffread.h \ 1426 xml-support.h \ 1427 xml-syscall.h \ 1428 xml-tdesc.h \ 1429 xtensa-tdep.h \ 1430 arch/aarch64.h \ 1431 arch/aarch64-insn.h \ 1432 arch/arm.h \ 1433 arch/i386.h \ 1434 arch/ppc-linux-common.h \ 1435 arch/ppc-linux-tdesc.h \ 1436 arch/riscv.h \ 1437 cli/cli-cmds.h \ 1438 cli/cli-decode.h \ 1439 cli/cli-script.h \ 1440 cli/cli-setshow.h \ 1441 cli/cli-style.h \ 1442 cli/cli-utils.h \ 1443 common/buffer.h \ 1444 common/cleanups.h \ 1445 common/common-debug.h \ 1446 common/common-defs.h \ 1447 common/common-exceptions.h \ 1448 common/common-gdbthread.h \ 1449 common/common-regcache.h \ 1450 common/common-types.h \ 1451 common/common-utils.h \ 1452 common/job-control.h \ 1453 common/errors.h \ 1454 common/environ.h \ 1455 common/fileio.h \ 1456 common/format.h \ 1457 common/gdb_assert.h \ 1458 common/gdb_tilde_expand.h \ 1459 common/gdb_locale.h \ 1460 common/gdb_proc_service.h \ 1461 common/gdb_setjmp.h \ 1462 common/gdb_signals.h \ 1463 common/gdb_sys_time.h \ 1464 common/gdb_vecs.h \ 1465 common/gdb_wait.h \ 1466 common/common-inferior.h \ 1467 common/netstuff.h \ 1468 common/host-defs.h \ 1469 common/pathstuff.h \ 1470 common/print-utils.h \ 1471 common/ptid.h \ 1472 common/queue.h \ 1473 common/rsp-low.h \ 1474 common/run-time-clock.h \ 1475 common/signals-state-save-restore.h \ 1476 common/symbol.h \ 1477 common/tdesc.h \ 1478 common/vec.h \ 1479 common/version.h \ 1480 common/x86-xstate.h \ 1481 common/xml-utils.h \ 1482 compile/compile.h \ 1483 compile/compile-c.h \ 1484 compile/compile-cplus.h \ 1485 compile/compile-internal.h \ 1486 compile/compile-object-load.h \ 1487 compile/compile-object-run.h \ 1488 compile/gcc-c-plugin.h \ 1489 compile/gcc-cp-plugin.h \ 1490 config/nm-linux.h \ 1491 config/nm-nto.h \ 1492 config/djgpp/langinfo.h \ 1493 config/djgpp/nl_types.h \ 1494 config/i386/nm-i386gnu.h \ 1495 config/sparc/nm-sol2.h \ 1496 gnulib/import/inttypes.in.h \ 1497 gnulib/import/stddef.in.h \ 1498 gnulib/import/stdint.in.h \ 1499 gnulib/import/str-two-way.h \ 1500 gnulib/import/string.in.h \ 1501 gnulib/import/extra/snippet/arg-nonnull.h \ 1502 gnulib/import/extra/snippet/c++defs.h \ 1503 gnulib/import/extra/snippet/warn-on-use.h \ 1504 mi/mi-cmds.h \ 1505 mi/mi-common.h \ 1506 mi/mi-console.h \ 1507 mi/mi-getopt.h \ 1508 mi/mi-main.h \ 1509 mi/mi-out.h \ 1510 mi/mi-parse.h \ 1511 nat/aarch64-linux.h \ 1512 nat/aarch64-linux-hw-point.h \ 1513 nat/aarch64-sve-linux-ptrace.h \ 1514 nat/amd64-linux-siginfo.h \ 1515 nat/gdb_ptrace.h \ 1516 nat/gdb_thread_db.h \ 1517 nat/fork-inferior.h \ 1518 nat/linux-btrace.h \ 1519 nat/linux-namespaces.h \ 1520 nat/linux-nat.h \ 1521 nat/linux-osdata.h \ 1522 nat/linux-personality.h \ 1523 nat/linux-ptrace.h \ 1524 nat/linux-waitpid.h \ 1525 nat/mips-linux-watch.h \ 1526 nat/ppc-linux.h \ 1527 nat/x86-cpuid.h \ 1528 nat/x86-dregs.h \ 1529 nat/x86-gcc-cpuid.h \ 1530 nat/x86-linux.h \ 1531 nat/x86-linux-dregs.h \ 1532 python/py-event.h \ 1533 python/py-events.h \ 1534 python/py-stopevent.h \ 1535 python/python.h \ 1536 python/python-internal.h \ 1537 regformats/regdef.h \ 1538 target/resume.h \ 1539 target/target.h \ 1540 target/wait.h \ 1541 target/waitstatus.h \ 1542 tui/tui.h \ 1543 tui/tui-command.h \ 1544 tui/tui-data.h \ 1545 tui/tui-disasm.h \ 1546 tui/tui-file.h \ 1547 tui/tui-hooks.h \ 1548 tui/tui-io.h \ 1549 tui/tui-layout.h \ 1550 tui/tui-regs.h \ 1551 tui/tui-source.h \ 1552 tui/tui-stack.h \ 1553 tui/tui-win.h \ 1554 tui/tui-windata.h \ 1555 tui/tui-wingeneral.h \ 1556 tui/tui-winsource.h \ 1557 x86-tdep.h 1558 1559# Header files that already have srcdir in them, or which are in objdir. 1560 1561HFILES_WITH_SRCDIR = \ 1562 ../bfd/bfd.h \ 1563 jit-reader.h 1564 1565# {X,T,NAT}DEPFILES are something of a pain in that it's hard to 1566# default their values the way we do for SER_HARDWIRE; in the future 1567# maybe much of the stuff now in {X,T,NAT}DEPFILES will go into other 1568# variables analogous to SER_HARDWIRE which get defaulted in this 1569# Makefile.in 1570 1571DEPFILES = $(TARGET_OBS) $(SER_HARDWIRE) $(NATDEPFILES) $(SIM_OBS) 1572 1573SOURCES = $(SFILES) $(ALLDEPFILES) $(YYFILES) $(CONFIG_SRCS) 1574# Don't include YYFILES (*.c) because we already include *.y in SFILES, 1575# and it's more useful to see it in the .y file. 1576TAGFILES_NO_SRCDIR = $(SFILES) $(HFILES_NO_SRCDIR) $(ALLDEPFILES) \ 1577 $(CONFIG_SRCS) 1578TAGFILES_WITH_SRCDIR = $(HFILES_WITH_SRCDIR) 1579 1580COMMON_OBS = $(DEPFILES) $(CONFIG_OBS) $(YYOBJ) \ 1581 mi/mi-common.o \ 1582 version.o \ 1583 xml-builtin.o \ 1584 $(patsubst %.c,%.o,$(COMMON_SFILES)) \ 1585 $(SUBDIR_CLI_OBS) \ 1586 $(SUBDIR_TARGET_OBS) \ 1587 $(SUBDIR_GCC_COMPILE_OBS) 1588 1589SUBDIRS = doc @subdirs@ data-directory $(GNULIB_BUILDDIR) 1590CLEANDIRS = $(SUBDIRS) 1591 1592# List of subdirectories in the build tree that must exist. 1593# This is used to force build failures in existing trees when 1594# a new directory is added. 1595# The format here is for the `case' shell command. 1596REQUIRED_SUBDIRS = doc | testsuite | $(GNULIB_BUILDDIR) | data-directory 1597 1598# Parser intermediate files. 1599YYFILES = \ 1600 ada-exp.c \ 1601 ada-lex.c \ 1602 c-exp.c \ 1603 cp-name-parser.c \ 1604 d-exp.c \ 1605 f-exp.c \ 1606 go-exp.c \ 1607 m2-exp.c \ 1608 p-exp.c \ 1609 rust-exp.c 1610 1611# ada-lex.c is included by another file, so it shouldn't wind up as a 1612# .o itself. 1613YYOBJ = $(filter-out ada-lex.o,$(patsubst %.c,%.o,$(YYFILES))) 1614 1615# Things which need to be built when making a distribution. 1616 1617DISTSTUFF = $(YYFILES) 1618 1619 1620# All generated files which can be included by another file. 1621generated_files = \ 1622 ada-lex.c \ 1623 config.h \ 1624 gcore \ 1625 jit-reader.h \ 1626 $(GNULIB_H) \ 1627 $(NAT_GENERATED_FILES) 1628 1629# Flags needed to compile Python code 1630PYTHON_CFLAGS = @PYTHON_CFLAGS@ 1631 1632all: gdb$(EXEEXT) $(CONFIG_ALL) gdb-gdb.py gdb-gdb.gdb 1633 @$(MAKE) $(FLAGS_TO_PASS) DO=all "DODIRS=`echo $(SUBDIRS) | sed 's/testsuite//'`" subdir_do 1634 1635# Rule for compiling .c files in the top-level gdb directory. 1636# The order-only dependencies ensure that we create the build subdirectories. 1637%.o: %.c | $(CONFIG_DEP_SUBDIR) 1638 $(COMPILE) $< 1639 $(POSTCOMPILE) 1640 1641$(CONFIG_DEP_SUBDIR): 1642 $(SHELL) $(srcdir)/../mkinstalldirs $@ 1643 1644# Python files need special flags. 1645python/%.o: INTERNAL_CFLAGS += $(PYTHON_CFLAGS) 1646 1647# Rules for compiling .c files in the various source subdirectories. 1648%.o: $(srcdir)/gdbtk/generic/%.c 1649 $(COMPILE) $(all_gdbtk_cflags) $< 1650 $(POSTCOMPILE) 1651 1652installcheck: 1653 1654# The check target can not use subdir_do, because subdir_do does not 1655# use TARGET_FLAGS_TO_PASS. 1656check: force 1657 @if [ -f testsuite/Makefile ]; then \ 1658 rootme=`pwd`; export rootme; \ 1659 rootsrc=`cd $(srcdir); pwd`; export rootsrc; \ 1660 cd testsuite; \ 1661 $(MAKE) $(TARGET_FLAGS_TO_PASS) check; \ 1662 else true; fi 1663 1664check-perf: force 1665 @if [ -f testsuite/Makefile ]; then \ 1666 rootme=`pwd`; export rootme; \ 1667 rootsrc=`cd $(srcdir); pwd`; export rootsrc; \ 1668 cd testsuite; \ 1669 $(MAKE) $(TARGET_FLAGS_TO_PASS) check-perf; \ 1670 else true; fi 1671 1672check-read1: force 1673 @if [ -f testsuite/Makefile ]; then \ 1674 rootme=`pwd`; export rootme; \ 1675 rootsrc=`cd $(srcdir); pwd`; export rootsrc; \ 1676 cd testsuite; \ 1677 $(MAKE) $(TARGET_FLAGS_TO_PASS) check-read1; \ 1678 else true; fi 1679 1680check-parallel: force 1681 @if [ -f testsuite/Makefile ]; then \ 1682 rootme=`pwd`; export rootme; \ 1683 rootsrc=`cd $(srcdir); pwd`; export rootsrc; \ 1684 cd testsuite; \ 1685 $(MAKE) $(TARGET_FLAGS_TO_PASS) check-parallel; \ 1686 else true; fi 1687 1688# The idea is to parallelize testing of multilibs, for example: 1689# make -j3 check//sh-hms-sim/{-m1,-m2,-m3,-m3e,-m4}/{,-nofpu} 1690# will run 3 concurrent sessions of check, eventually testing all 10 1691# combinations. GNU make is required for the % pattern to work, as is 1692# a shell that expands alternations within braces. If GNU make is not 1693# used, this rule will harmlessly fail to match. Used FORCE_PARALLEL to 1694# prevent serialized checking due to the passed RUNTESTFLAGS. 1695# FIXME: use config.status --config not --version, when available. 1696check//%: force 1697 @if [ -f testsuite/config.status ]; then \ 1698 rootme=`pwd`; export rootme; \ 1699 rootsrc=`cd $(srcdir); pwd`; export rootsrc; \ 1700 target=`echo "$@" | sed 's,//.*,,'`; \ 1701 variant=`echo "$@" | sed 's,^[^/]*//,,'`; \ 1702 vardots=`echo "$$variant" | sed 's,/,.,g'`; \ 1703 testdir=testsuite.$$vardots; \ 1704 if [ ! -f $$testdir/Makefile ] && [ -f testsuite/config.status ]; then \ 1705 configargs=`cd testsuite && ./config.status --version | \ 1706 sed -n -e 's,"$$,,' -e 's,^ *with options ",,p'`; \ 1707 $(SHELL) $(srcdir)/../mkinstalldirs $$testdir && \ 1708 (cd $$testdir && \ 1709 eval $(SHELL) "\"\$$rootsrc/testsuite/configure\" $$configargs" \ 1710 "\"--srcdir=\$$rootsrc/testsuite\"" \ 1711 ); \ 1712 else :; fi && cd $$testdir && \ 1713 $(MAKE) $(TARGET_FLAGS_TO_PASS) \ 1714 RUNTESTFLAGS="--target_board=$$variant $(RUNTESTFLAGS)" \ 1715 FORCE_PARALLEL=$(if $(FORCE_PARALLEL),1,$(if $(RUNTESTFLAGS),,1)) \ 1716 "$$target"; \ 1717 else true; fi 1718 1719# The set of headers checked by 'check-headers' by default. 1720CHECK_HEADERS = $(HFILES_NO_SRCDIR) 1721 1722# Try to compile each header in isolation, thus ensuring headers are 1723# self-contained. 1724# 1725# Defaults to checking all $HFILES_NO_SRCDIR headers. 1726# 1727# Do: 1728# 1729# make check-headers CHECK_HEADERS="header.h list.h" 1730# 1731# to check specific headers. 1732# 1733check-headers: 1734 @echo Checking headers. 1735 for i in $(CHECK_HEADERS) ; do \ 1736 $(CXX) $(CXX_DIALECT) -x c++-header -c -fsyntax-only \ 1737 $(INTERNAL_CFLAGS) -include defs.h $(srcdir)/$$i ; \ 1738 done 1739.PHONY: check-headers 1740 1741info install-info clean-info dvi pdf install-pdf html install-html: force 1742 @$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do 1743 1744# Traditionally "install" depends on "all". But it may be useful 1745# not to; for example, if the user has made some trivial change to a 1746# source file and doesn't care about rebuilding or just wants to save the 1747# time it takes for make to check that all is up to date. 1748# install-only is intended to address that need. 1749install: all 1750 @$(MAKE) $(FLAGS_TO_PASS) install-only 1751 1752install-only: $(CONFIG_INSTALL) 1753 transformed_name=`t='$(program_transform_name)'; \ 1754 echo gdb | sed -e "$$t"` ; \ 1755 if test "x$$transformed_name" = x; then \ 1756 transformed_name=gdb ; \ 1757 else \ 1758 true ; \ 1759 fi ; \ 1760 $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(bindir) ; \ 1761 $(INSTALL_PROGRAM) gdb$(EXEEXT) \ 1762 $(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT) ; \ 1763 $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(includedir)/gdb ; \ 1764 $(INSTALL_DATA) jit-reader.h $(DESTDIR)$(includedir)/gdb/jit-reader.h 1765 if test "x$(HAVE_NATIVE_GCORE_TARGET)$(HAVE_NATIVE_GCORE_HOST)" != x; \ 1766 then \ 1767 transformed_name=`t='$(program_transform_name)'; \ 1768 echo gcore | sed -e "$$t"` ; \ 1769 if test "x$$transformed_name" = x; then \ 1770 transformed_name=gcore ; \ 1771 else \ 1772 true ; \ 1773 fi ; \ 1774 $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(bindir) ; \ 1775 $(INSTALL_SCRIPT) gcore \ 1776 $(DESTDIR)$(bindir)/$$transformed_name; \ 1777 fi 1778 transformed_name=`t='$(program_transform_name)'; \ 1779 echo gdb-add-index | sed -e "$$t"` ; \ 1780 if test "x$$transformed_name" = x; then \ 1781 transformed_name=gdb-add-index ; \ 1782 else \ 1783 true ; \ 1784 fi ; \ 1785 $(INSTALL_SCRIPT) $(srcdir)/contrib/gdb-add-index.sh \ 1786 $(DESTDIR)$(bindir)/$$transformed_name 1787 @$(MAKE) DO=install "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do 1788 1789install-strip: 1790 $(MAKE) $(FLAGS_TO_PASS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ 1791 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ 1792 `test -z '$(STRIP)' || \ 1793 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install-only 1794 1795install-guile: 1796 $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(GDB_DATADIR)/guile/gdb 1797 1798install-python: 1799 $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(GDB_DATADIR)/python/gdb 1800 1801uninstall: force $(CONFIG_UNINSTALL) 1802 transformed_name=`t='$(program_transform_name)'; \ 1803 echo gdb | sed -e $$t` ; \ 1804 if test "x$$transformed_name" = x; then \ 1805 transformed_name=gdb ; \ 1806 else \ 1807 true ; \ 1808 fi ; \ 1809 rm -f $(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT) \ 1810 $(DESTDIR)$(man1dir)/$$transformed_name.1 1811 if test "x$(HAVE_NATIVE_GCORE_TARGET)$(HAVE_NATIVE_GCORE_HOST)" != x; \ 1812 then \ 1813 transformed_name=`t='$(program_transform_name)'; \ 1814 echo gcore | sed -e "$$t"` ; \ 1815 if test "x$$transformed_name" = x; then \ 1816 transformed_name=gcore ; \ 1817 else \ 1818 true ; \ 1819 fi ; \ 1820 rm -f $(DESTDIR)$(bindir)/$$transformed_name; \ 1821 fi 1822 @$(MAKE) DO=uninstall "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do 1823 1824# The C++ name parser can be built standalone for testing. 1825test-cp-name-parser.o: cp-name-parser.c 1826 $(COMPILE) -DTEST_CPNAMES cp-name-parser.c 1827 $(POSTCOMPILE) 1828 1829test-cp-name-parser$(EXEEXT): test-cp-name-parser.o $(LIBIBERTY) 1830 $(ECHO_CXXLD) $(CC_LD) $(INTERNAL_LDFLAGS) \ 1831 -o test-cp-name-parser$(EXEEXT) test-cp-name-parser.o \ 1832 $(LIBIBERTY) 1833 1834# We do this by grepping through sources. If that turns out to be too slow, 1835# maybe we could just require every .o file to have an initialization routine 1836# of a given name (top.o -> _initialize_top, etc.). 1837# 1838# Formatting conventions: The name of the _initialize_* routines must start 1839# in column zero, and must not be inside #if. 1840# 1841# Note that the set of files with init functions might change, or the names 1842# of the functions might change, so this files needs to depend on all the 1843# source files that will be linked into gdb. However, due to the way 1844# this Makefile has generally been written, we do this indirectly, by 1845# computing the list of source files from the list of object files. 1846 1847INIT_FILES = \ 1848 $(patsubst %.o,%.c, \ 1849 $(patsubst %-exp.o,%-exp.y, \ 1850 $(filter-out init.o version.o %_S.o %_U.o,\ 1851 $(COMMON_OBS)))) 1852 1853init.c: stamp-init; @true 1854stamp-init: $(INIT_FILES) 1855 @$(ECHO_INIT_C) echo "Making init.c" 1856 @rm -f init.c-tmp init.l-tmp 1857 @touch init.c-tmp 1858 @-for f in $(INIT_FILES); do \ 1859 sed -n -e 's/^_initialize_\([a-z_0-9A-Z]*\).*/\1/p' \ 1860 $(srcdir)/$$f 2>/dev/null; \ 1861 done > init.l-tmp 1862 @echo '/* Do not modify this file. */' >>init.c-tmp 1863 @echo '/* It is created automatically by the Makefile. */'>>init.c-tmp 1864 @echo '#include "defs.h" /* For initialize_file_ftype. */' >>init.c-tmp 1865 @echo 'extern void initialize_all_files(void);' >>init.c-tmp 1866 @sed -e 's/\(.*\)/extern initialize_file_ftype _initialize_\1;/' <init.l-tmp >>init.c-tmp 1867 @echo 'void' >>init.c-tmp 1868 @echo 'initialize_all_files (void)' >>init.c-tmp 1869 @echo '{' >>init.c-tmp 1870 @sed -e 's/\(.*\)/ _initialize_\1 ();/' <init.l-tmp >>init.c-tmp 1871 @echo '}' >>init.c-tmp 1872 @$(SHELL) $(srcdir)/../move-if-change init.c-tmp init.c 1873 @echo stamp > stamp-init 1874 1875.PRECIOUS: init.c 1876 1877# Create a library of the gdb object files and build GDB by linking 1878# against that. 1879# 1880# init.o is very important. It pulls in the rest of GDB. 1881LIBGDB_OBS = $(sort $(COMMON_OBS)) init.o 1882libgdb.a: $(LIBGDB_OBS) 1883 -rm -f libgdb.a 1884 $(AR) q libgdb.a $(LIBGDB_OBS) 1885 $(RANLIB) libgdb.a 1886 1887# Removing the old gdb first works better if it is running, at least on SunOS. 1888gdb$(EXEEXT): gdb.o $(LIBGDB_OBS) $(CDEPS) $(TDEPLIBS) 1889 $(SILENCE) rm -f gdb$(EXEEXT) 1890 $(ECHO_CXXLD) $(CC_LD) $(INTERNAL_LDFLAGS) $(WIN32LDAPP) \ 1891 -o gdb$(EXEEXT) gdb.o $(LIBGDB_OBS) \ 1892 $(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS) $(LOADLIBES) 1893ifneq ($(CODESIGN_CERT),) 1894 $(ECHO_SIGN) $(CODESIGN) -s $(CODESIGN_CERT) gdb$(EXEEXT) 1895endif 1896 1897# Convenience rule to handle recursion. 1898$(LIBGNU) $(GNULIB_H): all-lib 1899all-lib: $(GNULIB_BUILDDIR)/Makefile 1900 @$(MAKE) $(FLAGS_TO_PASS) DO=all DODIRS=$(GNULIB_BUILDDIR) subdir_do 1901.PHONY: all-lib 1902 1903# Convenience rule to handle recursion. 1904.PHONY: all-data-directory 1905all-data-directory: data-directory/Makefile 1906 @$(MAKE) $(FLAGS_TO_PASS) DO=all DODIRS=data-directory subdir_do 1907 1908# This is useful when debugging GDB, because some Unix's don't let you run GDB 1909# on itself without copying the executable. So "make gdb1" will make 1910# gdb and put a copy in gdb1, and you can run it with "gdb gdb1". 1911# Removing gdb1 before the copy is the right thing if gdb1 is open 1912# in another process. 1913gdb1$(EXEEXT): gdb$(EXEEXT) 1914 rm -f gdb1$(EXEEXT) 1915 cp gdb$(EXEEXT) gdb1$(EXEEXT) 1916 1917# Put the proper machine-specific files first, so M-. on a machine 1918# specific routine gets the one for the correct machine. (FIXME: those 1919# files go in twice; we should be removing them from the main list). 1920 1921# TAGS depends on all the files that go into it so you can rebuild TAGS 1922# with `make TAGS' and not have to say `rm TAGS' first. 1923 1924GDB_NM_FILE = @GDB_NM_FILE@ 1925TAGS: $(TAGFILES_NO_SRCDIR) $(TAGFILES_WITH_SRCDIR) 1926 @echo Making TAGS 1927 etags `(test -n "$(GDB_NM_FILE)" && echo "$(srcdir)/$(GDB_NM_FILE)")` \ 1928 `(for i in $(DEPFILES) $(TAGFILES_NO_SRCDIR); do \ 1929 echo $(srcdir)/$$i ; \ 1930 done ; for i in $(TAGFILES_WITH_SRCDIR); do \ 1931 echo $$i ; \ 1932 done) | sed -e 's/\.o$$/\.c/'` \ 1933 `find $(srcdir)/config -name '*.h' -print` 1934 1935tags: TAGS 1936 1937clean mostlyclean: $(CONFIG_CLEAN) 1938 @$(MAKE) $(FLAGS_TO_PASS) DO=clean "DODIRS=$(CLEANDIRS)" subdir_do 1939 rm -f *.o *.a *~ init.c-tmp init.l-tmp version.c-tmp 1940 rm -f init.c stamp-init version.c stamp-version 1941 rm -f gdb$(EXEEXT) core make.log 1942 rm -f gdb[0-9]$(EXEEXT) 1943 rm -f test-cp-name-parser$(EXEEXT) 1944 rm -f xml-builtin.c stamp-xml 1945 rm -f $(DEPDIR)/* 1946 for i in $(CONFIG_SRC_SUBDIR); do \ 1947 rm -f $$i/*.o; \ 1948 rm -f $$i/$(DEPDIR)/*; \ 1949 done 1950 1951# This used to depend on c-exp.c m2-exp.c TAGS 1952# I believe this is wrong; the makefile standards for distclean just 1953# describe removing files; the only sort of "re-create a distribution" 1954# functionality described is if the distributed files are unmodified. 1955# NB: While GDBSERVER might be configured on native systems, it isn't 1956# always included in SUBDIRS. Remove the gdbserver files explicitly. 1957distclean: clean 1958 @$(MAKE) $(FLAGS_TO_PASS) DO=distclean "DODIRS=$(CLEANDIRS)" subdir_do 1959 rm -rf $(GNULIB_BUILDDIR) 1960 rm -f gdbserver/config.status gdbserver/config.log 1961 rm -f gdbserver/tm.h gdbserver/xm.h gdbserver/nm.h 1962 rm -f gdbserver/Makefile gdbserver/config.cache 1963 rm -f nm.h config.status config.h stamp-h b jit-reader.h 1964 rm -f gdb-gdb.py gdb-gdb.gdb 1965 rm -f y.output yacc.acts yacc.tmp y.tab.h 1966 rm -f config.log config.cache 1967 rm -f Makefile 1968 rm -rf $(DEPDIR) 1969 for i in $(CONFIG_SRC_SUBDIR); do \ 1970 if test -d $$i/$(DEPDIR); then rmdir $$i/$(DEPDIR); fi \ 1971 done 1972 1973maintainer-clean: local-maintainer-clean do-maintainer-clean distclean 1974realclean: maintainer-clean 1975 1976local-maintainer-clean: 1977 @echo "This command is intended for maintainers to use;" 1978 @echo "it deletes files that may require special tools to rebuild." 1979 rm -f c-exp.c \ 1980 cp-name-parser.c \ 1981 ada-lex.c ada-exp.c \ 1982 d-exp.c f-exp.c go-exp.c m2-exp.c p-exp.c rust-exp.c 1983 rm -f TAGS 1984 rm -f $(YYFILES) 1985 rm -f nm.h config.status 1986 1987do-maintainer-clean: 1988 @$(MAKE) $(FLAGS_TO_PASS) DO=maintainer-clean "DODIRS=$(CLEANDIRS)" \ 1989 subdir_do 1990 1991diststuff: $(DISTSTUFF) $(PACKAGE).pot $(CATALOGS) 1992 cd doc; $(MAKE) $(MFLAGS) diststuff 1993 1994subdir_do: force 1995 @for i in $(DODIRS); do \ 1996 case $$i in \ 1997 $(REQUIRED_SUBDIRS)) \ 1998 if [ ! -f ./$$i/Makefile ] ; then \ 1999 echo "Missing $$i/Makefile" >&2 ; \ 2000 exit 1 ; \ 2001 fi ;; \ 2002 esac ; \ 2003 if [ -f ./$$i/Makefile ] ; then \ 2004 if (cd ./$$i; \ 2005 $(MAKE) $(FLAGS_TO_PASS) $(DO)) ; then true ; \ 2006 else exit 1 ; fi ; \ 2007 else true ; fi ; \ 2008 done 2009 2010Makefile: Makefile.in config.status 2011 # Regenerate the Makefile and the tm.h / nm.h links. 2012 CONFIG_FILES="Makefile" \ 2013 CONFIG_COMMANDS= \ 2014 CONFIG_HEADERS= \ 2015 $(SHELL) config.status 2016 2017$(GNULIB_BUILDDIR)/Makefile: gnulib/Makefile.in config.status 2018 @cd $(GNULIB_BUILDDIR); CONFIG_FILES="Makefile" \ 2019 CONFIG_COMMANDS="depfiles" \ 2020 CONFIG_HEADERS= \ 2021 CONFIG_LINKS= \ 2022 $(SHELL) config.status 2023 2024data-directory/Makefile: data-directory/Makefile.in config.status 2025 CONFIG_FILES="data-directory/Makefile" \ 2026 CONFIG_COMMANDS="depfiles" \ 2027 CONFIG_HEADERS= \ 2028 CONFIG_LINKS= \ 2029 $(SHELL) config.status 2030 2031.PHONY: run 2032run: Makefile 2033 ./gdb$(EXEEXT) --data-directory=`pwd`/data-directory $(GDBFLAGS) 2034 2035jit-reader.h: $(srcdir)/jit-reader.in 2036 $(SHELL) config.status $@ 2037 2038gcore: $(srcdir)/gcore.in 2039 $(SHELL) config.status $@ 2040 2041gdb-gdb.py: $(srcdir)/gdb-gdb.py.in 2042 $(SHELL) config.status $@ 2043 2044gdb-gdb.gdb: $(srcdir)/gdb-gdb.gdb.in 2045 $(SHELL) config.status $@ 2046 2047config.h: stamp-h ; @true 2048stamp-h: $(srcdir)/config.in config.status 2049 CONFIG_HEADERS=config.h:config.in \ 2050 CONFIG_COMMANDS="default depdir" \ 2051 CONFIG_FILES= \ 2052 CONFIG_LINKS= \ 2053 $(SHELL) config.status 2054 2055config.status: $(srcdir)/configure configure.nat configure.tgt configure.host ../bfd/development.sh 2056 $(SHELL) config.status --recheck 2057 2058ACLOCAL = aclocal 2059ACLOCAL_AMFLAGS = -I ../config 2060 2061# Keep these in sync with the includes in acinclude.m4. 2062aclocal_m4_deps = \ 2063 configure.ac \ 2064 acx_configure_dir.m4 \ 2065 libmcheck.m4 \ 2066 transform.m4 \ 2067 ../bfd/bfd.m4 \ 2068 ../config/acinclude.m4 \ 2069 ../config/plugins.m4 \ 2070 ../config/lead-dot.m4 \ 2071 ../config/override.m4 \ 2072 ../config/largefile.m4 \ 2073 ../config/gettext-sister.m4 \ 2074 ../config/lib-ld.m4 \ 2075 ../config/lib-prefix.m4 \ 2076 ../config/lib-link.m4 \ 2077 ../config/acx.m4 \ 2078 ../config/tcl.m4 \ 2079 ../config/depstand.m4 \ 2080 ../config/lcmessage.m4 \ 2081 ../config/codeset.m4 \ 2082 ../config/zlib.m4 2083 2084$(srcdir)/aclocal.m4: @MAINTAINER_MODE_TRUE@ $(aclocal_m4_deps) 2085 cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) 2086 2087AUTOCONF = autoconf 2088configure_deps = $(srcdir)/configure.ac $(srcdir)/aclocal.m4 2089$(srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(configure_deps) 2090 cd $(srcdir) && $(AUTOCONF) 2091 2092AUTOHEADER = autoheader 2093$(srcdir)/config.in: @MAINTAINER_MODE_TRUE@ $(configure_deps) 2094 cd $(srcdir) && $(AUTOHEADER) 2095 rm -f stamp-h 2096 touch $@ 2097 2098# automatic rebuilding in automake-generated Makefiles requires 2099# this rule in the toplevel Makefile, which, with GNU make, causes 2100# the desired updates through the implicit regeneration of the Makefile 2101# and all of its prerequisites. 2102am--refresh: 2103 @: 2104 2105force: 2106 2107# Documentation! 2108# GDB QUICK REFERENCE (TeX dvi file, CM fonts) 2109doc/refcard.dvi: 2110 cd doc; $(MAKE) refcard.dvi $(FLAGS_TO_PASS) 2111 2112# GDB QUICK REFERENCE (PostScript output, common PS fonts) 2113doc/refcard.ps: 2114 cd doc; $(MAKE) refcard.ps $(FLAGS_TO_PASS) 2115 2116# GDB MANUAL: TeX dvi file 2117doc/gdb.dvi: 2118 cd doc; $(MAKE) gdb.dvi $(FLAGS_TO_PASS) 2119 2120# GDB MANUAL: info file 2121doc/gdb.info: 2122 cd doc; $(MAKE) gdb.info $(FLAGS_TO_PASS) 2123 2124# Make copying.c from COPYING 2125$(srcdir)/copying.c: @MAINTAINER_MODE_TRUE@ $(srcdir)/../COPYING3 $(srcdir)/copying.awk 2126 awk -f $(srcdir)/copying.awk \ 2127 < $(srcdir)/../COPYING3 > $(srcdir)/copying.tmp 2128 mv $(srcdir)/copying.tmp $(srcdir)/copying.c 2129 2130version.c: stamp-version; @true 2131# Note that the obvious names for the temp file are taken by 2132# create-version.sh. 2133stamp-version: Makefile version.in $(srcdir)/../bfd/version.h $(srcdir)/common/create-version.sh 2134 $(ECHO_GEN) $(SHELL) $(srcdir)/common/create-version.sh $(srcdir) \ 2135 $(host_alias) $(target_alias) version-t.t 2136 @$(SHELL) $(srcdir)/../move-if-change version-t.t version.c 2137 @echo stamp > stamp-version 2138 2139 2140gdb.cxref: $(SFILES) 2141 cxref -I. $(SFILES) >gdb.cxref 2142 2143force_update: 2144 2145# GNU Make has an annoying habit of putting *all* the Makefile variables 2146# into the environment, unless you include this target as a circumvention. 2147# Rumor is that this will be fixed (and this target can be removed) 2148# in GNU Make 4.0. 2149.NOEXPORT: 2150 2151# GNU Make 3.63 has a different problem: it keeps tacking command line 2152# overrides onto the definition of $(MAKE). This variable setting 2153# will remove them. 2154MAKEOVERRIDES = 2155 2156ALLDEPFILES = \ 2157 aarch64-fbsd-nat.c \ 2158 aarch64-fbsd-tdep.c \ 2159 aarch64-linux-nat.c \ 2160 aarch64-linux-tdep.c \ 2161 aarch64-nbsd-nat.c \ 2162 aarch64-nbsd-tdep.c \ 2163 aarch64-newlib-tdep.c \ 2164 aarch64-ravenscar-thread.c \ 2165 aarch64-tdep.c \ 2166 aix-thread.c \ 2167 alpha-bsd-nat.c \ 2168 alpha-bsd-tdep.c \ 2169 alpha-linux-nat.c \ 2170 alpha-linux-tdep.c \ 2171 alpha-mdebug-tdep.c \ 2172 alpha-nbsd-tdep.c \ 2173 alpha-obsd-tdep.c \ 2174 alpha-tdep.c \ 2175 amd64-bsd-nat.c \ 2176 amd64-darwin-tdep.c \ 2177 amd64-dicos-tdep.c \ 2178 amd64-fbsd-nat.c \ 2179 amd64-fbsd-tdep.c \ 2180 amd64-linux-nat.c \ 2181 amd64-linux-tdep.c \ 2182 amd64-nat.c \ 2183 amd64-nbsd-nat.c \ 2184 amd64-nbsd-tdep.c \ 2185 amd64-obsd-nat.c \ 2186 amd64-obsd-tdep.c \ 2187 amd64-sol2-tdep.c \ 2188 amd64-tdep.c \ 2189 arc-tdep.c \ 2190 arm.c \ 2191 arm-bsd-tdep.c \ 2192 arm-fbsd-nat.c \ 2193 arm-fbsd-tdep.c \ 2194 arm-get-next-pcs.c \ 2195 arm-linux.c \ 2196 arm-linux-nat.c \ 2197 arm-linux-tdep.c \ 2198 arm-nbsd-nat.c \ 2199 arm-nbsd-tdep.c \ 2200 arm-obsd-tdep.c \ 2201 arm-symbian-tdep.c \ 2202 arm-tdep.c \ 2203 avr-tdep.c \ 2204 bfin-linux-tdep.c \ 2205 bfin-tdep.c \ 2206 bsd-kvm.c \ 2207 bsd-uthread.c \ 2208 csky-linux-tdep.c \ 2209 csky-tdep.c \ 2210 darwin-nat.c \ 2211 dicos-tdep.c \ 2212 fbsd-nat.c \ 2213 fbsd-tdep.c \ 2214 fork-child.c \ 2215 ft32-tdep.c \ 2216 glibc-tdep.c \ 2217 go32-nat.c \ 2218 h8300-tdep.c \ 2219 hppa-bsd-tdep.c \ 2220 hppa-linux-nat.c \ 2221 hppa-linux-tdep.c \ 2222 hppa-nbsd-nat.c \ 2223 hppa-nbsd-tdep.c \ 2224 hppa-obsd-nat.c \ 2225 hppa-obsd-tdep.c \ 2226 hppa-tdep.c \ 2227 i386-bsd-nat.c \ 2228 i386-bsd-tdep.c \ 2229 i386-cygwin-tdep.c \ 2230 i386-darwin-nat.c \ 2231 i386-darwin-tdep.c \ 2232 i386-dicos-tdep.c \ 2233 i386-fbsd-nat.c \ 2234 i386-fbsd-tdep.c \ 2235 i386-gnu-nat.c \ 2236 i386-gnu-tdep.c \ 2237 i386-linux-nat.c \ 2238 i386-linux-tdep.c \ 2239 i386-nbsd-nat.c \ 2240 i386-nbsd-tdep.c \ 2241 i386-obsd-nat.c \ 2242 i386-obsd-tdep.c \ 2243 i386-sol2-nat.c \ 2244 i386-sol2-tdep.c \ 2245 i386-tdep.c \ 2246 i387-tdep.c \ 2247 ia64-libunwind-tdep.c \ 2248 ia64-linux-nat.c \ 2249 ia64-linux-tdep.c \ 2250 ia64-tdep.c \ 2251 ia64-vms-tdep.c \ 2252 inf-ptrace.c \ 2253 linux-fork.c \ 2254 linux-record.c \ 2255 linux-tdep.c \ 2256 lm32-tdep.c \ 2257 m32r-linux-nat.c \ 2258 m32r-linux-tdep.c \ 2259 m32r-tdep.c \ 2260 m68hc11-tdep.c \ 2261 m68k-bsd-nat.c \ 2262 m68k-bsd-tdep.c \ 2263 m68k-linux-nat.c \ 2264 m68k-linux-tdep.c \ 2265 m68k-tdep.c \ 2266 microblaze-linux-tdep.c \ 2267 microblaze-tdep.c \ 2268 mingw-hdep.c \ 2269 mips-fbsd-nat.c \ 2270 mips-fbsd-tdep.c \ 2271 mips-linux-nat.c \ 2272 mips-linux-tdep.c \ 2273 mips-nbsd-nat.c \ 2274 mips-nbsd-tdep.c \ 2275 mips-sde-tdep.c \ 2276 mips-tdep.c \ 2277 mips64-obsd-nat.c \ 2278 mips64-obsd-tdep.c \ 2279 msp430-tdep.c \ 2280 nbsd-nat.c \ 2281 nbsd-tdep.c \ 2282 nds32-tdep.c \ 2283 nios2-linux-tdep.c \ 2284 nios2-tdep.c \ 2285 obsd-nat.c \ 2286 obsd-tdep.c \ 2287 posix-hdep.c \ 2288 ppc-fbsd-nat.c \ 2289 ppc-fbsd-tdep.c \ 2290 ppc-linux-nat.c \ 2291 ppc-linux-tdep.c \ 2292 ppc-nbsd-nat.c \ 2293 ppc-nbsd-tdep.c \ 2294 ppc-obsd-nat.c \ 2295 ppc-obsd-tdep.c \ 2296 ppc-ravenscar-thread.c \ 2297 ppc-sysv-tdep.c \ 2298 ppc64-tdep.c \ 2299 procfs.c \ 2300 ravenscar-thread.c \ 2301 remote-sim.c \ 2302 riscv-fbsd-nat.c \ 2303 riscv-fbsd-tdep.c \ 2304 riscv-linux-nat.c \ 2305 riscv-linux-tdep.c \ 2306 riscv-tdep.c \ 2307 rl78-tdep.c \ 2308 rs6000-lynx178-tdep.c \ 2309 rs6000-nat.c \ 2310 rs6000-tdep.c \ 2311 rx-tdep.c \ 2312 s390-linux-nat.c \ 2313 s390-linux-tdep.c \ 2314 s390-tdep.c \ 2315 score-tdep.c \ 2316 ser-go32.c \ 2317 ser-mingw.c \ 2318 ser-pipe.c \ 2319 ser-tcp.c \ 2320 ser-uds.c \ 2321 sh-nbsd-nat.c \ 2322 sh-nbsd-tdep.c \ 2323 sh-tdep.c \ 2324 sol2-tdep.c \ 2325 solib-aix.c \ 2326 solib-spu.c \ 2327 solib-svr4.c \ 2328 sparc-linux-nat.c \ 2329 sparc-linux-tdep.c \ 2330 sparc-nat.c \ 2331 sparc-nbsd-nat.c \ 2332 sparc-nbsd-tdep.c \ 2333 sparc-obsd-tdep.c \ 2334 sparc-ravenscar-thread.c \ 2335 sparc-sol2-nat.c \ 2336 sparc-sol2-tdep.c \ 2337 sparc-tdep.c \ 2338 sparc64-fbsd-nat.c \ 2339 sparc64-fbsd-tdep.c \ 2340 sparc64-linux-nat.c \ 2341 sparc64-linux-tdep.c \ 2342 sparc64-nat.c \ 2343 sparc64-nbsd-nat.c \ 2344 sparc64-nbsd-tdep.c \ 2345 sparc64-obsd-nat.c \ 2346 sparc64-obsd-tdep.c \ 2347 sparc64-sol2-tdep.c \ 2348 sparc64-tdep.c \ 2349 spu-linux-nat.c \ 2350 spu-multiarch.c \ 2351 spu-tdep.c \ 2352 tilegx-linux-nat.c \ 2353 tilegx-linux-tdep.c \ 2354 tilegx-tdep.c \ 2355 v850-tdep.c \ 2356 vax-bsd-nat.c \ 2357 vax-nbsd-tdep.c \ 2358 vax-tdep.c \ 2359 windows-nat.c \ 2360 windows-tdep.c \ 2361 x86-nat.c \ 2362 x86-tdep.c \ 2363 xcoffread.c \ 2364 xstormy16-tdep.c \ 2365 xtensa-config.c \ 2366 xtensa-linux-nat.c \ 2367 xtensa-linux-tdep.c \ 2368 xtensa-tdep.c \ 2369 xtensa-xtregs.c \ 2370 common/mingw-strerror.c \ 2371 common/posix-strerror.c 2372 2373# Some files need explicit build rules (due to -Werror problems) or due 2374# to sub-directory fun 'n' games. 2375 2376# ada-exp.c can appear in srcdir, for releases; or in ., for 2377# development builds. 2378ADA_EXP_C = `if test -f ada-exp.c; then echo ada-exp.c; else echo $(srcdir)/ada-exp.c; fi` 2379 2380ada-exp.o: ada-exp.c 2381 $(COMPILE) $(ADA_EXP_C) 2382 $(POSTCOMPILE) 2383 2384# Message files. Based on code in gcc/Makefile.in. 2385 2386# Rules for generating translated message descriptions. Disabled by 2387# autoconf if the tools are not available. 2388 2389.PHONY: all-po install-po uninstall-po clean-po update-po $(PACKAGE).pot 2390 2391all-po: $(CATALOGS) 2392 2393# This notation should be acceptable to all Make implementations used 2394# by people who are interested in updating .po files. 2395update-po: $(CATALOGS:.gmo=.pox) 2396 2397# N.B. We do not attempt to copy these into $(srcdir). The snapshot 2398# script does that. 2399%.gmo: %.po 2400 -test -d po || mkdir po 2401 $(GMSGFMT) --statistics -o $@ $< 2402 2403# The new .po has to be gone over by hand, so we deposit it into 2404# build/po with a different extension. If build/po/$(PACKAGE).pot 2405# exists, use it (it was just created), else use the one in srcdir. 2406%.pox: %.po 2407 -test -d po || mkdir po 2408 $(MSGMERGE) $< `if test -f po/$(PACKAGE).pot; \ 2409 then echo po/$(PACKAGE).pot; \ 2410 else echo $(srcdir)/po/$(PACKAGE).pot; fi` -o $@ 2411 2412# This rule has to look for .gmo modules in both srcdir and the cwd, 2413# and has to check that we actually have a catalog for each language, 2414# in case they weren't built or included with the distribution. 2415install-po: 2416 $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(datadir) 2417 cats="$(CATALOGS)"; for cat in $$cats; do \ 2418 lang=`basename $$cat | sed 's/\.gmo$$//'`; \ 2419 if [ -f $$cat ]; then :; \ 2420 elif [ -f $(srcdir)/$$cat ]; then cat=$(srcdir)/$$cat; \ 2421 else continue; \ 2422 fi; \ 2423 dir=$(localedir)/$$lang/LC_MESSAGES; \ 2424 echo $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$$dir; \ 2425 $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$$dir || exit 1; \ 2426 echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \ 2427 $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \ 2428 done 2429uninstall-po: 2430 cats="$(CATALOGS)"; for cat in $$cats; do \ 2431 lang=`basename $$cat | sed 's/\.gmo$$//'`; \ 2432 if [ -f $$cat ]; then :; \ 2433 elif [ -f $(srcdir)/$$cat ]; then cat=$(srcdir)/$$cat; \ 2434 else continue; \ 2435 fi; \ 2436 dir=$(localedir)/$$lang/LC_MESSAGES; \ 2437 rm -f $(DESTDIR)$$dir/$(PACKAGE).mo; \ 2438 done 2439# Delete po/*.gmo only if we are not building in the source directory. 2440clean-po: 2441 -if [ ! -f Makefile.in ]; then rm -f po/*.gmo; fi 2442 2443# Rule for regenerating the message template (gdb.pot). Instead of 2444# forcing everyone to edit POTFILES.in, which proved impractical, this 2445# rule has no dependencies and always regenerates gdb.pot. This is 2446# relatively harmless since the .po files do not directly depend on 2447# it. The .pot file is left in the build directory. Since GDB's 2448# Makefile lacks a cannonical list of sources (missing xm, tm and nm 2449# files) force this rule. 2450$(PACKAGE).pot: po/$(PACKAGE).pot 2451po/$(PACKAGE).pot: force 2452 -test -d po || mkdir po 2453 sh -e $(srcdir)/po/gdbtext $(XGETTEXT) $(PACKAGE) . $(srcdir) 2454 2455 2456# 2457# YACC/LEX dependencies 2458# 2459# LANG-exp.c is generated in objdir from LANG-exp.y if it doesn't 2460# exist in srcdir, then compiled in objdir to LANG-exp.o. If we 2461# said LANG-exp.c rather than ./c-exp.c some makes would 2462# sometimes re-write it into $(srcdir)/c-exp.c. Remove bogus 2463# decls for malloc/realloc/free which conflict with everything else. 2464# Strictly speaking c-exp.c should therefore depend on 2465# Makefile.in, but that was a pretty big annoyance. 2466 2467%.c: %.y 2468 $(ECHO_YACC) $(SHELL) $(YLWRAP) $< y.tab.c $@.tmp -- \ 2469 $(YACC) $(YFLAGS) || (rm -f $@.tmp; false) 2470 @sed -e '/extern.*malloc/d' \ 2471 -e '/extern.*realloc/d' \ 2472 -e '/extern.*free/d' \ 2473 -e '/include.*malloc.h/d' \ 2474 -e 's/\([^x]\)malloc/\1xmalloc/g' \ 2475 -e 's/\([^x]\)realloc/\1xrealloc/g' \ 2476 -e 's/\([ \t;,(]\)free\([ \t]*[&(),]\)/\1xfree\2/g' \ 2477 -e 's/\([ \t;,(]\)free$$/\1xfree/g' \ 2478 -e '/^#line.*y.tab.c/d' \ 2479 -e 's/YY_NULL/YY_NULLPTR/g' \ 2480 < $@.tmp > $@.new && \ 2481 rm -f $@.tmp && \ 2482 mv $@.new $@ 2483%.c: %.l 2484 $(ECHO_LEX) $(FLEX) -t $< \ 2485 | sed -e '/extern.*malloc/d' \ 2486 -e '/extern.*realloc/d' \ 2487 -e '/extern.*free/d' \ 2488 -e '/include.*malloc.h/d' \ 2489 -e 's/\([^x]\)malloc/\1xmalloc/g' \ 2490 -e 's/\([^x]\)realloc/\1xrealloc/g' \ 2491 -e 's/\([ \t;,(]\)free\([ \t]*[&(),]\)/\1xfree\2/g' \ 2492 -e 's/\([ \t;,(]\)free$$/\1xfree/g' \ 2493 -e 's/yy_flex_xrealloc/yyxrealloc/g' \ 2494 > $@.new && \ 2495 mv $@.new $@ 2496 2497.PRECIOUS: ada-lex.c 2498 2499# XML rules 2500 2501xml-builtin.c: stamp-xml; @true 2502stamp-xml: $(srcdir)/features/feature_to_c.sh Makefile $(XMLFILES) 2503 $(SILENCE) rm -f xml-builtin.tmp 2504 $(ECHO_GEN_XML_BUILTIN) AWK="$(AWK)" \ 2505 $(SHELL) $(srcdir)/features/feature_to_c.sh \ 2506 xml-builtin.tmp $(XMLFILES) 2507 $(SILENCE) $(SHELL) $(srcdir)/../move-if-change xml-builtin.tmp xml-builtin.c 2508 $(SILENCE) echo stamp > stamp-xml 2509 2510.PRECIOUS: xml-builtin.c 2511 2512# 2513# GDBTK sub-directory 2514# 2515 2516all-gdbtk: insight$(EXEEXT) 2517 2518install-gdbtk: 2519 transformed_name=`t='$(program_transform_name)'; \ 2520 echo insight | sed -e $$t` ; \ 2521 if test "x$$transformed_name" = x; then \ 2522 transformed_name=insight ; \ 2523 else \ 2524 true ; \ 2525 fi ; \ 2526 $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(bindir); \ 2527 $(INSTALL_PROGRAM) insight$(EXEEXT) \ 2528 $(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT) ; \ 2529 $(SHELL) $(srcdir)/../mkinstalldirs \ 2530 $(DESTDIR)$(GDBTK_LIBRARY) ; \ 2531 $(SHELL) $(srcdir)/../mkinstalldirs \ 2532 $(DESTDIR)$(libdir)/insight$(GDBTK_VERSION) ; \ 2533 $(INSTALL_DATA) $(srcdir)/gdbtk/plugins/plugins.tcl \ 2534 $(DESTDIR)$(libdir)/insight$(GDBTK_VERSION)/plugins.tcl ; \ 2535 $(SHELL) $(srcdir)/../mkinstalldirs \ 2536 $(DESTDIR)$(GDBTK_LIBRARY)/images \ 2537 $(DESTDIR)$(GDBTK_LIBRARY)/images2 ; \ 2538 $(SHELL) $(srcdir)/../mkinstalldirs \ 2539 $(DESTDIR)$(GDBTK_LIBRARY)/help \ 2540 $(DESTDIR)$(GDBTK_LIBRARY)/help/images \ 2541 $(DESTDIR)$(GDBTK_LIBRARY)/help/trace ; \ 2542 cd $(srcdir)/gdbtk/library ; \ 2543 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; \ 2544 do \ 2545 $(INSTALL_DATA) $$i $(DESTDIR)$(GDBTK_LIBRARY)/$$i ; \ 2546 done ; 2547 2548uninstall-gdbtk: 2549 transformed_name=`t='$(program_transform_name)'; \ 2550 echo insight | sed -e $$t` ; \ 2551 if test "x$$transformed_name" = x; then \ 2552 transformed_name=insight ; \ 2553 else \ 2554 true ; \ 2555 fi ; \ 2556 rm -f $(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT) ; \ 2557 rm -rf $(DESTDIR)$(GDBTK_LIBRARY) 2558 2559clean-gdbtk: 2560 rm -f insight$(EXEEXT) 2561 2562# Removing the old gdb first works better if it is running, at least on SunOS. 2563insight$(EXEEXT): gdbtk-main.o libgdb.a $(CDEPS) $(TDEPLIBS) 2564 rm -f insight$(EXEEXT) 2565 $(ECHO_CXXLD) $(CC_LD) $(INTERNAL_LDFLAGS) $(WIN32LDAPP) \ 2566 -o insight$(EXEEXT) gdbtk-main.o libgdb.a \ 2567 $(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS) $(LOADLIBES) 2568 2569gdbres.o: $(srcdir)/gdbtk/gdb.rc $(srcdir)/gdbtk/gdbtool.ico 2570 $(WINDRES) --include $(srcdir)/gdbtk $(srcdir)/gdbtk/gdb.rc gdbres.o 2571 2572all_gdbtk_cflags = $(IDE_CFLAGS) $(ITCL_CFLAGS) \ 2573 $(ITK_CFLAGS) $(TCL_CFLAGS) $(TK_CFLAGS) $(X11_CFLAGS) \ 2574 $(GDBTK_CFLAGS) \ 2575 -DGDBTK_LIBRARY=\"$(GDBTK_LIBRARY)\" \ 2576 -DSRC_DIR=\"$(GDBTK_SRC_DIR)\" 2577 2578# 2579# Dependency tracking. 2580# 2581 2582ifeq ($(DEPMODE),depmode=gcc3) 2583# Note that we put the dependencies into a .Tpo file, then move them 2584# into place if the compile succeeds. We need this because gcc does 2585# not atomically write the dependency output file. 2586override COMPILE.post = -c -o $@ -MT $@ -MMD -MP \ 2587 -MF $(@D)/$(DEPDIR)/$(basename $(@F)).Tpo 2588override POSTCOMPILE = @mv $(@D)/$(DEPDIR)/$(basename $(@F)).Tpo \ 2589 $(@D)/$(DEPDIR)/$(basename $(@F)).Po 2590else 2591override COMPILE.pre = source='$<' object='$@' libtool=no \ 2592 DEPDIR=$(DEPDIR) $(DEPMODE) $(depcomp) \ 2593 $(CXX) -x c++ $(CXX_DIALECT) 2594# depcomp handles atomicity for us, so we don't need a postcompile 2595# step. 2596override POSTCOMPILE = 2597endif 2598 2599# A list of all the objects we might care about in this build, for 2600# dependency tracking. 2601all_object_files = gdb.o $(LIBGDB_OBS) gdbtk-main.o \ 2602 test-cp-name-parser.o 2603 2604# All the .deps files to include. 2605all_deps_files = $(foreach dep,$(patsubst %.o,%.Po,$(all_object_files)),\ 2606 $(dir $(dep))/$(DEPDIR)/$(notdir $(dep))) 2607 2608# Ensure that generated files are created early. Use order-only 2609# dependencies if available. They require GNU make 3.80 or newer, 2610# and the .VARIABLES variable was introduced at the same time. 2611ifdef .VARIABLES 2612$(all_object_files): | $(generated_files) 2613else 2614$(all_object_files) : $(generated_files) 2615endif 2616 2617# Dependencies. 2618-include $(all_deps_files) 2619 2620# Disable implicit make rules. 2621include $(srcdir)/disable-implicit-rules.mk 2622 2623### end of the gdb Makefile.in. 2624