| 1 | # Copyright (C) 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, |
| 2 | # 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 |
| 3 | # Free Software Foundation, Inc. |
| 4 | |
| 5 | # This file is part of GDB. |
| 6 | |
| 7 | # This program is free software; you can redistribute it and/or modify |
| 8 | # it under the terms of the GNU General Public License as published by |
| 9 | # the Free Software Foundation; either version 2 of the License, or |
| 10 | # (at your option) any later version. |
| 11 | # |
| 12 | # This program is distributed in the hope that it will be useful, |
| 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 15 | # GNU General Public License for more details. |
| 16 | # |
| 17 | # You should have received a copy of the GNU General Public License |
| 18 | # along with this program; if not, write to the Free Software |
| 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, |
| 20 | # Boston, MA 02110-1301, USA. |
| 21 | |
| 22 | prefix = @prefix@ |
| 23 | exec_prefix = @exec_prefix@ |
| 24 | |
| 25 | host_alias = @host_alias@ |
| 26 | target_alias = @target_alias@ |
| 27 | program_transform_name = @program_transform_name@ |
| 28 | bindir = @bindir@ |
| 29 | libdir = @libdir@ |
| 30 | tooldir = $(libdir)/$(target_alias) |
| 31 | |
| 32 | datadir = @datadir@ |
| 33 | localedir = @localedir@ |
| 34 | mandir = @mandir@ |
| 35 | man1dir = $(mandir)/man1 |
| 36 | man2dir = $(mandir)/man2 |
| 37 | man3dir = $(mandir)/man3 |
| 38 | man4dir = $(mandir)/man4 |
| 39 | man5dir = $(mandir)/man5 |
| 40 | man6dir = $(mandir)/man6 |
| 41 | man7dir = $(mandir)/man7 |
| 42 | man8dir = $(mandir)/man8 |
| 43 | man9dir = $(mandir)/man9 |
| 44 | infodir = @infodir@ |
| 45 | pdfdir = $(prefix)/share/doc/gdb |
| 46 | htmldir = $(prefix)/html |
| 47 | includedir = @includedir@ |
| 48 | |
| 49 | # This can be referenced by `LIBINTL' as computed by |
| 50 | # ZW_GNU_GETTEXT_SISTER_DIR. |
| 51 | top_builddir = . |
| 52 | |
| 53 | SHELL = @SHELL@ |
| 54 | EXEEXT = @EXEEXT@ |
| 55 | |
| 56 | AWK = @AWK@ |
| 57 | LN_S = @LN_S@ |
| 58 | |
| 59 | INSTALL = @INSTALL@ |
| 60 | INSTALL_PROGRAM = @INSTALL_PROGRAM@ |
| 61 | INSTALL_DATA = @INSTALL_DATA@ |
| 62 | |
| 63 | DESTDIR = |
| 64 | |
| 65 | AR = @AR@ |
| 66 | AR_FLAGS = qv |
| 67 | RANLIB = @RANLIB@ |
| 68 | DLLTOOL = @DLLTOOL@ |
| 69 | WINDRES = @WINDRES@ |
| 70 | MIG = @MIG@ |
| 71 | |
| 72 | XGETTEXT = @XGETTEXT@ |
| 73 | GMSGFMT = @GMSGFMT@ |
| 74 | MSGMERGE = msgmerge |
| 75 | |
| 76 | PACKAGE = @PACKAGE@ |
| 77 | CATALOGS = @CATALOGS@ |
| 78 | |
| 79 | # If you are compiling with GCC, make sure that either 1) You have the |
| 80 | # fixed include files where GCC can reach them, or 2) You use the |
| 81 | # -traditional flag. Otherwise the ioctl calls in inflow.c |
| 82 | # will be incorrectly compiled. The "fixincludes" script in the gcc |
| 83 | # distribution will fix your include files up. |
| 84 | CC=@CC@ |
| 85 | |
| 86 | # Dependency tracking information. |
| 87 | DEPMODE = @CCDEPMODE@ |
| 88 | DEPDIR = @DEPDIR@ |
| 89 | depcomp = $(SHELL) $(srcdir)/../depcomp |
| 90 | |
| 91 | # Note that these are overridden by GNU make-specific code below if |
| 92 | # GNU make is used. The overrides implement dependency tracking. |
| 93 | COMPILE.pre = $(CC) |
| 94 | COMPILE.post = -c -o $@ |
| 95 | COMPILE = $(COMPILE.pre) $(INTERNAL_CFLAGS) $(COMPILE.post) |
| 96 | POSTCOMPILE = @true |
| 97 | |
| 98 | # Directory containing source files. |
| 99 | srcdir = @srcdir@ |
| 100 | VPATH = @srcdir@ |
| 101 | |
| 102 | YACC=@YACC@ |
| 103 | |
| 104 | # This is used to rebuild ada-lex.c from ada-lex.l. If the program is |
| 105 | # not defined, but ada-lex.c is present, compilation will continue, |
| 106 | # possibly with a warning. |
| 107 | FLEX = flex |
| 108 | |
| 109 | YLWRAP = $(srcdir)/../ylwrap |
| 110 | |
| 111 | # where to find makeinfo, preferably one designed for texinfo-2 |
| 112 | MAKEINFO=makeinfo |
| 113 | |
| 114 | # Contrary to documentation, the current directory is not |
| 115 | # searched by texi2html, so specify it explicitly. |
| 116 | # -macro 2007-07-26 |
| 117 | MAKEHTML = texi2html |
| 118 | MAKEHTMLFLAGS = -menu -split_chapter -I . |
| 119 | |
| 120 | # Set this up with gcc if you have gnu ld and the loader will print out |
| 121 | # line numbers for undefined references. |
| 122 | #CC_LD=gcc -static |
| 123 | CC_LD=$(CC) |
| 124 | |
| 125 | # Where is our "include" directory? Typically $(srcdir)/../include. |
| 126 | # This is essentially the header file directory for the library |
| 127 | # routines in libiberty. |
| 128 | INCLUDE_DIR = $(srcdir)/../include |
| 129 | INCLUDE_CFLAGS = -I$(INCLUDE_DIR) |
| 130 | |
| 131 | # Where is the "-liberty" library? Typically in ../libiberty. |
| 132 | LIBIBERTY = ../libiberty/libiberty.a |
| 133 | |
| 134 | # Where is the BFD library? Typically in ../bfd. |
| 135 | BFD_DIR = ../bfd |
| 136 | BFD = $(BFD_DIR)/libbfd.a |
| 137 | BFD_SRC = $(srcdir)/$(BFD_DIR) |
| 138 | BFD_CFLAGS = -I$(BFD_DIR) -I$(BFD_SRC) |
| 139 | |
| 140 | # Where is the decnumber library? Typically in ../libdecnumber. |
| 141 | LIBDECNUMBER_DIR = ../libdecnumber |
| 142 | LIBDECNUMBER = $(LIBDECNUMBER_DIR)/libdecnumber.a |
| 143 | LIBDECNUMBER_SRC = $(srcdir)/$(LIBDECNUMBER_DIR) |
| 144 | LIBDECNUMBER_CFLAGS = -I$(LIBDECNUMBER_DIR) -I$(LIBDECNUMBER_SRC) |
| 145 | |
| 146 | # Where is the READLINE library? Typically in ../readline. |
| 147 | READLINE_DIR = ../readline |
| 148 | READLINE_SRC = $(srcdir)/$(READLINE_DIR) |
| 149 | READLINE = @READLINE@ |
| 150 | READLINE_DEPS = @READLINE_DEPS@ |
| 151 | READLINE_CFLAGS = @READLINE_CFLAGS@ |
| 152 | |
| 153 | # Where is expat? This will be empty if expat was not available. |
| 154 | LIBEXPAT = @LIBEXPAT@ |
| 155 | |
| 156 | WARN_CFLAGS = @WARN_CFLAGS@ |
| 157 | WERROR_CFLAGS = @WERROR_CFLAGS@ |
| 158 | GDB_WARN_CFLAGS = $(WARN_CFLAGS) |
| 159 | GDB_WERROR_CFLAGS = $(WERROR_CFLAGS) |
| 160 | |
| 161 | GDB_WARN_CFLAGS_NO_FORMAT = `echo " $(GDB_WARN_CFLAGS) " | sed "s/ -Wformat-nonliteral / /g"` |
| 162 | |
| 163 | # Where is the INTL library? Typically in ../intl. |
| 164 | INTL = @LIBINTL@ |
| 165 | INTL_DEPS = @LIBINTL_DEP@ |
| 166 | INTL_CFLAGS = @INCINTL@ |
| 167 | |
| 168 | # Where is the ICONV library? This can be empty if libc has iconv. |
| 169 | LIBICONV = @LIBICONV@ |
| 170 | |
| 171 | # Did the user give us a --with-sysroot option? |
| 172 | TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@ |
| 173 | TARGET_SYSTEM_ROOT_DEFINE = @TARGET_SYSTEM_ROOT_DEFINE@ |
| 174 | |
| 175 | # Helper code from gnulib. |
| 176 | LIBGNU = gnulib/libgnu.a |
| 177 | INCGNU = -I$(srcdir)/gnulib -Ignulib |
| 178 | |
| 179 | # Generated headers in the gnulib directory. These must be listed |
| 180 | # so that they are generated before other files are compiled. |
| 181 | GNULIB_H = gnulib/string.h @GNULIB_STDINT_H@ |
| 182 | |
| 183 | # |
| 184 | # CLI sub directory definitons |
| 185 | # |
| 186 | SUBDIR_CLI_OBS = \ |
| 187 | cli-dump.o \ |
| 188 | cli-decode.o cli-script.o cli-cmds.o cli-setshow.o \ |
| 189 | cli-logging.o \ |
| 190 | cli-interp.o |
| 191 | SUBDIR_CLI_SRCS = \ |
| 192 | cli/cli-dump.c \ |
| 193 | cli/cli-decode.c cli/cli-script.c cli/cli-cmds.c cli/cli-setshow.c \ |
| 194 | cli/cli-logging.c \ |
| 195 | cli/cli-interp.c |
| 196 | SUBDIR_CLI_DEPS = |
| 197 | SUBDIR_CLI_LDFLAGS= |
| 198 | SUBDIR_CLI_CFLAGS= |
| 199 | |
| 200 | # |
| 201 | # MI sub directory definitons |
| 202 | # |
| 203 | SUBDIR_MI_OBS = \ |
| 204 | mi-out.o mi-console.o \ |
| 205 | mi-cmds.o mi-cmd-env.o mi-cmd-var.o mi-cmd-break.o mi-cmd-stack.o \ |
| 206 | mi-cmd-file.o mi-cmd-disas.o mi-symbol-cmds.o mi-cmd-target.o \ |
| 207 | mi-interp.o \ |
| 208 | mi-main.o mi-parse.o mi-getopt.o mi-common.o |
| 209 | SUBDIR_MI_SRCS = \ |
| 210 | mi/mi-out.c mi/mi-console.c \ |
| 211 | mi/mi-cmds.c mi/mi-cmd-env.c \ |
| 212 | mi/mi-cmd-var.c mi/mi-cmd-break.c mi/mi-cmd-stack.c \ |
| 213 | mi/mi-cmd-file.c mi/mi-cmd-disas.c mi/mi-symbol-cmds.c \ |
| 214 | mi/mi-cmd-target.c mi/mi-interp.c \ |
| 215 | mi/mi-main.c mi/mi-parse.c mi/mi-getopt.c mi/mi-common.c |
| 216 | SUBDIR_MI_DEPS = |
| 217 | SUBDIR_MI_LDFLAGS= |
| 218 | SUBDIR_MI_CFLAGS= \ |
| 219 | -DMI_OUT=1 |
| 220 | |
| 221 | # |
| 222 | # TUI sub directory definitions |
| 223 | # |
| 224 | |
| 225 | # Name of the TUI program |
| 226 | TUI=gdbtui |
| 227 | |
| 228 | SUBDIR_TUI_OBS = \ |
| 229 | tui-command.o \ |
| 230 | tui-data.o \ |
| 231 | tui-disasm.o \ |
| 232 | tui-file.o tui.o \ |
| 233 | tui-hooks.o \ |
| 234 | tui-interp.o \ |
| 235 | tui-io.o \ |
| 236 | tui-layout.o \ |
| 237 | tui-out.o \ |
| 238 | tui-regs.o \ |
| 239 | tui-source.o \ |
| 240 | tui-stack.o \ |
| 241 | tui-win.o \ |
| 242 | tui-windata.o \ |
| 243 | tui-wingeneral.o \ |
| 244 | tui-winsource.o |
| 245 | SUBDIR_TUI_SRCS = \ |
| 246 | tui/tui-command.c \ |
| 247 | tui/tui-data.c \ |
| 248 | tui/tui-disasm.c \ |
| 249 | tui/tui-file.c \ |
| 250 | tui/tui-hooks.c \ |
| 251 | tui/tui-interp.c \ |
| 252 | tui/tui-io.c \ |
| 253 | tui/tui-layout.c \ |
| 254 | tui/tui-out.c \ |
| 255 | tui/tui-regs.c \ |
| 256 | tui/tui-source.c \ |
| 257 | tui/tui-stack.c \ |
| 258 | tui/tui-win.c \ |
| 259 | tui/tui-windata.c \ |
| 260 | tui/tui-wingeneral.c \ |
| 261 | tui/tui-winsource.c \ |
| 262 | tui/tui.c |
| 263 | SUBDIR_TUI_DEPS = |
| 264 | SUBDIR_TUI_LDFLAGS= |
| 265 | SUBDIR_TUI_CFLAGS= \ |
| 266 | -DTUI=1 |
| 267 | |
| 268 | # |
| 269 | # python sub directory definitons |
| 270 | # |
| 271 | SUBDIR_PYTHON_OBS = \ |
| 272 | python.o \ |
| 273 | python-utils.o \ |
| 274 | python-value.o |
| 275 | SUBDIR_PYTHON_SRCS = \ |
| 276 | python/python.c \ |
| 277 | python/python-utils.c \ |
| 278 | python/python-value.c |
| 279 | SUBDIR_PYTHON_DEPS = |
| 280 | SUBDIR_PYTHON_LDFLAGS= |
| 281 | SUBDIR_PYTHON_CFLAGS= |
| 282 | |
| 283 | |
| 284 | # Opcodes currently live in one of two places. Either they are in the |
| 285 | # opcode library, typically ../opcodes, or they are in a header file |
| 286 | # in INCLUDE_DIR. |
| 287 | # Where is the "-lopcodes" library, with (some of) the opcode tables and |
| 288 | # disassemblers? |
| 289 | OPCODES_DIR = ../opcodes |
| 290 | OPCODES_SRC = $(srcdir)/$(OPCODES_DIR) |
| 291 | OPCODES = $(OPCODES_DIR)/libopcodes.a |
| 292 | # Where are the other opcode tables which only have header file |
| 293 | # versions? |
| 294 | OP_INCLUDE = $(INCLUDE_DIR)/opcode |
| 295 | OPCODES_CFLAGS = -I$(OP_INCLUDE) |
| 296 | |
| 297 | # The simulator is usually nonexistent; targets that include one |
| 298 | # should set this to list all the .o or .a files to be linked in. |
| 299 | SIM = @SIM@ |
| 300 | |
| 301 | WIN32LIBS = @WIN32LIBS@ |
| 302 | |
| 303 | # Tcl et al cflags and libraries |
| 304 | TCL = @TCL_LIBRARY@ |
| 305 | TCL_CFLAGS = @TCL_INCLUDE@ |
| 306 | GDBTKLIBS = @GDBTKLIBS@ |
| 307 | # Extra flags that the GDBTK files need: |
| 308 | GDBTK_CFLAGS = @GDBTK_CFLAGS@ |
| 309 | |
| 310 | TK = @TK_LIBRARY@ |
| 311 | TK_CFLAGS = @TK_INCLUDE@ |
| 312 | |
| 313 | X11_CFLAGS = @TK_XINCLUDES@ |
| 314 | X11_LDFLAGS = |
| 315 | X11_LIBS = |
| 316 | |
| 317 | WIN32LDAPP = @WIN32LDAPP@ |
| 318 | |
| 319 | LIBGUI = @LIBGUI@ |
| 320 | GUI_CFLAGS_X = @GUI_CFLAGS_X@ |
| 321 | IDE_CFLAGS=$(GUI_CFLAGS_X) $(IDE_CFLAGS_X) |
| 322 | |
| 323 | ALL_TCL_CFLAGS = $(TCL_CFLAGS) $(TK_CFLAGS) |
| 324 | |
| 325 | # The version of gdbtk we're building. This should be kept |
| 326 | # in sync with GDBTK_VERSION and friends in gdbtk.h. |
| 327 | GDBTK_VERSION = 1.0 |
| 328 | GDBTK_LIBRARY = $(datadir)/insight$(GDBTK_VERSION) |
| 329 | |
| 330 | # Gdbtk requires an absolute path to the source directory or |
| 331 | # the testsuite won't run properly. |
| 332 | GDBTK_SRC_DIR = @GDBTK_SRC_DIR@ |
| 333 | |
| 334 | SUBDIR_GDBTK_OBS = \ |
| 335 | gdbtk.o gdbtk-bp.o gdbtk-cmds.o gdbtk-hooks.o gdbtk-interp.o \ |
| 336 | gdbtk-register.o gdbtk-stack.o gdbtk-varobj.o gdbtk-wrapper.o |
| 337 | SUBDIR_GDBTK_SRCS = \ |
| 338 | gdbtk/generic/gdbtk.c gdbtk/generic/gdbtk-bp.c \ |
| 339 | gdbtk/generic/gdbtk-cmds.c gdbtk/generic/gdbtk-hooks.c \ |
| 340 | gdbtk/generic/gdbtk-interp.c \ |
| 341 | gdbtk/generic/gdbtk-register.c gdbtk/generic/gdbtk-stack.c \ |
| 342 | gdbtk/generic/gdbtk-varobj.c gdbtk/generic/gdbtk-wrapper.c \ |
| 343 | gdbtk/generic/gdbtk-main.c |
| 344 | SUBDIR_GDBTK_DEPS = $(LIBGUI) $(TCL_DEPS) $(TK_DEPS) |
| 345 | SUBDIR_GDBTK_LDFLAGS= |
| 346 | SUBDIR_GDBTK_CFLAGS= -DGDBTK |
| 347 | |
| 348 | CONFIG_OBS= @CONFIG_OBS@ |
| 349 | CONFIG_SRCS= @CONFIG_SRCS@ |
| 350 | CONFIG_DEPS= @CONFIG_DEPS@ |
| 351 | CONFIG_LDFLAGS = @CONFIG_LDFLAGS@ |
| 352 | ENABLE_CFLAGS= @ENABLE_CFLAGS@ |
| 353 | CONFIG_ALL= @CONFIG_ALL@ |
| 354 | CONFIG_CLEAN= @CONFIG_CLEAN@ |
| 355 | CONFIG_INSTALL = @CONFIG_INSTALL@ |
| 356 | CONFIG_UNINSTALL = @CONFIG_UNINSTALL@ |
| 357 | |
| 358 | # -I. for config files. |
| 359 | # -I$(srcdir) for gdb internal headers. |
| 360 | # -I$(srcdir)/config for more generic config files. |
| 361 | |
| 362 | # It is also possible that you will need to add -I/usr/include/sys if |
| 363 | # your system doesn't have fcntl.h in /usr/include (which is where it |
| 364 | # should be according to Posix). |
| 365 | DEFS = @DEFS@ |
| 366 | GDB_CFLAGS = -I. -I$(srcdir) -I$(srcdir)/config -DLOCALEDIR="\"$(localedir)\"" $(DEFS) |
| 367 | |
| 368 | # MH_CFLAGS, if defined, has host-dependent CFLAGS from the config directory. |
| 369 | GLOBAL_CFLAGS = $(MH_CFLAGS) |
| 370 | |
| 371 | PROFILE_CFLAGS = @PROFILE_CFLAGS@ |
| 372 | |
| 373 | # CFLAGS is specifically reserved for setting from the command line |
| 374 | # when running make. I.E. "make CFLAGS=-Wmissing-prototypes". |
| 375 | CFLAGS = @CFLAGS@ |
| 376 | |
| 377 | # Set by configure, for e.g. expat. |
| 378 | INTERNAL_CPPFLAGS = @CPPFLAGS@ |
| 379 | |
| 380 | # Need to pass this to testsuite for "make check". Probably should be |
| 381 | # consistent with top-level Makefile.in and gdb/testsuite/Makefile.in |
| 382 | # so "make check" has the same result no matter where it is run. |
| 383 | CXXFLAGS = -g -O |
| 384 | |
| 385 | # INTERNAL_CFLAGS is the aggregate of all other *CFLAGS macros. |
| 386 | INTERNAL_CFLAGS_BASE = \ |
| 387 | $(CFLAGS) $(GLOBAL_CFLAGS) $(PROFILE_CFLAGS) \ |
| 388 | $(GDB_CFLAGS) $(OPCODES_CFLAGS) $(READLINE_CFLAGS) \ |
| 389 | $(BFD_CFLAGS) $(INCLUDE_CFLAGS) $(LIBDECNUMBER_CFLAGS) \ |
| 390 | $(INTL_CFLAGS) $(INCGNU) $(ENABLE_CFLAGS) $(INTERNAL_CPPFLAGS) |
| 391 | INTERNAL_WARN_CFLAGS = $(INTERNAL_CFLAGS_BASE) $(GDB_WARN_CFLAGS) |
| 392 | INTERNAL_CFLAGS = $(INTERNAL_WARN_CFLAGS) $(GDB_WERROR_CFLAGS) |
| 393 | |
| 394 | # LDFLAGS is specifically reserved for setting from the command line |
| 395 | # when running make. |
| 396 | LDFLAGS = @LDFLAGS@ |
| 397 | |
| 398 | # Profiling options need to go here to work. |
| 399 | # I think it's perfectly reasonable for a user to set -pg in CFLAGS |
| 400 | # and have it work; that's why CFLAGS is here. |
| 401 | # PROFILE_CFLAGS is _not_ included, however, because we use monstartup. |
| 402 | INTERNAL_LDFLAGS = $(CFLAGS) $(GLOBAL_CFLAGS) $(MH_LDFLAGS) $(LDFLAGS) $(CONFIG_LDFLAGS) |
| 403 | |
| 404 | # If your system is missing alloca(), or, more likely, it's there but |
| 405 | # it doesn't work, then refer to libiberty. |
| 406 | |
| 407 | # Libraries and corresponding dependencies for compiling gdb. |
| 408 | # {X,T}M_CLIBS, defined in *config files, have host- and target-dependent libs. |
| 409 | # LIBIBERTY appears twice on purpose. |
| 410 | # If you have the Cygnus libraries installed, |
| 411 | # you can use 'CLIBS=$(INSTALLED_LIBS)' 'CDEPS=' |
| 412 | INSTALLED_LIBS=-lbfd -lreadline -lopcodes -liberty -ldecnumber \ |
| 413 | $(XM_CLIBS) $(NAT_CLIBS) $(GDBTKLIBS) @LIBS@ \ |
| 414 | -lintl -liberty $(LIBGNU) |
| 415 | CLIBS = $(SIM) $(READLINE) $(OPCODES) $(BFD) $(INTL) $(LIBIBERTY) $(LIBDECNUMBER) \ |
| 416 | $(XM_CLIBS) $(NAT_CLIBS) $(GDBTKLIBS) @LIBS@ \ |
| 417 | $(LIBICONV) $(LIBEXPAT) \ |
| 418 | $(LIBIBERTY) $(WIN32LIBS) $(LIBGNU) |
| 419 | CDEPS = $(XM_CDEPS) $(NAT_CDEPS) $(SIM) $(BFD) $(READLINE_DEPS) \ |
| 420 | $(OPCODES) $(INTL_DEPS) $(LIBIBERTY) $(CONFIG_DEPS) $(LIBGNU) |
| 421 | |
| 422 | ADD_FILES = $(XM_ADD_FILES) $(TM_ADD_FILES) $(NAT_ADD_FILES) |
| 423 | ADD_DEPS = $(XM_ADD_FILES) $(TM_ADD_FILES) $(NAT_ADD_FILES) |
| 424 | |
| 425 | DIST=gdb |
| 426 | |
| 427 | LINT=/usr/5bin/lint |
| 428 | LINTFLAGS= $(GDB_CFLAGS) $(OPCODES_CFLAGS) $(READLINE_CFLAGS) \ |
| 429 | $(BFD_CFLAGS) $(INCLUDE_CFLAGS) \ |
| 430 | $(INTL_CFLAGS) |
| 431 | |
| 432 | RUNTEST = runtest |
| 433 | RUNTESTFLAGS= |
| 434 | |
| 435 | # XML files to build in to GDB. |
| 436 | XMLFILES = $(srcdir)/features/gdb-target.dtd $(srcdir)/features/xinclude.dtd \ |
| 437 | $(srcdir)/features/library-list.dtd $(srcdir)/features/osdata.dtd |
| 438 | |
| 439 | # This is ser-unix.o for any system which supports a v7/BSD/SYSV/POSIX |
| 440 | # interface to the serial port. Hopefully if get ported to OS/2, VMS, |
| 441 | # etc., then there will be (as part of the C library or perhaps as |
| 442 | # part of libiberty) a POSIX interface. But at least for now the |
| 443 | # host-dependent makefile fragment might need to use something else |
| 444 | # besides ser-unix.o |
| 445 | SER_HARDWIRE = @SER_HARDWIRE@ |
| 446 | |
| 447 | # The `remote' debugging target is supported for most architectures, |
| 448 | # but not all (e.g. 960) |
| 449 | REMOTE_OBS = remote.o dcache.o tracepoint.o ax-general.o ax-gdb.o remote-fileio.o |
| 450 | |
| 451 | # This is remote-sim.o if a simulator is to be linked in. |
| 452 | SIM_OBS = @SIM_OBS@ |
| 453 | |
| 454 | # Target-dependent object files. |
| 455 | TARGET_OBS = @TARGET_OBS@ |
| 456 | |
| 457 | # All target-dependent objects files that require 64-bit CORE_ADDR |
| 458 | # (used with --enable-targets=all --enable-64-bit-bfd). |
| 459 | ALL_64_TARGET_OBS = \ |
| 460 | alphabsd-tdep.o alphafbsd-tdep.o alpha-linux-tdep.o alpha-mdebug-tdep.o \ |
| 461 | alphanbsd-tdep.o alphaobsd-tdep.o alpha-osf1-tdep.o alpha-tdep.o \ |
| 462 | amd64fbsd-tdep.o amd64-linux-tdep.o amd64nbsd-tdep.o amd64obsd-tdep.o \ |
| 463 | amd64-sol2-tdep.o amd64-tdep.o \ |
| 464 | ia64-linux-tdep.o ia64-tdep.o \ |
| 465 | mips64obsd-tdep.o \ |
| 466 | sparc64fbsd-tdep.o sparc64-linux-tdep.o sparc64nbsd-tdep.o \ |
| 467 | sparc64obsd-tdep.o sparc64-sol2-tdep.o sparc64-tdep.o |
| 468 | |
| 469 | # All other target-dependent objects files (used with --enable-targets=all). |
| 470 | ALL_TARGET_OBS = \ |
| 471 | armbsd-tdep.o arm-linux-tdep.o armnbsd-tdep.o armobsd-tdep.o \ |
| 472 | arm-tdep.o arm-wince-tdep.o \ |
| 473 | avr-tdep.o \ |
| 474 | cris-tdep.o \ |
| 475 | frv-linux-tdep.o frv-tdep.o \ |
| 476 | h8300-tdep.o \ |
| 477 | hppabsd-tdep.o hppanbsd-tdep.o hppaobsd-tdep.o \ |
| 478 | hppa-hpux-tdep.o hppa-linux-tdep.o hppa-tdep.o \ |
| 479 | i386bsd-tdep.o i386-cygwin-tdep.o i386fbsd-tdep.o i386gnu-tdep.o \ |
| 480 | i386-linux-tdep.o i386nbsd-tdep.o i386-nto-tdep.o i386obsd-tdep.o \ |
| 481 | i386-sol2-tdep.o i386-tdep.o i387-tdep.o \ |
| 482 | i386-dicos-tdep.o \ |
| 483 | iq2000-tdep.o \ |
| 484 | m32c-tdep.o \ |
| 485 | m32r-linux-tdep.o m32r-tdep.o \ |
| 486 | m68hc11-tdep.o \ |
| 487 | m68kbsd-tdep.o m68klinux-tdep.o m68k-tdep.o \ |
| 488 | m88k-tdep.o \ |
| 489 | mep-tdep.o \ |
| 490 | mips-irix-tdep.o mips-linux-tdep.o \ |
| 491 | mipsnbsd-tdep.o mips-tdep.o \ |
| 492 | mn10300-linux-tdep.o mn10300-tdep.o \ |
| 493 | mt-tdep.o \ |
| 494 | nto-tdep.o \ |
| 495 | ppc-linux-tdep.o ppcnbsd-tdep.o ppcobsd-tdep.o ppc-sysv-tdep.o \ |
| 496 | rs6000-aix-tdep.o rs6000-tdep.o \ |
| 497 | s390-tdep.o \ |
| 498 | score-tdep.o \ |
| 499 | sh64-tdep.o sh-linux-tdep.o shnbsd-tdep.o sh-tdep.o \ |
| 500 | sparc-linux-tdep.o sparcnbsd-tdep.o sparcobsd-tdep.o \ |
| 501 | sparc-sol2-tdep.o sparc-tdep.o \ |
| 502 | spu-tdep.o \ |
| 503 | v850-tdep.o \ |
| 504 | vaxnbsd-tdep.o vaxobsd-tdep.o vax-tdep.o \ |
| 505 | xstormy16-tdep.o \ |
| 506 | xtensa-config.o xtensa-tdep.o xtensa-linux-tdep.o \ |
| 507 | glibc-tdep.o \ |
| 508 | bsd-uthread.o \ |
| 509 | nbsd-tdep.o obsd-tdep.o \ |
| 510 | sol2-tdep.o \ |
| 511 | solib.o solib-frv.o solib-irix.o solib-svr4.o solib-target.o \ |
| 512 | solib-som.o solib-pa64.o \ |
| 513 | dbug-rom.o dink32-rom.o ppcbug-rom.o m32r-rom.o dsrec.o monitor.o \ |
| 514 | remote-m32r-sdi.o \ |
| 515 | xcoffread.o \ |
| 516 | prologue-value.o \ |
| 517 | symfile-mem.o \ |
| 518 | corelow.o \ |
| 519 | windows-tdep.o |
| 520 | |
| 521 | # Host-dependent makefile fragment comes in here. |
| 522 | @host_makefile_frag@ |
| 523 | # End of host-dependent makefile fragment |
| 524 | |
| 525 | FLAGS_TO_PASS = \ |
| 526 | "prefix=$(prefix)" \ |
| 527 | "exec_prefix=$(exec_prefix)" \ |
| 528 | "infodir=$(infodir)" \ |
| 529 | "pdfdir=$(pdfdir)" \ |
| 530 | "libdir=$(libdir)" \ |
| 531 | "mandir=$(mandir)" \ |
| 532 | "datadir=$(datadir)" \ |
| 533 | "includedir=$(includedir)" \ |
| 534 | "against=$(against)" \ |
| 535 | "DESTDIR=$(DESTDIR)" \ |
| 536 | "AR=$(AR)" \ |
| 537 | "AR_FLAGS=$(AR_FLAGS)" \ |
| 538 | "CC=$(CC)" \ |
| 539 | "CFLAGS=$(CFLAGS)" \ |
| 540 | "CXX=$(CXX)" \ |
| 541 | "CXXFLAGS=$(CXXFLAGS)" \ |
| 542 | "DLLTOOL=$(DLLTOOL)" \ |
| 543 | "LDFLAGS=$(LDFLAGS)" \ |
| 544 | "RANLIB=$(RANLIB)" \ |
| 545 | "MAKEINFO=$(MAKEINFO)" \ |
| 546 | "MAKEHTML=$(MAKEHTML)" \ |
| 547 | "MAKEHTMLFLAGS=$(MAKEHTMLFLAGS)" \ |
| 548 | "INSTALL=$(INSTALL)" \ |
| 549 | "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ |
| 550 | "INSTALL_DATA=$(INSTALL_DATA)" \ |
| 551 | "RUNTEST=$(RUNTEST)" \ |
| 552 | "RUNTESTFLAGS=$(RUNTESTFLAGS)" |
| 553 | |
| 554 | # Flags that we pass when building the testsuite. |
| 555 | |
| 556 | # empty for native, $(target_alias)/ for cross |
| 557 | target_subdir = @target_subdir@ |
| 558 | |
| 559 | CC_FOR_TARGET = ` \ |
| 560 | if [ -f $${rootme}/../gcc/xgcc ] ; then \ |
| 561 | if [ -f $${rootme}/../$(target_subdir)newlib/Makefile ] ; then \ |
| 562 | 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/; \ |
| 563 | else \ |
| 564 | echo $${rootme}/../gcc/xgcc -B$${rootme}/../gcc/; \ |
| 565 | fi; \ |
| 566 | else \ |
| 567 | if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ |
| 568 | echo $(CC); \ |
| 569 | else \ |
| 570 | t='$(program_transform_name)'; echo gcc | sed -e '' $$t; \ |
| 571 | fi; \ |
| 572 | fi` |
| 573 | |
| 574 | CXX = gcc |
| 575 | CXX_FOR_TARGET = ` \ |
| 576 | if [ -f $${rootme}/../gcc/xgcc ] ; then \ |
| 577 | if [ -f $${rootme}/../$(target_subdir)newlib/Makefile ] ; then \ |
| 578 | 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/; \ |
| 579 | else \ |
| 580 | echo $${rootme}/../gcc/xgcc -B$${rootme}/../gcc/; \ |
| 581 | fi; \ |
| 582 | else \ |
| 583 | if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ |
| 584 | echo $(CXX); \ |
| 585 | else \ |
| 586 | t='$(program_transform_name)'; echo gcc | sed -e '' $$t; \ |
| 587 | fi; \ |
| 588 | fi` |
| 589 | |
| 590 | # The use of $$(x_FOR_TARGET) reduces the command line length by not |
| 591 | # duplicating the lengthy definition. |
| 592 | TARGET_FLAGS_TO_PASS = \ |
| 593 | "prefix=$(prefix)" \ |
| 594 | "exec_prefix=$(exec_prefix)" \ |
| 595 | "against=$(against)" \ |
| 596 | 'CC=$$(CC_FOR_TARGET)' \ |
| 597 | "CC_FOR_TARGET=$(CC_FOR_TARGET)" \ |
| 598 | "CFLAGS=$(CFLAGS)" \ |
| 599 | 'CXX=$$(CXX_FOR_TARGET)' \ |
| 600 | "CXX_FOR_TARGET=$(CXX_FOR_TARGET)" \ |
| 601 | "CXXFLAGS=$(CXXFLAGS)" \ |
| 602 | "INSTALL=$(INSTALL)" \ |
| 603 | "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ |
| 604 | "INSTALL_DATA=$(INSTALL_DATA)" \ |
| 605 | "MAKEINFO=$(MAKEINFO)" \ |
| 606 | "MAKEHTML=$(MAKEHTML)" \ |
| 607 | "RUNTEST=$(RUNTEST)" \ |
| 608 | "RUNTESTFLAGS=$(RUNTESTFLAGS)" |
| 609 | |
| 610 | # All source files that go into linking GDB. |
| 611 | # Links made at configuration time should not be specified here, since |
| 612 | # SFILES is used in building the distribution archive. |
| 613 | |
| 614 | SFILES = ada-exp.y ada-lang.c ada-typeprint.c ada-valprint.c ada-tasks.c \ |
| 615 | addrmap.c \ |
| 616 | auxv.c ax-general.c ax-gdb.c \ |
| 617 | bcache.c \ |
| 618 | bfd-target.c \ |
| 619 | block.c blockframe.c breakpoint.c buildsym.c \ |
| 620 | c-exp.y c-lang.c c-typeprint.c c-valprint.c \ |
| 621 | charset.c cli-out.c coffread.c coff-pe-read.c \ |
| 622 | complaints.c completer.c corefile.c \ |
| 623 | cp-abi.c cp-support.c cp-namespace.c cp-valprint.c \ |
| 624 | cp-name-parser.y \ |
| 625 | dbxread.c demangle.c dictionary.c disasm.c doublest.c dummy-frame.c \ |
| 626 | dwarf2expr.c dwarf2loc.c dwarf2read.c dwarf2-frame.c \ |
| 627 | elfread.c environ.c eval.c event-loop.c event-top.c expprint.c \ |
| 628 | f-exp.y f-lang.c f-typeprint.c f-valprint.c findcmd.c findvar.c \ |
| 629 | frame.c frame-base.c frame-unwind.c \ |
| 630 | gdbarch.c arch-utils.c gdbtypes.c gnu-v2-abi.c gnu-v3-abi.c \ |
| 631 | inf-loop.c \ |
| 632 | infcall.c \ |
| 633 | infcmd.c inflow.c infrun.c \ |
| 634 | interps.c \ |
| 635 | jv-exp.y jv-lang.c jv-valprint.c jv-typeprint.c \ |
| 636 | language.c linespec.c \ |
| 637 | m2-exp.y m2-lang.c m2-typeprint.c m2-valprint.c \ |
| 638 | macrotab.c macroexp.c macrocmd.c macroscope.c main.c maint.c \ |
| 639 | mdebugread.c memattr.c mem-break.c minsyms.c mipsread.c memory-map.c \ |
| 640 | objc-exp.y objc-lang.c \ |
| 641 | objfiles.c osabi.c observer.c osdata.c \ |
| 642 | p-exp.y p-lang.c p-typeprint.c p-valprint.c parse.c printcmd.c \ |
| 643 | prologue-value.c \ |
| 644 | regcache.c reggroups.c remote.c remote-fileio.c reverse.c \ |
| 645 | scm-exp.c scm-lang.c scm-valprint.c \ |
| 646 | sentinel-frame.c \ |
| 647 | serial.c ser-base.c ser-unix.c \ |
| 648 | solib.c solib-null.c source.c \ |
| 649 | stabsread.c stack.c std-regs.c symfile.c symfile-mem.c symmisc.c \ |
| 650 | symtab.c \ |
| 651 | target.c target-descriptions.c target-memory.c \ |
| 652 | thread.c top.c tracepoint.c \ |
| 653 | trad-frame.c \ |
| 654 | tramp-frame.c \ |
| 655 | typeprint.c \ |
| 656 | ui-out.c utils.c ui-file.h ui-file.c \ |
| 657 | user-regs.c \ |
| 658 | valarith.c valops.c valprint.c value.c varobj.c vec.c \ |
| 659 | wrapper.c \ |
| 660 | xml-tdesc.c xml-support.c \ |
| 661 | inferior.c |
| 662 | |
| 663 | LINTFILES = $(SFILES) $(YYFILES) $(CONFIG_SRCS) init.c |
| 664 | |
| 665 | # Header files that need to have srcdir added. Note that in the cases |
| 666 | # where we use a macro like $(gdbcmd_h), things are carefully arranged |
| 667 | # so that each .h file is listed exactly once (M-x tags-search works |
| 668 | # wrong if TAGS has files twice). Because this is tricky to get |
| 669 | # right, it is probably easiest just to list .h files here directly. |
| 670 | |
| 671 | HFILES_NO_SRCDIR = osf-share/cma_debug_client.h \ |
| 672 | osf-share/HP800/cma_thread_io.h osf-share/cma_sequence.h \ |
| 673 | osf-share/cma_mutex.h osf-share/cma_semaphore_defs.h \ |
| 674 | osf-share/cma_list.h osf-share/cma_handle.h osf-share/cma_stack.h \ |
| 675 | osf-share/cma_util.h osf-share/RIOS/cma_thread_io.h \ |
| 676 | osf-share/cma_errors.h osf-share/cma_tcb_defs.h osf-share/cma_attr.h \ |
| 677 | osf-share/cma_stack_int.h osf-share/cma_init.h \ |
| 678 | osf-share/cma_deb_core.h osf-share/AT386/cma_thread_io.h \ |
| 679 | osf-share/cma_sched.h proc-utils.h arm-tdep.h ax-gdb.h ppcnbsd-tdep.h \ |
| 680 | cli-out.h gdb_expat.h breakpoint.h infcall.h obsd-tdep.h gnu-v2-abi.h \ |
| 681 | exec.h m32r-tdep.h osabi.h gdbcore.h solib-som.h \ |
| 682 | i386bsd-nat.h xml-support.h xml-tdesc.h alphabsd-tdep.h gdb_obstack.h \ |
| 683 | ia64-tdep.h ada-lang.h varobj.h frv-tdep.h nto-tdep.h serial.h \ |
| 684 | c-lang.h frame.h event-loop.h block.h cli/cli-setshow.h \ |
| 685 | cli/cli-decode.h cli/cli-cmds.h cli/cli-dump.h \ |
| 686 | cli/cli-script.h macrotab.h symtab.h version.h gnulib/wchar.in.h \ |
| 687 | gnulib/string.in.h gnulib/str-two-way.h gnulib/extra/link-warning.h \ |
| 688 | gnulib/stdint.in.h remote.h gdb.h sparc-nat.h gdbserver/win32-low.h \ |
| 689 | gdbserver/i387-fp.h gdbserver/server.h gdbserver/terminal.h \ |
| 690 | gdbserver/mem-break.h gdbserver/wincecompat.h gdbserver/target.h \ |
| 691 | gdbserver/linux-low.h gdbserver/gdb_proc_service.h \ |
| 692 | gdbserver/regcache.h gdbthread.h dwarf2-frame.h nbsd-nat.h dcache.h \ |
| 693 | amd64-nat.h s390-tdep.h arm-linux-tdep.h exceptions.h macroscope.h \ |
| 694 | gdbarch.h bsd-uthread.h gdb_thread_db.h gdb_stat.h memory-map.h \ |
| 695 | mdebugread.h m88k-tdep.h stabsread.h hppa-linux-offsets.h linux-fork.h \ |
| 696 | ser-unix.h scm-lang.h inf-ptrace.h terminal.h ui-out.h frame-base.h \ |
| 697 | f-lang.h dwarf2loc.h value.h sparc-tdep.h defs.h target-descriptions.h \ |
| 698 | objfiles.h vec.h disasm.h mips-tdep.h ser-base.h \ |
| 699 | gdb_curses.h bfd-target.h memattr.h inferior.h ax.h dummy-frame.h \ |
| 700 | inflow.h fbsd-nat.h libunwind-frame.h completer.h inf-ttrace.h \ |
| 701 | solib-target.h shnbsd-tdep.h gdb_vfork.h alpha-tdep.h dwarf2expr.h \ |
| 702 | m2-lang.h stack.h charset.h addrmap.h command.h solist.h source.h \ |
| 703 | target.h prologue-value.h cp-abi.h tui/tui-hooks.h tui/tui.h \ |
| 704 | tui/tui-file.h tui/tui-command.h tui/tui-disasm.h tui/tui-wingeneral.h \ |
| 705 | tui/tui-windata.h tui/tui-data.h tui/tui-win.h tui/tui-stack.h \ |
| 706 | tui/tui-winsource.h tui/tui-regs.h tui/tui-io.h tui/tui-layout.h \ |
| 707 | tui/tui-source.h xcoffsolib.h sol2-tdep.h gregset.h sh-tdep.h \ |
| 708 | expression.h score-tdep.h gdb_select.h ser-tcp.h buildsym.h valprint.h \ |
| 709 | call-cmds.h typeprint.h mi/mi-getopt.h mi/mi-parse.h mi/mi-console.h \ |
| 710 | mi/mi-out.h mi/mi-main.h mi/mi-common.h mi/mi-cmds.h linux-nat.h \ |
| 711 | complaints.h gdb_proc_service.h gdb_regex.h xtensa-tdep.h inf-loop.h \ |
| 712 | gdb_wait.h gdb_assert.h solib.h ppc-tdep.h cp-support.h glibc-tdep.h \ |
| 713 | interps.h auxv.h gdbcmd.h tramp-frame.h mipsnbsd-tdep.h \ |
| 714 | amd64-linux-tdep.h linespec.h i387-tdep.h mn10300-tdep.h \ |
| 715 | sparc64-tdep.h monitor.h ppcobsd-tdep.h srec.h solib-pa64.h \ |
| 716 | coff-pe-read.h parser-defs.h gdb_ptrace.h mips-linux-tdep.h \ |
| 717 | m68k-tdep.h spu-tdep.h jv-lang.h environ.h solib-irix.h amd64-tdep.h \ |
| 718 | doublest.h regset.h hppa-tdep.h ppc-linux-tdep.h rs6000-tdep.h \ |
| 719 | gdb_locale.h gdb_dirent.h arch-utils.h trad-frame.h gnu-nat.h \ |
| 720 | language.h i386-cygwin-tdep.h nbsd-tdep.h wrapper.h solib-svr4.h \ |
| 721 | macroexp.h ui-file.h regcache.h gdb_string.h tracepoint.h i386-tdep.h \ |
| 722 | inf-child.h p-lang.h event-top.h gdbtypes.h scm-tags.h user-regs.h \ |
| 723 | regformats/regdef.h config/alpha/nm-osf3.h config/i386/nm-cygwin.h \ |
| 724 | config/i386/nm-linux64.h config/i386/nm-i386gnu.h \ |
| 725 | config/i386/nm-fbsd.h config/i386/nm-i386sol2.h config/i386/nm-linux.h \ |
| 726 | config/i386/nm-i386.h config/i386/nm-go32.h config/nm-nto.h \ |
| 727 | config/sparc/nm-sol2.h config/nm-linux.h config/mips/nm-irix5.h \ |
| 728 | config/rs6000/nm-rs6000.h top.h bsd-kvm.h gdb-stabs.h reggroups.h \ |
| 729 | annotate.h sim-regno.h dictionary.h dfp.h main.h frame-unwind.h \ |
| 730 | remote-fileio.h i386-linux-tdep.h vax-tdep.h objc-lang.h \ |
| 731 | sentinel-frame.h bcache.h symfile.h windows-tdep.h |
| 732 | |
| 733 | # Header files that already have srcdir in them, or which are in objdir. |
| 734 | |
| 735 | HFILES_WITH_SRCDIR = ../bfd/bfd.h |
| 736 | |
| 737 | |
| 738 | # GDB "info" files, which should be included in their entirety |
| 739 | INFOFILES = gdb.info* |
| 740 | |
| 741 | REMOTE_EXAMPLES = m68k-stub.c i386-stub.c sparc-stub.c rem-multi.shar |
| 742 | |
| 743 | # {X,T,NAT}DEPFILES are something of a pain in that it's hard to |
| 744 | # default their values the way we do for SER_HARDWIRE; in the future |
| 745 | # maybe much of the stuff now in {X,T,NAT}DEPFILES will go into other |
| 746 | # variables analogous to SER_HARDWIRE which get defaulted in this |
| 747 | # Makefile.in |
| 748 | |
| 749 | DEPFILES = $(TARGET_OBS) $(SER_HARDWIRE) $(NATDEPFILES) \ |
| 750 | $(REMOTE_OBS) $(SIM_OBS) |
| 751 | |
| 752 | SOURCES = $(SFILES) $(ALLDEPFILES) $(YYFILES) $(CONFIG_SRCS) |
| 753 | # Don't include YYFILES (*.c) because we already include *.y in SFILES, |
| 754 | # and it's more useful to see it in the .y file. |
| 755 | TAGFILES_NO_SRCDIR = $(SFILES) $(HFILES_NO_SRCDIR) $(ALLDEPFILES) \ |
| 756 | $(CONFIG_SRCS) |
| 757 | TAGFILES_WITH_SRCDIR = $(HFILES_WITH_SRCDIR) |
| 758 | |
| 759 | COMMON_OBS = $(DEPFILES) $(CONFIG_OBS) $(YYOBJ) \ |
| 760 | version.o \ |
| 761 | annotate.o \ |
| 762 | addrmap.o \ |
| 763 | auxv.o \ |
| 764 | bfd-target.o \ |
| 765 | blockframe.o breakpoint.o findvar.o regcache.o \ |
| 766 | charset.o disasm.o dummy-frame.o dfp.o \ |
| 767 | source.o value.o eval.o valops.o valarith.o valprint.o printcmd.o \ |
| 768 | block.o symtab.o symfile.o symmisc.o linespec.o dictionary.o \ |
| 769 | infcall.o \ |
| 770 | infcmd.o infrun.o \ |
| 771 | expprint.o environ.o stack.o thread.o \ |
| 772 | exceptions.o \ |
| 773 | inf-child.o \ |
| 774 | interps.o \ |
| 775 | main.o \ |
| 776 | macrotab.o macrocmd.o macroexp.o macroscope.o \ |
| 777 | event-loop.o event-top.o inf-loop.o completer.o \ |
| 778 | gdbarch.o arch-utils.o gdbtypes.o osabi.o copying.o \ |
| 779 | memattr.o mem-break.o target.o parse.o language.o buildsym.o \ |
| 780 | findcmd.o \ |
| 781 | std-regs.o \ |
| 782 | signals.o \ |
| 783 | exec.o reverse.o \ |
| 784 | bcache.o objfiles.o observer.o minsyms.o maint.o demangle.o \ |
| 785 | dbxread.o coffread.o coff-pe-read.o \ |
| 786 | dwarf2read.o mipsread.o stabsread.o corefile.o \ |
| 787 | dwarf2expr.o dwarf2loc.o dwarf2-frame.o \ |
| 788 | ada-lang.o c-lang.o f-lang.o objc-lang.o \ |
| 789 | ada-tasks.o \ |
| 790 | ui-out.o cli-out.o \ |
| 791 | varobj.o vec.o wrapper.o \ |
| 792 | jv-lang.o jv-valprint.o jv-typeprint.o \ |
| 793 | m2-lang.o p-lang.o p-typeprint.o p-valprint.o \ |
| 794 | scm-exp.o scm-lang.o scm-valprint.o \ |
| 795 | sentinel-frame.o \ |
| 796 | complaints.o typeprint.o \ |
| 797 | ada-typeprint.o c-typeprint.o f-typeprint.o m2-typeprint.o \ |
| 798 | ada-valprint.o c-valprint.o cp-valprint.o f-valprint.o m2-valprint.o \ |
| 799 | serial.o mdebugread.o top.o utils.o \ |
| 800 | ui-file.o \ |
| 801 | user-regs.o \ |
| 802 | frame.o frame-unwind.o doublest.o \ |
| 803 | frame-base.o \ |
| 804 | gnu-v2-abi.o gnu-v3-abi.o cp-abi.o cp-support.o \ |
| 805 | cp-namespace.o \ |
| 806 | reggroups.o regset.o \ |
| 807 | trad-frame.o \ |
| 808 | tramp-frame.o \ |
| 809 | solib.o solib-null.o \ |
| 810 | prologue-value.o memory-map.o xml-support.o \ |
| 811 | target-descriptions.o target-memory.o xml-tdesc.o xml-builtin.o \ |
| 812 | inferior.o osdata.o |
| 813 | |
| 814 | TSOBS = inflow.o |
| 815 | |
| 816 | SUBDIRS = @subdirs@ |
| 817 | CLEANDIRS = $(SUBDIRS) gnulib |
| 818 | |
| 819 | # For now, shortcut the "configure GDB for fewer languages" stuff. |
| 820 | YYFILES = c-exp.c \ |
| 821 | cp-name-parser.c \ |
| 822 | objc-exp.c \ |
| 823 | ada-lex.c \ |
| 824 | ada-exp.c \ |
| 825 | jv-exp.c \ |
| 826 | f-exp.c m2-exp.c p-exp.c |
| 827 | YYOBJ = c-exp.o \ |
| 828 | cp-name-parser.o \ |
| 829 | objc-exp.o \ |
| 830 | ada-exp.o \ |
| 831 | jv-exp.o \ |
| 832 | f-exp.o m2-exp.o p-exp.o |
| 833 | |
| 834 | # Things which need to be built when making a distribution. |
| 835 | |
| 836 | DISTSTUFF = $(YYFILES) |
| 837 | |
| 838 | |
| 839 | # All generated files which can be included by another file. |
| 840 | generated_files = config.h observer.h observer.inc ada-lex.c \ |
| 841 | $(GNULIB_H) $(NAT_GENERATED_FILES) |
| 842 | |
| 843 | .c.o: |
| 844 | $(COMPILE) $< |
| 845 | $(POSTCOMPILE) |
| 846 | |
| 847 | all: gdb$(EXEEXT) $(CONFIG_ALL) |
| 848 | @$(MAKE) $(FLAGS_TO_PASS) DO=all "DODIRS=`echo $(SUBDIRS) | sed 's/testsuite//'`" subdir_do |
| 849 | .PHONY: all-tui |
| 850 | all-tui: $(TUI)$(EXEEXT) |
| 851 | |
| 852 | installcheck: |
| 853 | |
| 854 | # The check target can not use subdir_do, because subdir_do does not |
| 855 | # use TARGET_FLAGS_TO_PASS. |
| 856 | check: force |
| 857 | @if [ -f testsuite/Makefile ]; then \ |
| 858 | rootme=`pwd`; export rootme; \ |
| 859 | rootsrc=`cd $(srcdir); pwd`; export rootsrc; \ |
| 860 | cd testsuite; \ |
| 861 | $(MAKE) $(TARGET_FLAGS_TO_PASS) check; \ |
| 862 | else true; fi |
| 863 | |
| 864 | # The idea is to parallelize testing of multilibs, for example: |
| 865 | # make -j3 check//sh-hms-sim/{-m1,-m2,-m3,-m3e,-m4}/{,-nofpu} |
| 866 | # will run 3 concurrent sessions of check, eventually testing all 10 |
| 867 | # combinations. GNU make is required for the % pattern to work, as is |
| 868 | # a shell that expands alternations within braces. If GNU make is not |
| 869 | # used, this rule will harmlessly fail to match. |
| 870 | check//%: force |
| 871 | @if [ -f testsuite/config.status ]; then \ |
| 872 | rootme=`pwd`; export rootme; \ |
| 873 | rootsrc=`cd $(srcdir); pwd`; export rootsrc; \ |
| 874 | target=`echo "$@" | sed 's,//.*,,'`; \ |
| 875 | variant=`echo "$@" | sed 's,^[^/]*//,,'`; \ |
| 876 | vardots=`echo "$$variant" | sed 's,/,.,g'`; \ |
| 877 | testdir=testsuite.$$vardots; \ |
| 878 | if [ ! -f $$testdir/Makefile ]; then \ |
| 879 | (cd testsuite && find . -name config.status) | \ |
| 880 | sed s,/config.status$$,, | sort | while read subdir; do \ |
| 881 | $(SHELL) $(srcdir)/../mkinstalldirs $$testdir/$$subdir && \ |
| 882 | (cd $$testdir/$$subdir && \ |
| 883 | $(SHELL) $$rootme/testsuite/$$subdir/config.status \ |
| 884 | --recheck && \ |
| 885 | $(SHELL) ./config.status); done; \ |
| 886 | else :; fi && cd $$testdir && \ |
| 887 | $(MAKE) $(TARGET_FLAGS_TO_PASS) \ |
| 888 | RUNTESTFLAGS="--target_board=$$variant $(RUNTESTFLAGS)" \ |
| 889 | "$$target"; \ |
| 890 | else true; fi |
| 891 | |
| 892 | info install-info clean-info dvi pdf install-pdf html install-html: force |
| 893 | @$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do |
| 894 | |
| 895 | gdb.z:gdb.1 |
| 896 | nroff -man $(srcdir)/gdb.1 | col -b > gdb.t |
| 897 | pack gdb.t ; rm -f gdb.t |
| 898 | mv gdb.t.z gdb.z |
| 899 | |
| 900 | # Traditionally "install" depends on "all". But it may be useful |
| 901 | # not to; for example, if the user has made some trivial change to a |
| 902 | # source file and doesn't care about rebuilding or just wants to save the |
| 903 | # time it takes for make to check that all is up to date. |
| 904 | # install-only is intended to address that need. |
| 905 | install: all install-only |
| 906 | install-only: $(CONFIG_INSTALL) |
| 907 | transformed_name=`t='$(program_transform_name)'; \ |
| 908 | echo gdb | sed -e "$$t"` ; \ |
| 909 | if test "x$$transformed_name" = x; then \ |
| 910 | transformed_name=gdb ; \ |
| 911 | else \ |
| 912 | true ; \ |
| 913 | fi ; \ |
| 914 | $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(bindir) ; \ |
| 915 | $(INSTALL_PROGRAM) gdb$(EXEEXT) \ |
| 916 | $(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT) ; \ |
| 917 | $(SHELL) $(srcdir)/../mkinstalldirs \ |
| 918 | $(DESTDIR)$(man1dir) ; \ |
| 919 | $(INSTALL_DATA) $(srcdir)/gdb.1 \ |
| 920 | $(DESTDIR)$(man1dir)/$$transformed_name.1 |
| 921 | @$(MAKE) DO=install "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do |
| 922 | .PHONY: install-tui |
| 923 | install-tui: |
| 924 | transformed_name=`t='$(program_transform_name)'; \ |
| 925 | echo $(TUI) | sed -e "$$t"` ; \ |
| 926 | if test "x$$transformed_name" = x; then \ |
| 927 | transformed_name=$(TUI) ; \ |
| 928 | else \ |
| 929 | true ; \ |
| 930 | fi ; \ |
| 931 | $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(bindir) ; \ |
| 932 | $(INSTALL_PROGRAM) $(TUI)$(EXEEXT) \ |
| 933 | $(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT) ; \ |
| 934 | $(SHELL) $(srcdir)/../mkinstalldirs \ |
| 935 | $(DESTDIR)$(man1dir) ; \ |
| 936 | $(INSTALL_DATA) $(srcdir)/gdb.1 \ |
| 937 | $(DESTDIR)$(man1dir)/$$transformed_name.1 |
| 938 | |
| 939 | |
| 940 | uninstall: force $(CONFIG_UNINSTALL) |
| 941 | transformed_name=`t='$(program_transform_name)'; \ |
| 942 | echo gdb | sed -e $$t` ; \ |
| 943 | if test "x$$transformed_name" = x; then \ |
| 944 | transformed_name=gdb ; \ |
| 945 | else \ |
| 946 | true ; \ |
| 947 | fi ; \ |
| 948 | rm -f $(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT) \ |
| 949 | $(DESTDIR)$(man1dir)/$$transformed_name.1 |
| 950 | @$(MAKE) DO=uninstall "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do |
| 951 | .PHONY: uninstall-tui |
| 952 | uninstall-tui: |
| 953 | transformed_name=`t='$(program_transform_name)'; \ |
| 954 | echo $(TUI) | sed -e $$t` ; \ |
| 955 | if test "x$$transformed_name" = x; then \ |
| 956 | transformed_name=$(TUI) ; \ |
| 957 | else \ |
| 958 | true ; \ |
| 959 | fi ; \ |
| 960 | rm -f $(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT) \ |
| 961 | $(DESTDIR)$(man1dir)/$$transformed_name.1 |
| 962 | |
| 963 | # The C++ name parser can be built standalone for testing. |
| 964 | test-cp-name-parser.o: cp-name-parser.c |
| 965 | $(COMPILE) -DTEST_CPNAMES cp-name-parser.c |
| 966 | $(POSTCOMPILE) |
| 967 | |
| 968 | test-cp-name-parser$(EXEEXT): test-cp-name-parser.o $(LIBIBERTY) |
| 969 | $(CC_LD) $(INTERNAL_LDFLAGS) -o test-cp-name-parser$(EXEEXT) \ |
| 970 | test-cp-name-parser.o $(LIBIBERTY) |
| 971 | |
| 972 | # We do this by grepping through sources. If that turns out to be too slow, |
| 973 | # maybe we could just require every .o file to have an initialization routine |
| 974 | # of a given name (top.o -> _initialize_top, etc.). |
| 975 | # |
| 976 | # Formatting conventions: The name of the _initialize_* routines must start |
| 977 | # in column zero, and must not be inside #if. |
| 978 | # |
| 979 | # Note that the set of files with init functions might change, or the names |
| 980 | # of the functions might change, so this files needs to depend on all the |
| 981 | # object files that will be linked into gdb. |
| 982 | |
| 983 | # FIXME: There is a problem with this approach - init.c may force |
| 984 | # unnecessary files to be linked in. |
| 985 | |
| 986 | # FIXME: cagney/2002-06-09: gdb/564: gdb/563: Force the order so that |
| 987 | # the first call is to _initialize_gdbtypes (implemented by explicitly |
| 988 | # putting that function's name first in the init.l-tmp file). This is |
| 989 | # a hack to ensure that all the architecture dependant global |
| 990 | # builtin_type_* variables are initialized before anything else |
| 991 | # (per-architecture code is called in the same order that it is |
| 992 | # registered). The ``correct fix'' is to have all the builtin types |
| 993 | # made part of the architecture and initialize them on-demand (using |
| 994 | # gdbarch_data) just like everything else. The catch is that other |
| 995 | # modules still take the address of these builtin types forcing them |
| 996 | # to be variables, sigh! |
| 997 | |
| 998 | # NOTE: cagney/2003-03-18: The sed pattern ``s|^\([^ /]...'' is |
| 999 | # anchored on the first column and excludes the ``/'' character so |
| 1000 | # that it doesn't add the $(srcdir) prefix to any file that already |
| 1001 | # has an absolute path. It turns out that $(DEC)'s True64 make |
| 1002 | # automatically adds the $(srcdir) prefixes when it encounters files |
| 1003 | # in sub-directories such as cli/ and mi/. |
| 1004 | |
| 1005 | # NOTE: cagney/2004-02-08: The ``case "$$fs" in'' eliminates |
| 1006 | # duplicates. Files in the gdb/ directory can end up appearing in |
| 1007 | # COMMON_OBS (as a .o file) and CONFIG_SRCS (as a .c file). |
| 1008 | |
| 1009 | INIT_FILES = $(COMMON_OBS) $(TSOBS) $(CONFIG_SRCS) |
| 1010 | init.c: $(INIT_FILES) |
| 1011 | @echo Making init.c |
| 1012 | @rm -f init.c-tmp init.l-tmp |
| 1013 | @touch init.c-tmp |
| 1014 | @echo gdbtypes > init.l-tmp |
| 1015 | @-LANG=C ; export LANG ; \ |
| 1016 | LC_ALL=C ; export LC_ALL ; \ |
| 1017 | echo $(INIT_FILES) | \ |
| 1018 | tr ' ' '\012' | \ |
| 1019 | sed \ |
| 1020 | -e '/^gdbtypes.[co]$$/d' \ |
| 1021 | -e '/^init.[co]$$/d' \ |
| 1022 | -e '/xdr_ld.[co]$$/d' \ |
| 1023 | -e '/xdr_ptrace.[co]$$/d' \ |
| 1024 | -e '/xdr_rdb.[co]$$/d' \ |
| 1025 | -e '/udr.[co]$$/d' \ |
| 1026 | -e '/udip2soc.[co]$$/d' \ |
| 1027 | -e '/udi2go32.[co]$$/d' \ |
| 1028 | -e '/version.[co]$$/d' \ |
| 1029 | -e '/^[a-z0-9A-Z_]*_[SU].[co]$$/d' \ |
| 1030 | -e '/[a-z0-9A-Z_]*-exp.tab.[co]$$/d' \ |
| 1031 | -e 's/\.[co]$$/.c/' \ |
| 1032 | -e 's,signals\.c,signals/signals\.c,' \ |
| 1033 | -e 's|^\([^ /][^ ]*\)|$(srcdir)/\1|g' | \ |
| 1034 | while read f; do \ |
| 1035 | sed -n -e 's/^_initialize_\([a-z_0-9A-Z]*\).*/\1/p' $$f 2>/dev/null; \ |
| 1036 | done | \ |
| 1037 | while read f; do \ |
| 1038 | case " $$fs " in \ |
| 1039 | *" $$f "* ) ;; \ |
| 1040 | * ) echo $$f ; fs="$$fs $$f";; \ |
| 1041 | esac; \ |
| 1042 | done >> init.l-tmp |
| 1043 | @echo '/* Do not modify this file. */' >>init.c-tmp |
| 1044 | @echo '/* It is created automatically by the Makefile. */'>>init.c-tmp |
| 1045 | @echo '#include "defs.h" /* For initialize_file_ftype. */' >>init.c-tmp |
| 1046 | @echo '#include "call-cmds.h" /* For initialize_all_files. */' >>init.c-tmp |
| 1047 | @sed -e 's/\(.*\)/extern initialize_file_ftype _initialize_\1;/' <init.l-tmp >>init.c-tmp |
| 1048 | @echo 'void' >>init.c-tmp |
| 1049 | @echo 'initialize_all_files (void)' >>init.c-tmp |
| 1050 | @echo '{' >>init.c-tmp |
| 1051 | @sed -e 's/\(.*\)/ _initialize_\1 ();/' <init.l-tmp >>init.c-tmp |
| 1052 | @echo '}' >>init.c-tmp |
| 1053 | @rm init.l-tmp |
| 1054 | @mv init.c-tmp init.c |
| 1055 | |
| 1056 | .PRECIOUS: init.c |
| 1057 | |
| 1058 | # Removing the old gdb first works better if it is running, at least on SunOS. |
| 1059 | gdb$(EXEEXT): gdb.o libgdb.a $(ADD_DEPS) $(CDEPS) $(TDEPLIBS) |
| 1060 | rm -f gdb$(EXEEXT) |
| 1061 | $(CC_LD) $(INTERNAL_LDFLAGS) $(WIN32LDAPP) \ |
| 1062 | -o gdb$(EXEEXT) gdb.o libgdb.a \ |
| 1063 | $(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS) $(LOADLIBES) |
| 1064 | |
| 1065 | $(TUI)$(EXEEXT): tui-main.o libgdb.a $(ADD_DEPS) $(CDEPS) $(TDEPLIBS) |
| 1066 | rm -f $(TUI)$(EXEEXT) |
| 1067 | $(CC_LD) $(INTERNAL_LDFLAGS) $(WIN32LDAPP) \ |
| 1068 | -o $(TUI)$(EXEEXT) tui-main.o libgdb.a \ |
| 1069 | $(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS) $(LOADLIBES) |
| 1070 | |
| 1071 | # Convenience rule to handle recursion. |
| 1072 | $(LIBGNU) $(GNULIB_H): all-lib |
| 1073 | all-lib: gnulib/Makefile |
| 1074 | @$(MAKE) $(FLAGS_TO_PASS) DO=all DODIRS=gnulib subdir_do |
| 1075 | .PHONY: all-lib |
| 1076 | |
| 1077 | # Create a library of the gdb object files and build GDB by linking |
| 1078 | # against that. |
| 1079 | # |
| 1080 | # init.o is very important. It pulls in the rest of GDB. |
| 1081 | LIBGDB_OBS= $(COMMON_OBS) $(TSOBS) $(ADD_FILES) init.o |
| 1082 | libgdb.a: $(LIBGDB_OBS) |
| 1083 | -rm -f libgdb.a |
| 1084 | $(AR) q libgdb.a $(LIBGDB_OBS) |
| 1085 | $(RANLIB) libgdb.a |
| 1086 | |
| 1087 | # This is useful when debugging GDB, because some Unix's don't let you run GDB |
| 1088 | # on itself without copying the executable. So "make gdb1" will make |
| 1089 | # gdb and put a copy in gdb1, and you can run it with "gdb gdb1". |
| 1090 | # Removing gdb1 before the copy is the right thing if gdb1 is open |
| 1091 | # in another process. |
| 1092 | gdb1$(EXEEXT): gdb$(EXEEXT) |
| 1093 | rm -f gdb1$(EXEEXT) |
| 1094 | cp gdb$(EXEEXT) gdb1$(EXEEXT) |
| 1095 | |
| 1096 | # Put the proper machine-specific files first, so M-. on a machine |
| 1097 | # specific routine gets the one for the correct machine. (FIXME: those |
| 1098 | # files go in twice; we should be removing them from the main list). |
| 1099 | |
| 1100 | # TAGS depends on all the files that go into it so you can rebuild TAGS |
| 1101 | # with `make TAGS' and not have to say `rm TAGS' first. |
| 1102 | |
| 1103 | TAGS: $(DEPFILES) $(TAGFILES_NO_SRCDIR) $(TAGFILES_WITH_SRCDIR) |
| 1104 | @echo Making TAGS |
| 1105 | @etags $(srcdir)/$(NAT_FILE) \ |
| 1106 | `(for i in $(DEPFILES) $(TAGFILES_NO_SRCDIR); do \ |
| 1107 | echo $(srcdir)/$$i ; \ |
| 1108 | done ; for i in $(TAGFILES_WITH_SRCDIR); do \ |
| 1109 | echo $$i ; \ |
| 1110 | done) | sed -e 's/\.o$$/\.c/'` \ |
| 1111 | `find $(srcdir)/config -name '*.h' -print` |
| 1112 | |
| 1113 | tags: TAGS |
| 1114 | |
| 1115 | clean mostlyclean: $(CONFIG_CLEAN) |
| 1116 | @$(MAKE) $(FLAGS_TO_PASS) DO=clean "DODIRS=$(CLEANDIRS)" subdir_do |
| 1117 | rm -f *.o *.a $(ADD_FILES) *~ init.c-tmp init.l-tmp version.c-tmp |
| 1118 | rm -f init.c version.c |
| 1119 | rm -f gdb$(EXEEXT) core make.log |
| 1120 | rm -f gdb[0-9]$(EXEEXT) |
| 1121 | rm -f test-cp-name-parser$(EXEEXT) |
| 1122 | rm -f xml-builtin.c stamp-xml |
| 1123 | |
| 1124 | .PHONY: clean-tui |
| 1125 | clean-tui: |
| 1126 | rm -f $(TUI)$(EXEEXT) |
| 1127 | |
| 1128 | # This used to depend on c-exp.c m2-exp.c TAGS |
| 1129 | # I believe this is wrong; the makefile standards for distclean just |
| 1130 | # describe removing files; the only sort of "re-create a distribution" |
| 1131 | # functionality described is if the distributed files are unmodified. |
| 1132 | # NB: While GDBSERVER might be configured on native systems, it isn't |
| 1133 | # always included in SUBDIRS. Remove the gdbserver files explicitly. |
| 1134 | distclean: clean |
| 1135 | @$(MAKE) $(FLAGS_TO_PASS) DO=distclean "DODIRS=$(CLEANDIRS)" subdir_do |
| 1136 | rm -f gdbserver/config.status gdbserver/config.log |
| 1137 | rm -f gdbserver/tm.h gdbserver/xm.h gdbserver/nm.h |
| 1138 | rm -f gdbserver/Makefile gdbserver/config.cache |
| 1139 | rm -f nm.h config.status config.h stamp-h .gdbinit |
| 1140 | rm -f y.output yacc.acts yacc.tmp y.tab.h |
| 1141 | rm -f config.log config.cache |
| 1142 | rm -f Makefile |
| 1143 | rm -rf $(DEPDIR) |
| 1144 | |
| 1145 | maintainer-clean: local-maintainer-clean do-maintainer-clean distclean |
| 1146 | realclean: maintainer-clean |
| 1147 | |
| 1148 | local-maintainer-clean: |
| 1149 | @echo "This command is intended for maintainers to use;" |
| 1150 | @echo "it deletes files that may require special tools to rebuild." |
| 1151 | rm -f c-exp.c \ |
| 1152 | cp-name-parser.c \ |
| 1153 | ada-lex.c ada-exp.c \ |
| 1154 | objc-exp.c \ |
| 1155 | jv-exp.tab \ |
| 1156 | f-exp.c m2-exp.c p-exp.c |
| 1157 | rm -f TAGS $(INFOFILES) |
| 1158 | rm -f $(YYFILES) |
| 1159 | rm -f nm.h config.status |
| 1160 | |
| 1161 | do-maintainer-clean: |
| 1162 | @$(MAKE) $(FLAGS_TO_PASS) DO=maintainer-clean "DODIRS=$(CLEANDIRS)" \ |
| 1163 | subdir_do |
| 1164 | |
| 1165 | diststuff: $(DISTSTUFF) $(PACKAGE).pot $(CATALOGS) |
| 1166 | cd doc; $(MAKE) $(MFLAGS) diststuff |
| 1167 | |
| 1168 | subdir_do: force |
| 1169 | @for i in $(DODIRS); do \ |
| 1170 | if [ -f ./$$i/Makefile ] ; then \ |
| 1171 | if (cd ./$$i; \ |
| 1172 | $(MAKE) $(FLAGS_TO_PASS) $(DO)) ; then true ; \ |
| 1173 | else exit 1 ; fi ; \ |
| 1174 | else true ; fi ; \ |
| 1175 | done |
| 1176 | |
| 1177 | Makefile: Makefile.in config.status @frags@ |
| 1178 | # Regenerate the Makefile and the tm.h / nm.h links. |
| 1179 | CONFIG_FILES="Makefile" \ |
| 1180 | CONFIG_COMMANDS= \ |
| 1181 | CONFIG_HEADERS= \ |
| 1182 | $(SHELL) config.status |
| 1183 | |
| 1184 | gnulib/Makefile: gnulib/Makefile.in gnulib/Makefile.in config.status @frags@ |
| 1185 | CONFIG_FILES="gnulib/Makefile" \ |
| 1186 | CONFIG_COMMANDS="depfiles" \ |
| 1187 | CONFIG_HEADERS= \ |
| 1188 | CONFIG_LINKS= \ |
| 1189 | $(SHELL) config.status |
| 1190 | |
| 1191 | config.h: stamp-h ; @true |
| 1192 | stamp-h: config.in config.status |
| 1193 | CONFIG_HEADERS=config.h:config.in \ |
| 1194 | CONFIG_COMMANDS="default depdir" \ |
| 1195 | CONFIG_FILES= \ |
| 1196 | CONFIG_LINKS= \ |
| 1197 | $(SHELL) config.status |
| 1198 | |
| 1199 | config.status: configure configure.tgt configure.host |
| 1200 | $(SHELL) config.status --recheck |
| 1201 | |
| 1202 | force: |
| 1203 | |
| 1204 | # Documentation! |
| 1205 | # GDB QUICK REFERENCE (TeX dvi file, CM fonts) |
| 1206 | doc/refcard.dvi: |
| 1207 | cd doc; $(MAKE) refcard.dvi $(FLAGS_TO_PASS) |
| 1208 | |
| 1209 | # GDB QUICK REFERENCE (PostScript output, common PS fonts) |
| 1210 | doc/refcard.ps: |
| 1211 | cd doc; $(MAKE) refcard.ps $(FLAGS_TO_PASS) |
| 1212 | |
| 1213 | # GDB MANUAL: TeX dvi file |
| 1214 | doc/gdb.dvi: |
| 1215 | cd doc; $(MAKE) gdb.dvi $(FLAGS_TO_PASS) |
| 1216 | |
| 1217 | # GDB MANUAL: info file |
| 1218 | doc/gdb.info: |
| 1219 | cd doc; $(MAKE) gdb.info $(FLAGS_TO_PASS) |
| 1220 | |
| 1221 | # Make copying.c from COPYING |
| 1222 | $(srcdir)/copying.c: @MAINTAINER_MODE_TRUE@ $(srcdir)/../COPYING3 $(srcdir)/copying.awk |
| 1223 | awk -f $(srcdir)/copying.awk \ |
| 1224 | < $(srcdir)/../COPYING3 > $(srcdir)/copying.tmp |
| 1225 | mv $(srcdir)/copying.tmp $(srcdir)/copying.c |
| 1226 | |
| 1227 | version.c: Makefile version.in |
| 1228 | rm -f version.c-tmp version.c |
| 1229 | echo '#include "version.h"' >> version.c-tmp |
| 1230 | echo 'const char version[] = "'"`sed q ${srcdir}/version.in`"'";' >> version.c-tmp |
| 1231 | echo 'const char host_name[] = "$(host_alias)";' >> version.c-tmp |
| 1232 | echo 'const char target_name[] = "$(target_alias)";' >> version.c-tmp |
| 1233 | mv version.c-tmp version.c |
| 1234 | |
| 1235 | observer.h: observer.sh doc/observer.texi |
| 1236 | ${srcdir}/observer.sh h ${srcdir}/doc/observer.texi observer.h |
| 1237 | |
| 1238 | observer.inc: observer.sh doc/observer.texi |
| 1239 | ${srcdir}/observer.sh inc ${srcdir}/doc/observer.texi observer.inc |
| 1240 | |
| 1241 | lint: $(LINTFILES) |
| 1242 | $(LINT) $(INCLUDE_CFLAGS) $(LINTFLAGS) $(LINTFILES) \ |
| 1243 | `echo $(DEPFILES) $(CONFIG_OBS) | sed 's/\.o /\.c /g'` |
| 1244 | |
| 1245 | gdb.cxref: $(SFILES) |
| 1246 | cxref -I. $(SFILES) >gdb.cxref |
| 1247 | |
| 1248 | force_update: |
| 1249 | |
| 1250 | # GNU Make has an annoying habit of putting *all* the Makefile variables |
| 1251 | # into the environment, unless you include this target as a circumvention. |
| 1252 | # Rumor is that this will be fixed (and this target can be removed) |
| 1253 | # in GNU Make 4.0. |
| 1254 | .NOEXPORT: |
| 1255 | |
| 1256 | # GNU Make 3.63 has a different problem: it keeps tacking command line |
| 1257 | # overrides onto the definition of $(MAKE). This variable setting |
| 1258 | # will remove them. |
| 1259 | MAKEOVERRIDES= |
| 1260 | |
| 1261 | ALLDEPFILES = \ |
| 1262 | aix-thread.c \ |
| 1263 | alpha-nat.c alphabsd-nat.c alpha-linux-nat.c \ |
| 1264 | alpha-tdep.c alpha-mdebug-tdep.c \ |
| 1265 | alpha-linux-tdep.c alpha-osf1-tdep.c \ |
| 1266 | alphabsd-tdep.c alphafbsd-tdep.c alphanbsd-tdep.c alphaobsd-tdep.c \ |
| 1267 | amd64-nat.c amd64-tdep.c \ |
| 1268 | amd64bsd-nat.c amd64fbsd-nat.c amd64fbsd-tdep.c \ |
| 1269 | amd64nbsd-nat.c amd64nbsd-tdep.c \ |
| 1270 | amd64obsd-nat.c amd64obsd-tdep.c \ |
| 1271 | amd64-linux-nat.c amd64-linux-tdep.c \ |
| 1272 | amd64-sol2-tdep.c \ |
| 1273 | arm-linux-nat.c arm-linux-tdep.c arm-tdep.c \ |
| 1274 | armnbsd-nat.c armbsd-tdep.c armnbsd-tdep.c armobsd-tdep.c \ |
| 1275 | avr-tdep.c \ |
| 1276 | bsd-uthread.c bsd-kvm.c \ |
| 1277 | core-regset.c corelow.c \ |
| 1278 | dcache.c exec.c \ |
| 1279 | fbsd-nat.c \ |
| 1280 | fork-child.c \ |
| 1281 | glibc-tdep.c \ |
| 1282 | go32-nat.c h8300-tdep.c \ |
| 1283 | hppa-tdep.c hppa-hpux-tdep.c hppa-hpux-nat.c \ |
| 1284 | hppa-linux-tdep.c hppa-linux-nat.c \ |
| 1285 | hppabsd-nat.c hppabsd-tdep.c \ |
| 1286 | hppaobsd-tdep.c \ |
| 1287 | hppanbsd-nat.c hppanbsd-tdep.c \ |
| 1288 | i386-tdep.c i386-linux-nat.c \ |
| 1289 | i386v4-nat.c i386-cygwin-tdep.c \ |
| 1290 | i386bsd-nat.c i386bsd-tdep.c i386fbsd-nat.c i386fbsd-tdep.c \ |
| 1291 | i386nbsd-nat.c i386nbsd-tdep.c i386obsd-nat.c i386obsd-tdep.c \ |
| 1292 | i387-tdep.c \ |
| 1293 | i386-dicos-tdep.c \ |
| 1294 | i386-linux-tdep.c i386-nat.c \ |
| 1295 | i386-sol2-nat.c i386-sol2-tdep.c \ |
| 1296 | i386gnu-nat.c i386gnu-tdep.c \ |
| 1297 | ia64-linux-nat.c ia64-linux-tdep.c ia64-tdep.c \ |
| 1298 | inf-ptrace.c inf-ttrace.c \ |
| 1299 | irix5-nat.c \ |
| 1300 | libunwind-frame.c \ |
| 1301 | linux-fork.c \ |
| 1302 | m68hc11-tdep.c \ |
| 1303 | m32r-tdep.c \ |
| 1304 | m32r-linux-nat.c m32r-linux-tdep.c \ |
| 1305 | m68k-tdep.c \ |
| 1306 | m68kbsd-nat.c m68kbsd-tdep.c \ |
| 1307 | m68klinux-nat.c m68klinux-tdep.c \ |
| 1308 | m88k-tdep.c m88kbsd-nat.c \ |
| 1309 | mingw-hdep.c \ |
| 1310 | mips-linux-nat.c mips-linux-tdep.c \ |
| 1311 | mips-irix-tdep.c \ |
| 1312 | mips-tdep.c \ |
| 1313 | mipsnbsd-nat.c mipsnbsd-tdep.c \ |
| 1314 | mips64obsd-nat.c mips64obsd-tdep.c \ |
| 1315 | nbsd-nat.c nbsd-tdep.c obsd-tdep.c \ |
| 1316 | solib-osf.c \ |
| 1317 | solib-target.c \ |
| 1318 | somread.c solib-som.c \ |
| 1319 | posix-hdep.c \ |
| 1320 | ppc-sysv-tdep.c ppc-linux-nat.c ppc-linux-tdep.c \ |
| 1321 | ppcnbsd-nat.c ppcnbsd-tdep.c \ |
| 1322 | ppcobsd-nat.c ppcobsd-tdep.c \ |
| 1323 | procfs.c \ |
| 1324 | remote-m32r-sdi.c remote-mips.c \ |
| 1325 | remote-sim.c \ |
| 1326 | dcache.c \ |
| 1327 | rs6000-nat.c rs6000-tdep.c \ |
| 1328 | s390-tdep.c s390-nat.c \ |
| 1329 | score-tdep.c \ |
| 1330 | ser-go32.c ser-pipe.c ser-tcp.c ser-mingw.c \ |
| 1331 | sh-tdep.c sh64-tdep.c shnbsd-tdep.c shnbsd-nat.c \ |
| 1332 | sol2-tdep.c \ |
| 1333 | solib-irix.c solib-svr4.c solib-sunos.c \ |
| 1334 | sparc-linux-nat.c \ |
| 1335 | sparc-linux-tdep.c sparc-nat.c sparc-sol2-nat.c sparc-sol2-tdep.c \ |
| 1336 | sparc-tdep.c sparc-sol2-nat.c sparc-sol2-tdep.c sparc64-linux-nat.c \ |
| 1337 | sparc64-linux-tdep.c sparc64-nat.c sparc64-sol2-tdep.c \ |
| 1338 | sparc64-tdep.c sparc64fbsd-nat.c sparc64fbsd-tdep.c \ |
| 1339 | sparc64nbsd-nat.c sparc64nbsd-tdep.c sparc64obsd-tdep.c \ |
| 1340 | sparcnbsd-nat.c sparcnbsd-tdep.c sparcobsd-tdep.c \ |
| 1341 | spu-linux-nat.c spu-tdep.c \ |
| 1342 | v850-tdep.c \ |
| 1343 | vax-nat.c vax-tdep.c vaxbsd-nat.c vaxnbsd-tdep.c \ |
| 1344 | windows-nat.c windows-tdep.c \ |
| 1345 | xcoffread.c xcoffsolib.c \ |
| 1346 | xstormy16-tdep.c \ |
| 1347 | xtensa-tdep.c xtensa-config.c \ |
| 1348 | xtensa-linux-tdep.c xtensa-linux-nat.c xtensa-xtregs.c |
| 1349 | |
| 1350 | # Some files need explicit build rules (due to -Werror problems) or due |
| 1351 | # to sub-directory fun 'n' games. |
| 1352 | |
| 1353 | hpux-thread.o: $(srcdir)/hpux-thread.c |
| 1354 | $(COMPILE) -I$(srcdir)/osf-share -I$(srcdir)/osf-share/HP800 \ |
| 1355 | -I/usr/include/dce $(srcdir)/hpux-thread.c |
| 1356 | $(POSTCOMPILE) |
| 1357 | |
| 1358 | # main.o needs an explicit build rule to get TARGET_SYSTEM_ROOT and BINDIR. |
| 1359 | main.o: $(srcdir)/main.c |
| 1360 | $(COMPILE) $(TARGET_SYSTEM_ROOT_DEFINE) -DBINDIR=\"$(bindir)\" $(srcdir)/main.c |
| 1361 | $(POSTCOMPILE) |
| 1362 | |
| 1363 | # FIXME: cagney/2003-08-10: "monitor.c" gets -Wformat-nonliteral |
| 1364 | # errors. It turns out that that is the least of monitor.c's |
| 1365 | # problems. The function print_vsprintf appears to be using |
| 1366 | # va_arg(long) to extract CORE_ADDR parameters - something that |
| 1367 | # definitly will not work. "monitor.c" needs to be rewritten so that |
| 1368 | # it doesn't use format strings and instead uses callbacks. |
| 1369 | monitor.o: $(srcdir)/monitor.c |
| 1370 | $(COMPILE.pre) $(INTERNAL_WARN_CFLAGS) $(COMPILE.post) $(srcdir)/monitor.c |
| 1371 | $(POSTCOMPILE) |
| 1372 | |
| 1373 | # Do not try to build "printcmd.c" with -Wformat-nonliteral. It manually |
| 1374 | # checks format strings. |
| 1375 | printcmd.o: $(srcdir)/printcmd.c |
| 1376 | $(COMPILE.pre) $(INTERNAL_CFLAGS_BASE) $(GDB_WARN_CFLAGS_NO_FORMAT) \ |
| 1377 | $(GDB_WERROR_CFLAGS) $(COMPILE.post) $(srcdir)/printcmd.c |
| 1378 | $(POSTCOMPILE) |
| 1379 | |
| 1380 | # Message files. Based on code in gcc/Makefile.in. |
| 1381 | |
| 1382 | # Rules for generating translated message descriptions. Disabled by |
| 1383 | # autoconf if the tools are not available. |
| 1384 | |
| 1385 | .SUFFIXES: .po .gmo .pox .pot |
| 1386 | .PHONY: all-po install-po uninstall-po clean-po update-po $(PACKAGE).pot |
| 1387 | |
| 1388 | all-po: $(CATALOGS) |
| 1389 | |
| 1390 | # This notation should be acceptable to all Make implementations used |
| 1391 | # by people who are interested in updating .po files. |
| 1392 | update-po: $(CATALOGS:.gmo=.pox) |
| 1393 | |
| 1394 | # N.B. We do not attempt to copy these into $(srcdir). The snapshot |
| 1395 | # script does that. |
| 1396 | .po.gmo: |
| 1397 | -test -d po || mkdir po |
| 1398 | $(GMSGFMT) --statistics -o $@ $< |
| 1399 | |
| 1400 | # The new .po has to be gone over by hand, so we deposit it into |
| 1401 | # build/po with a different extension. If build/po/$(PACKAGE).pot |
| 1402 | # exists, use it (it was just created), else use the one in srcdir. |
| 1403 | .po.pox: |
| 1404 | -test -d po || mkdir po |
| 1405 | $(MSGMERGE) $< `if test -f po/$(PACKAGE).pot; \ |
| 1406 | then echo po/$(PACKAGE).pot; \ |
| 1407 | else echo $(srcdir)/po/$(PACKAGE).pot; fi` -o $@ |
| 1408 | |
| 1409 | # This rule has to look for .gmo modules in both srcdir and the cwd, |
| 1410 | # and has to check that we actually have a catalog for each language, |
| 1411 | # in case they weren't built or included with the distribution. |
| 1412 | install-po: |
| 1413 | $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(datadir) |
| 1414 | cats="$(CATALOGS)"; for cat in $$cats; do \ |
| 1415 | lang=`basename $$cat | sed 's/\.gmo$$//'`; \ |
| 1416 | if [ -f $$cat ]; then :; \ |
| 1417 | elif [ -f $(srcdir)/$$cat ]; then cat=$(srcdir)/$$cat; \ |
| 1418 | else continue; \ |
| 1419 | fi; \ |
| 1420 | dir=$(localedir)/$$lang/LC_MESSAGES; \ |
| 1421 | echo $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$$dir; \ |
| 1422 | $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$$dir || exit 1; \ |
| 1423 | echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \ |
| 1424 | $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \ |
| 1425 | done |
| 1426 | uninstall-po: |
| 1427 | cats="$(CATALOGS)"; for cat in $$cats; do \ |
| 1428 | lang=`basename $$cat | sed 's/\.gmo$$//'`; \ |
| 1429 | if [ -f $$cat ]; then :; \ |
| 1430 | elif [ -f $(srcdir)/$$cat ]; then cat=$(srcdir)/$$cat; \ |
| 1431 | else continue; \ |
| 1432 | fi; \ |
| 1433 | dir=$(localedir)/$$lang/LC_MESSAGES; \ |
| 1434 | rm -f $(DESTDIR)$$dir/$(PACKAGE).mo; \ |
| 1435 | done |
| 1436 | # Delete po/*.gmo only if we are not building in the source directory. |
| 1437 | clean-po: |
| 1438 | -if [ ! -f Makefile.in ]; then rm -f po/*.gmo; fi |
| 1439 | |
| 1440 | # Rule for regenerating the message template (gdb.pot). Instead of |
| 1441 | # forcing everyone to edit POTFILES.in, which proved impractical, this |
| 1442 | # rule has no dependencies and always regenerates gdb.pot. This is |
| 1443 | # relatively harmless since the .po files do not directly depend on |
| 1444 | # it. The .pot file is left in the build directory. Since GDB's |
| 1445 | # Makefile lacks a cannonical list of sources (missing xm, tm and nm |
| 1446 | # files) force this rule. |
| 1447 | $(PACKAGE).pot: po/$(PACKAGE).pot |
| 1448 | po/$(PACKAGE).pot: force |
| 1449 | -test -d po || mkdir po |
| 1450 | sh -e $(srcdir)/po/gdbtext $(XGETTEXT) $(PACKAGE) . $(srcdir) |
| 1451 | |
| 1452 | |
| 1453 | # |
| 1454 | # YACC/LEX dependencies |
| 1455 | # |
| 1456 | # LANG-exp.c is generated in objdir from LANG-exp.y if it doesn't |
| 1457 | # exist in srcdir, then compiled in objdir to LANG-exp.o. If we |
| 1458 | # said LANG-exp.c rather than ./c-exp.c some makes would |
| 1459 | # sometimes re-write it into $(srcdir)/c-exp.c. Remove bogus |
| 1460 | # decls for malloc/realloc/free which conflict with everything else. |
| 1461 | # Strictly speaking c-exp.c should therefore depend on |
| 1462 | # Makefile.in, but that was a pretty big annoyance. |
| 1463 | |
| 1464 | .SUFFIXES: .y .l |
| 1465 | .y.c: |
| 1466 | $(SHELL) $(YLWRAP) $< y.tab.c $@.tmp -- $(YACC) $(YFLAGS) |
| 1467 | -sed -e '/extern.*malloc/d' \ |
| 1468 | -e '/extern.*realloc/d' \ |
| 1469 | -e '/extern.*free/d' \ |
| 1470 | -e '/include.*malloc.h/d' \ |
| 1471 | -e 's/\([^x]\)malloc/\1xmalloc/g' \ |
| 1472 | -e 's/\([^x]\)realloc/\1xrealloc/g' \ |
| 1473 | -e 's/\([ \t;,(]\)free\([ \t]*[&(),]\)/\1xfree\2/g' \ |
| 1474 | -e 's/\([ \t;,(]\)free$$/\1xfree/g' \ |
| 1475 | -e '/^#line.*y.tab.c/d' \ |
| 1476 | < $@.tmp > $@.new |
| 1477 | -rm $@.tmp |
| 1478 | mv $@.new ./$*.c |
| 1479 | .l.c: |
| 1480 | if [ "$(FLEX)" ] && $(FLEX) --version >/dev/null 2>&1; then \ |
| 1481 | $(FLEX) -o$@ $< && \ |
| 1482 | rm -f $@.new && \ |
| 1483 | sed -e '/extern.*malloc/d' \ |
| 1484 | -e '/extern.*realloc/d' \ |
| 1485 | -e '/extern.*free/d' \ |
| 1486 | -e '/include.*malloc.h/d' \ |
| 1487 | -e 's/\([^x]\)malloc/\1xmalloc/g' \ |
| 1488 | -e 's/\([^x]\)realloc/\1xrealloc/g' \ |
| 1489 | -e 's/\([ \t;,(]\)free\([ \t]*[&(),]\)/\1xfree\2/g' \ |
| 1490 | -e 's/\([ \t;,(]\)free$$/\1xfree/g' \ |
| 1491 | -e 's/yy_flex_xrealloc/yyxrealloc/g' \ |
| 1492 | < $@ > $@.new && \ |
| 1493 | rm -f $@ && \ |
| 1494 | mv $@.new $@; \ |
| 1495 | elif [ -f $@ ]; then \ |
| 1496 | echo "Warning: $*.c older than $*.l and flex not available."; \ |
| 1497 | else \ |
| 1498 | echo "$@ missing and flex not available."; \ |
| 1499 | false; \ |
| 1500 | fi |
| 1501 | |
| 1502 | .PRECIOUS: ada-exp.c ada-lex.c |
| 1503 | .PRECIOUS: c-exp.c |
| 1504 | .PRECIOUS: f-exp.c |
| 1505 | .PRECIOUS: jv-exp.c |
| 1506 | .PRECIOUS: m2-exp.c |
| 1507 | .PRECIOUS: objc-exp.c |
| 1508 | .PRECIOUS: p-exp.c |
| 1509 | |
| 1510 | # XML rules |
| 1511 | |
| 1512 | xml-builtin.c: stamp-xml; @true |
| 1513 | stamp-xml: $(srcdir)/features/feature_to_c.sh Makefile $(XMLFILES) |
| 1514 | rm -f xml-builtin.tmp |
| 1515 | AWK="$(AWK)" \ |
| 1516 | $(SHELL) $(srcdir)/features/feature_to_c.sh \ |
| 1517 | xml-builtin.tmp $(XMLFILES) |
| 1518 | $(SHELL) $(srcdir)/../move-if-change xml-builtin.tmp xml-builtin.c |
| 1519 | echo stamp > stamp-xml |
| 1520 | |
| 1521 | .PRECIOUS: xml-builtin.c |
| 1522 | |
| 1523 | # |
| 1524 | # gdb/cli/ dependencies |
| 1525 | # |
| 1526 | # Need to explicitly specify the compile rule as make will do nothing |
| 1527 | # or try to compile the object file into the sub-directory. |
| 1528 | |
| 1529 | cli-cmds.o: $(srcdir)/cli/cli-cmds.c |
| 1530 | $(COMPILE) $(srcdir)/cli/cli-cmds.c |
| 1531 | $(POSTCOMPILE) |
| 1532 | |
| 1533 | cli-decode.o: $(srcdir)/cli/cli-decode.c |
| 1534 | $(COMPILE) $(srcdir)/cli/cli-decode.c |
| 1535 | $(POSTCOMPILE) |
| 1536 | |
| 1537 | cli-dump.o: $(srcdir)/cli/cli-dump.c |
| 1538 | $(COMPILE) $(srcdir)/cli/cli-dump.c |
| 1539 | $(POSTCOMPILE) |
| 1540 | |
| 1541 | cli-interp.o: $(srcdir)/cli/cli-interp.c |
| 1542 | $(COMPILE) $(srcdir)/cli/cli-interp.c |
| 1543 | $(POSTCOMPILE) |
| 1544 | |
| 1545 | cli-logging.o: $(srcdir)/cli/cli-logging.c |
| 1546 | $(COMPILE) $(srcdir)/cli/cli-logging.c |
| 1547 | $(POSTCOMPILE) |
| 1548 | |
| 1549 | cli-script.o: $(srcdir)/cli/cli-script.c |
| 1550 | $(COMPILE) $(srcdir)/cli/cli-script.c |
| 1551 | $(POSTCOMPILE) |
| 1552 | |
| 1553 | cli-setshow.o: $(srcdir)/cli/cli-setshow.c |
| 1554 | $(COMPILE) $(srcdir)/cli/cli-setshow.c |
| 1555 | $(POSTCOMPILE) |
| 1556 | |
| 1557 | |
| 1558 | # |
| 1559 | # GDBTK sub-directory |
| 1560 | # |
| 1561 | # Need to explicitly specify the compile rule as make will do nothing |
| 1562 | # or try to compile the object file into the mi directory. |
| 1563 | |
| 1564 | all-gdbtk: insight$(EXEEXT) |
| 1565 | |
| 1566 | install-gdbtk: |
| 1567 | transformed_name=`t='$(program_transform_name)'; \ |
| 1568 | echo insight | sed -e $$t` ; \ |
| 1569 | if test "x$$transformed_name" = x; then \ |
| 1570 | transformed_name=insight ; \ |
| 1571 | else \ |
| 1572 | true ; \ |
| 1573 | fi ; \ |
| 1574 | $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(bindir); \ |
| 1575 | $(INSTALL_PROGRAM) insight$(EXEEXT) \ |
| 1576 | $(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT) ; \ |
| 1577 | $(SHELL) $(srcdir)/../mkinstalldirs \ |
| 1578 | $(DESTDIR)$(GDBTK_LIBRARY) ; \ |
| 1579 | $(SHELL) $(srcdir)/../mkinstalldirs \ |
| 1580 | $(DESTDIR)$(libdir)/insight$(GDBTK_VERSION) ; \ |
| 1581 | $(INSTALL_DATA) $(srcdir)/gdbtk/plugins/plugins.tcl \ |
| 1582 | $(DESTDIR)$(libdir)/insight$(GDBTK_VERSION)/plugins.tcl ; \ |
| 1583 | $(SHELL) $(srcdir)/../mkinstalldirs \ |
| 1584 | $(DESTDIR)$(GDBTK_LIBRARY)/images \ |
| 1585 | $(DESTDIR)$(GDBTK_LIBRARY)/images2 ; \ |
| 1586 | $(SHELL) $(srcdir)/../mkinstalldirs \ |
| 1587 | $(DESTDIR)$(GDBTK_LIBRARY)/help \ |
| 1588 | $(DESTDIR)$(GDBTK_LIBRARY)/help/images \ |
| 1589 | $(DESTDIR)$(GDBTK_LIBRARY)/help/trace ; \ |
| 1590 | cd $(srcdir)/gdbtk/library ; \ |
| 1591 | 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; \ |
| 1592 | do \ |
| 1593 | $(INSTALL_DATA) $$i $(DESTDIR)$(GDBTK_LIBRARY)/$$i ; \ |
| 1594 | done ; |
| 1595 | |
| 1596 | uninstall-gdbtk: |
| 1597 | transformed_name=`t='$(program_transform_name)'; \ |
| 1598 | echo insight | sed -e $$t` ; \ |
| 1599 | if test "x$$transformed_name" = x; then \ |
| 1600 | transformed_name=insight ; \ |
| 1601 | else \ |
| 1602 | true ; \ |
| 1603 | fi ; \ |
| 1604 | rm -f $(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT) ; \ |
| 1605 | rm -rf $(DESTDIR)$(GDBTK_LIBRARY) |
| 1606 | |
| 1607 | clean-gdbtk: |
| 1608 | rm -f insight$(EXEEXT) |
| 1609 | |
| 1610 | # Removing the old gdb first works better if it is running, at least on SunOS. |
| 1611 | insight$(EXEEXT): gdbtk-main.o libgdb.a $(ADD_DEPS) \ |
| 1612 | $(CDEPS) $(TDEPLIBS) |
| 1613 | rm -f insight$(EXEEXT) |
| 1614 | $(CC_LD) $(INTERNAL_LDFLAGS) $(WIN32LDAPP) \ |
| 1615 | -o insight$(EXEEXT) gdbtk-main.o libgdb.a \ |
| 1616 | $(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS) $(LOADLIBES) |
| 1617 | |
| 1618 | gdbres.o: $(srcdir)/gdbtk/gdb.rc $(srcdir)/gdbtk/gdbtool.ico |
| 1619 | $(WINDRES) --include $(srcdir)/gdbtk $(srcdir)/gdbtk/gdb.rc gdbres.o |
| 1620 | |
| 1621 | all_gdbtk_cflags = $(IDE_CFLAGS) $(ITCL_CFLAGS) \ |
| 1622 | $(ITK_CFLAGS) $(TCL_CFLAGS) $(TK_CFLAGS) $(X11_CFLAGS) \ |
| 1623 | $(GDBTK_CFLAGS) \ |
| 1624 | -DGDBTK_LIBRARY=\"$(GDBTK_LIBRARY)\" \ |
| 1625 | -DSRC_DIR=\"$(GDBTK_SRC_DIR)\" |
| 1626 | |
| 1627 | gdbtk.o: $(srcdir)/gdbtk/generic/gdbtk.c |
| 1628 | $(COMPILE) $(all_gdbtk_cflags) $(srcdir)/gdbtk/generic/gdbtk.c |
| 1629 | $(POSTCOMPILE) |
| 1630 | |
| 1631 | gdbtk-bp.o: $(srcdir)/gdbtk/generic/gdbtk-bp.c |
| 1632 | $(COMPILE) $(all_gdbtk_cflags) $(srcdir)/gdbtk/generic/gdbtk-bp.c |
| 1633 | $(POSTCOMPILE) |
| 1634 | |
| 1635 | gdbtk-cmds.o: $(srcdir)/gdbtk/generic/gdbtk-cmds.c |
| 1636 | $(COMPILE) $(all_gdbtk_cflags) $(srcdir)/gdbtk/generic/gdbtk-cmds.c |
| 1637 | $(POSTCOMPILE) |
| 1638 | |
| 1639 | gdbtk-hooks.o: $(srcdir)/gdbtk/generic/gdbtk-hooks.c |
| 1640 | $(COMPILE) $(all_gdbtk_cflags) $(srcdir)/gdbtk/generic/gdbtk-hooks.c |
| 1641 | $(POSTCOMPILE) |
| 1642 | |
| 1643 | gdbtk-interp.o: $(srcdir)/gdbtk/generic/gdbtk-interp.c |
| 1644 | $(COMPILE) $(all_gdbtk_cflags) $(srcdir)/gdbtk/generic/gdbtk-interp.c |
| 1645 | $(POSTCOMPILE) |
| 1646 | |
| 1647 | gdbtk-main.o: $(srcdir)/gdbtk/generic/gdbtk-main.c |
| 1648 | $(COMPILE) $(all_gdbtk_cflags) $(srcdir)/gdbtk/generic/gdbtk-main.c |
| 1649 | $(POSTCOMPILE) |
| 1650 | |
| 1651 | gdbtk-register.o: $(srcdir)/gdbtk/generic/gdbtk-register.c |
| 1652 | $(COMPILE) $(all_gdbtk_cflags) $(srcdir)/gdbtk/generic/gdbtk-register.c |
| 1653 | $(POSTCOMPILE) |
| 1654 | |
| 1655 | gdbtk-stack.o: $(srcdir)/gdbtk/generic/gdbtk-stack.c |
| 1656 | $(COMPILE) $(all_gdbtk_cflags) $(srcdir)/gdbtk/generic/gdbtk-stack.c |
| 1657 | $(POSTCOMPILE) |
| 1658 | |
| 1659 | gdbtk-varobj.o: $(srcdir)/gdbtk/generic/gdbtk-varobj.c |
| 1660 | $(COMPILE) $(all_gdbtk_cflags) $(srcdir)/gdbtk/generic/gdbtk-varobj.c |
| 1661 | $(POSTCOMPILE) |
| 1662 | |
| 1663 | gdbtk-wrapper.o: $(srcdir)/gdbtk/generic/gdbtk-wrapper.c |
| 1664 | $(COMPILE) $(all_gdbtk_cflags) $(srcdir)/gdbtk/generic/gdbtk-wrapper.c |
| 1665 | $(POSTCOMPILE) |
| 1666 | |
| 1667 | |
| 1668 | # |
| 1669 | # gdb/mi/ dependencies |
| 1670 | # |
| 1671 | # Need to explicitly specify the compile rule as make will do nothing |
| 1672 | # or try to compile the object file into the sub-directory. |
| 1673 | |
| 1674 | mi-cmd-break.o: $(srcdir)/mi/mi-cmd-break.c |
| 1675 | $(COMPILE) $(srcdir)/mi/mi-cmd-break.c |
| 1676 | $(POSTCOMPILE) |
| 1677 | |
| 1678 | mi-cmd-disas.o: $(srcdir)/mi/mi-cmd-disas.c |
| 1679 | $(COMPILE) $(srcdir)/mi/mi-cmd-disas.c |
| 1680 | $(POSTCOMPILE) |
| 1681 | |
| 1682 | mi-cmd-env.o: $(srcdir)/mi/mi-cmd-env.c |
| 1683 | $(COMPILE) $(srcdir)/mi/mi-cmd-env.c |
| 1684 | $(POSTCOMPILE) |
| 1685 | |
| 1686 | mi-cmd-file.o: $(srcdir)/mi/mi-cmd-file.c |
| 1687 | $(COMPILE) $(srcdir)/mi/mi-cmd-file.c |
| 1688 | $(POSTCOMPILE) |
| 1689 | |
| 1690 | mi-cmds.o: $(srcdir)/mi/mi-cmds.c |
| 1691 | $(COMPILE) $(srcdir)/mi/mi-cmds.c |
| 1692 | $(POSTCOMPILE) |
| 1693 | |
| 1694 | mi-cmd-stack.o: $(srcdir)/mi/mi-cmd-stack.c |
| 1695 | $(COMPILE) $(srcdir)/mi/mi-cmd-stack.c |
| 1696 | $(POSTCOMPILE) |
| 1697 | |
| 1698 | mi-cmd-target.o: $(srcdir)/mi/mi-cmd-target.c |
| 1699 | $(COMPILE) $(srcdir)/mi/mi-cmd-target.c |
| 1700 | $(POSTCOMPILE) |
| 1701 | |
| 1702 | mi-cmd-var.o: $(srcdir)/mi/mi-cmd-var.c |
| 1703 | $(COMPILE) $(srcdir)/mi/mi-cmd-var.c |
| 1704 | $(POSTCOMPILE) |
| 1705 | |
| 1706 | mi-console.o: $(srcdir)/mi/mi-console.c |
| 1707 | $(COMPILE) $(srcdir)/mi/mi-console.c |
| 1708 | $(POSTCOMPILE) |
| 1709 | |
| 1710 | mi-getopt.o: $(srcdir)/mi/mi-getopt.c |
| 1711 | $(COMPILE) $(srcdir)/mi/mi-getopt.c |
| 1712 | $(POSTCOMPILE) |
| 1713 | |
| 1714 | mi-interp.o: $(srcdir)/mi/mi-interp.c |
| 1715 | $(COMPILE) $(srcdir)/mi/mi-interp.c |
| 1716 | $(POSTCOMPILE) |
| 1717 | |
| 1718 | mi-main.o: $(srcdir)/mi/mi-main.c |
| 1719 | $(COMPILE) $(srcdir)/mi/mi-main.c |
| 1720 | $(POSTCOMPILE) |
| 1721 | |
| 1722 | mi-out.o: $(srcdir)/mi/mi-out.c |
| 1723 | $(COMPILE) $(srcdir)/mi/mi-out.c |
| 1724 | $(POSTCOMPILE) |
| 1725 | |
| 1726 | mi-parse.o: $(srcdir)/mi/mi-parse.c |
| 1727 | $(COMPILE) $(srcdir)/mi/mi-parse.c |
| 1728 | $(POSTCOMPILE) |
| 1729 | |
| 1730 | mi-symbol-cmds.o: $(srcdir)/mi/mi-symbol-cmds.c |
| 1731 | $(COMPILE) $(srcdir)/mi/mi-symbol-cmds.c |
| 1732 | $(POSTCOMPILE) |
| 1733 | |
| 1734 | mi-common.o: $(srcdir)/mi/mi-common.c |
| 1735 | $(COMPILE) $(srcdir)/mi/mi-common.c |
| 1736 | $(POSTCOMPILE) |
| 1737 | |
| 1738 | # |
| 1739 | # gdb/signals/ dependencies |
| 1740 | # |
| 1741 | # Need to explicitly specify the compile rule as make will do nothing |
| 1742 | # or try to compile the object file into the sub-directory. |
| 1743 | |
| 1744 | signals.o: $(srcdir)/signals/signals.c |
| 1745 | $(COMPILE) $(srcdir)/signals/signals.c |
| 1746 | $(POSTCOMPILE) |
| 1747 | |
| 1748 | # |
| 1749 | # gdb/tui/ dependencies |
| 1750 | # |
| 1751 | # Need to explicitly specify the compile rule as make will do nothing |
| 1752 | # or try to compile the object file into the sub-directory. |
| 1753 | |
| 1754 | tui.o: $(srcdir)/tui/tui.c |
| 1755 | $(COMPILE) $(srcdir)/tui/tui.c |
| 1756 | $(POSTCOMPILE) |
| 1757 | |
| 1758 | tui-command.o: $(srcdir)/tui/tui-command.c |
| 1759 | $(COMPILE) $(srcdir)/tui/tui-command.c |
| 1760 | $(POSTCOMPILE) |
| 1761 | |
| 1762 | tui-data.o: $(srcdir)/tui/tui-data.c |
| 1763 | $(COMPILE) $(srcdir)/tui/tui-data.c |
| 1764 | $(POSTCOMPILE) |
| 1765 | |
| 1766 | tui-disasm.o: $(srcdir)/tui/tui-disasm.c |
| 1767 | $(COMPILE) $(srcdir)/tui/tui-disasm.c |
| 1768 | $(POSTCOMPILE) |
| 1769 | |
| 1770 | tui-file.o: $(srcdir)/tui/tui-file.c |
| 1771 | $(COMPILE) $(srcdir)/tui/tui-file.c |
| 1772 | $(POSTCOMPILE) |
| 1773 | |
| 1774 | tui-hooks.o: $(srcdir)/tui/tui-hooks.c |
| 1775 | $(COMPILE) $(srcdir)/tui/tui-hooks.c |
| 1776 | $(POSTCOMPILE) |
| 1777 | |
| 1778 | tui-interp.o: $(srcdir)/tui/tui-interp.c |
| 1779 | $(COMPILE) $(srcdir)/tui/tui-interp.c |
| 1780 | $(POSTCOMPILE) |
| 1781 | |
| 1782 | tui-io.o: $(srcdir)/tui/tui-io.c |
| 1783 | $(COMPILE) $(srcdir)/tui/tui-io.c |
| 1784 | $(POSTCOMPILE) |
| 1785 | |
| 1786 | tui-layout.o: $(srcdir)/tui/tui-layout.c |
| 1787 | $(COMPILE) $(srcdir)/tui/tui-layout.c |
| 1788 | $(POSTCOMPILE) |
| 1789 | |
| 1790 | tui-main.o: $(srcdir)/tui/tui-main.c |
| 1791 | $(COMPILE) $(srcdir)/tui/tui-main.c |
| 1792 | $(POSTCOMPILE) |
| 1793 | |
| 1794 | tui-out.o: $(srcdir)/tui/tui-out.c |
| 1795 | $(COMPILE) $(srcdir)/tui/tui-out.c |
| 1796 | $(POSTCOMPILE) |
| 1797 | |
| 1798 | tui-regs.o: $(srcdir)/tui/tui-regs.c |
| 1799 | $(COMPILE) $(srcdir)/tui/tui-regs.c |
| 1800 | $(POSTCOMPILE) |
| 1801 | |
| 1802 | tui-source.o: $(srcdir)/tui/tui-source.c |
| 1803 | $(COMPILE) $(srcdir)/tui/tui-source.c |
| 1804 | $(POSTCOMPILE) |
| 1805 | |
| 1806 | tui-stack.o: $(srcdir)/tui/tui-stack.c |
| 1807 | $(COMPILE) $(srcdir)/tui/tui-stack.c |
| 1808 | $(POSTCOMPILE) |
| 1809 | |
| 1810 | tui-win.o: $(srcdir)/tui/tui-win.c |
| 1811 | $(COMPILE) $(srcdir)/tui/tui-win.c |
| 1812 | $(POSTCOMPILE) |
| 1813 | |
| 1814 | tui-windata.o: $(srcdir)/tui/tui-windata.c |
| 1815 | $(COMPILE) $(srcdir)/tui/tui-windata.c |
| 1816 | $(POSTCOMPILE) |
| 1817 | |
| 1818 | tui-wingeneral.o: $(srcdir)/tui/tui-wingeneral.c |
| 1819 | $(COMPILE) $(srcdir)/tui/tui-wingeneral.c |
| 1820 | $(POSTCOMPILE) |
| 1821 | |
| 1822 | tui-winsource.o: $(srcdir)/tui/tui-winsource.c |
| 1823 | $(COMPILE) $(srcdir)/tui/tui-winsource.c |
| 1824 | $(POSTCOMPILE) |
| 1825 | |
| 1826 | # |
| 1827 | # gdb/python/ dependencies |
| 1828 | # |
| 1829 | # Need to explicitly specify the compile rule as make will do nothing |
| 1830 | # or try to compile the object file into the sub-directory. |
| 1831 | |
| 1832 | # Flags needed to compile Python code |
| 1833 | PYTHON_CFLAGS=@PYTHON_CFLAGS@ |
| 1834 | |
| 1835 | python.o: $(srcdir)/python/python.c |
| 1836 | $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/python.c |
| 1837 | $(POSTCOMPILE) |
| 1838 | |
| 1839 | python-utils.o: $(srcdir)/python/python-utils.c |
| 1840 | $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/python-utils.c |
| 1841 | $(POSTCOMPILE) |
| 1842 | |
| 1843 | python-value.o: $(srcdir)/python/python-value.c |
| 1844 | $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/python-value.c |
| 1845 | $(POSTCOMPILE) |
| 1846 | |
| 1847 | # |
| 1848 | # Dependency tracking. Most of this is conditional on GNU Make being |
| 1849 | # found by configure; if GNU Make is not found, we fall back to a |
| 1850 | # simpler scheme. |
| 1851 | # |
| 1852 | |
| 1853 | @GMAKE_TRUE@ifeq ($(DEPMODE),depmode=gcc3) |
| 1854 | # Note that we put the dependencies into a .Tpo file, then move them |
| 1855 | # into place if the compile succeeds. We need this because gcc does |
| 1856 | # not atomically write the dependency output file. |
| 1857 | @GMAKE_TRUE@override COMPILE.post = -c -o $@ -MT $@ -MMD -MP \ |
| 1858 | @GMAKE_TRUE@ -MF $(DEPDIR)/$(basename $(@F)).Tpo |
| 1859 | @GMAKE_TRUE@override POSTCOMPILE = @mv $(DEPDIR)/$(basename $(@F)).Tpo \ |
| 1860 | @GMAKE_TRUE@ $(DEPDIR)/$(basename $(@F)).Po |
| 1861 | @GMAKE_TRUE@else |
| 1862 | @GMAKE_TRUE@override COMPILE.pre = source='$<' object='$@' libtool=no \ |
| 1863 | @GMAKE_TRUE@ DEPDIR=$(DEPDIR) $(DEPMODE) $(depcomp) $(CC) |
| 1864 | # depcomp handles atomicity for us, so we don't need a postcompile |
| 1865 | # step. |
| 1866 | @GMAKE_TRUE@override POSTCOMPILE = |
| 1867 | @GMAKE_TRUE@endif |
| 1868 | |
| 1869 | # A list of all the objects we might care about in this build, for |
| 1870 | # dependency tracking. |
| 1871 | all_object_files = gdb.o tui-main.o $(LIBGDB_OBS) gdbtk-main.o \ |
| 1872 | test-cp-name-parser.o |
| 1873 | |
| 1874 | # Ensure that generated files are created early. Use order-only |
| 1875 | # dependencies if available. They require GNU make 3.80 or newer, |
| 1876 | # and the .VARIABLES variable was introduced at the same time. |
| 1877 | @GMAKE_TRUE@ifdef .VARIABLES |
| 1878 | @GMAKE_TRUE@$(all_object_files): | $(generated_files) |
| 1879 | @GMAKE_TRUE@else |
| 1880 | $(all_object_files) : $(generated_files) |
| 1881 | @GMAKE_TRUE@endif |
| 1882 | |
| 1883 | # Dependencies. |
| 1884 | @GMAKE_TRUE@-include $(patsubst %.o, $(DEPDIR)/%.Po, $(all_object_files)) |
| 1885 | |
| 1886 | ### end of the gdb Makefile.in. |