EXEEXT = @EXEEXT@
AWK = @AWK@
+LN_S = @LN_S@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
RANLIB = @RANLIB@
DLLTOOL = @DLLTOOL@
WINDRES = @WINDRES@
+MIG = @MIG@
# If the user configured GDB to include the TUI, the name of the tui
# library goes here.
MMALLOC = @MMALLOC@
MMALLOC_CFLAGS = @MMALLOC_CFLAGS@
+# We are using our own version of REGEX now to be consistent across
+# machines.
+REGEX = @REGEX@
+REGEX_CFLAGS = @REGEX_CFLAGS@
+
# Where is the BFD library? Typically in ../bfd.
BFD_DIR = ../bfd
BFD = $(BFD_DIR)/libbfd.a
TUI_SRC = $(srcdir)/$(TUI_DIR)
TUI_CFLAGS= -I$(TUI_SRC)
+#
+# MI sub directory definitons
+#
+SUBDIR_MI_OBS = \
+ mi-out.o mi-console.o \
+ mi-cmds.o mi-cmd-var.o mi-cmd-break.o mi-cmd-stack.o \
+ mi-cmd-disas.o \
+ mi-main.o mi-parse.o mi-getopt.o
+SUBDIR_MI_SRCS = \
+ mi/mi-out.c mi/mi-console.c \
+ mi/mi-cmds.c \
+ mi/mi-cmd-var.c mi/mi-cmd-break.c mi/mi-cmd-stack.c \
+ mi/mi-cmd-disas.c \
+ mi/mi-main.c mi/mi-parse.c mi/mi-getopt.c
+SUBDIR_MI_DEPS =
+SUBDIR_MI_INITS = \
+ mi/mi-cmds.c mi/mi-parse.c mi/mi-main.c
+SUBDIR_MI_LDFLAGS=
+SUBDIR_MI_CFLAGS= \
+ -DUI_OUT=1
+SUBDIR_MI_ALL=
+SUBDIR_MI_CLEAN=
+SUBDIR_MI_INSTALL=
+SUBDIR_MI_UNINSTALL=
+
# Opcodes currently live in one of two places. Either they are in the
# opcode library, typically ../opcodes, or they are in a header file
# in INCLUDE_DIR.
WIN32LDAPP = @WIN32LDAPP@
-ENABLE_GDBTK= @ENABLE_GDBTK@
LIBGUI = @LIBGUI@
GUI_CFLAGS_X = @GUI_CFLAGS_X@
IDE_CFLAGS=$(GUI_CFLAGS_X) $(IDE_CFLAGS_X)
-
+SUBDIR_GDBTK_ALL= all-gdbtk
+SUBDIR_GDBTK_CLEAN= clean-gdbtk
+SUBDIR_GDBTK_INSTALL= install-gdbtk
+SUBDIR_GDBTK_UNINSTALL=
+
+CONFIG_OBS= @CONFIG_OBS@
+CONFIG_SRCS= @CONFIG_SRCS@
+CONFIG_DEPS= @CONFIG_DEPS@
+CONFIG_INITS= @CONFIG_INITS@
+CONFIG_LDFLAGS = @CONFIG_LDFLAGS@
ENABLE_CFLAGS= @ENABLE_CFLAGS@
+CONFIG_ALL= @CONFIG_ALL@
+CONFIG_CLEAN= @CONFIG_CLEAN@
+CONFIG_CLEAN= @CONFIG_CLEAN@
+CONFIG_INSTALL = @CONFIG_INSTALL@
+CONFIG_UNINSTALL = @CONFIG_UNINSTALL@
# -I. for config files.
# -I$(srcdir) for gdb internal headers and possibly for gnu-regex.h also.
# CFLAGS is specifically reserved for setting from the command line
# when running make. I.E. "make CFLAGS=-Wmissing-prototypes".
-CFLAGS = -g
+CFLAGS = @CFLAGS@
# Need to pass this to testsuite for "make check". Probably should be
# consistent with top-level Makefile.in and gdb/testsuite/Makefile.in
$(CFLAGS) $(GLOBAL_CFLAGS) $(PROFILE_CFLAGS) \
$(GDB_CFLAGS) $(OPCODES_CFLAGS) $(READLINE_CFLAGS) \
$(BFD_CFLAGS) $(MMALLOC_CFLAGS) $(INCLUDE_CFLAGS) \
- $(INTL_CFLAGS) $(TUI_CFLAGS) $(ENABLE_CFLAGS) $(GDB_WARN_CFLAGS)
+ $(INTL_CFLAGS) $(TUI_CFLAGS) $(ENABLE_CFLAGS) \
+ $(REGEX_CFLAGS) $(GDB_WARN_CFLAGS)
INTERNAL_CFLAGS = $(INTERNAL_WARN_CFLAGS) $(GDB_WERROR_CFLAGS)
# LDFLAGS is specifically reserved for setting from the command line
# Profiling options need to go here to work.
# I think it's perfectly reasonable for a user to set -pg in CFLAGS
# and have it work; that's why CFLAGS is here.
-INTERNAL_LDFLAGS = $(CFLAGS) $(GLOBAL_CFLAGS) $(PROFILE_CFLAGS) $(LDFLAGS) @CONFIG_LDFLAGS@ @HLDFLAGS@
+INTERNAL_LDFLAGS = $(CFLAGS) $(GLOBAL_CFLAGS) $(PROFILE_CFLAGS) $(LDFLAGS) $(CONFIG_LDFLAGS) @HLDFLAGS@
HLDENV = @HLDENV@
-# We are using our own version of REGEX now to be consistent across
-# machines.
-REGEX = gnu-regex.o
-REGEX1 = gnu-regex.o
-
# If your system is missing alloca(), or, more likely, it's there but
# it doesn't work, then refer to libiberty.
$(TERMCAP) $(XM_CLIBS) $(TM_CLIBS) $(NAT_CLIBS) $(GDBTKLIBS) @LIBS@ \
$(MMALLOC) $(LIBIBERTY) $(WIN32LIBS)
CDEPS = $(XM_CDEPS) $(TM_CDEPS) $(NAT_CDEPS) $(SIM) $(BFD) $(READLINE) \
- $(OPCODES) $(MMALLOC) $(INTL_DEPS) $(LIBIBERTY) @CONFIG_DEPS@
+ $(OPCODES) $(MMALLOC) $(INTL_DEPS) $(LIBIBERTY) $(CONFIG_DEPS)
ADD_FILES = $(REGEX) $(XM_ADD_FILES) $(TM_ADD_FILES) $(NAT_ADD_FILES)
-ADD_DEPS = $(REGEX1) $(XM_ADD_FILES) $(TM_ADD_FILES) $(NAT_ADD_FILES)
+ADD_DEPS = $(REGEX) $(XM_ADD_FILES) $(TM_ADD_FILES) $(NAT_ADD_FILES)
VERSION = 20000204
DIST=gdb
demangle.c dwarfread.c dwarf2read.c elfread.c environ.c eval.c \
event-loop.c event-top.c \
expprint.c f-exp.y f-lang.c f-typeprint.c f-valprint.c \
- findvar.c gdbarch.c gdbtypes.c \
+ findvar.c gdbarch.c gdbarch-utils.c gdbtypes.c \
inf-loop.c infcmd.c inflow.c infrun.c language.c \
kod.c kod-cisco.c \
ui-out.c cli-out.c \
tui/tui-file.h tui/tui-file.c \
ui-file.h ui-file.c
-LINTFILES = $(SFILES) $(YYFILES) @CONFIG_SRCS@ init.c
+LINTFILES = $(SFILES) $(YYFILES) $(CONFIG_SRCS) init.c
# "system" headers. Using these in dependencies is a rather personal
# choice. (-rich, summer 1993)
version_h = version.h
ui_out_h = ui-out.h
cli_out_h = cli-out.h
+gdbarch_utils_h = gdbarch-utils.h
# Header files that need to have srcdir added. Note that in the cases
# where we use a macro like $(gdbcmd_h), things are carefully arranged
# Makefile.in
DEPFILES = $(TDEPFILES) $(XDEPFILES) $(SER_HARDWIRE) $(NATDEPFILES) \
- $(REMOTE_OBS) $(SIM_OBS) @CONFIG_OBS@
+ $(REMOTE_OBS) $(SIM_OBS) $(CONFIG_OBS)
-SOURCES = $(SFILES) $(ALLDEPFILES) $(YYFILES) @CONFIG_SRCS@
+SOURCES = $(SFILES) $(ALLDEPFILES) $(YYFILES) $(CONFIG_SRCS)
# Don't include YYFILES (*.tab.c) because we already include *.y in SFILES,
# and it's more useful to see it in the .y file.
TAGFILES_NO_SRCDIR = $(SFILES) $(HFILES_NO_SRCDIR) $(ALLDEPFILES) \
symtab.o symfile.o symmisc.o infcmd.o infrun.o command.o \
expprint.o environ.o \
event-loop.o event-top.o inf-loop.o \
- gdbarch.o gdbtypes.o copying.o $(DEPFILES) \
+ gdbarch.o gdbarch-utils.o gdbtypes.o copying.o $(DEPFILES) \
mem-break.o target.o parse.o language.o $(YYOBJ) buildsym.o \
kod.o kod-cisco.o \
gdb-events.o \
.c.o:
$(CC) -c $(INTERNAL_CFLAGS) $<
-all: gdb$(EXEEXT)
+all: gdb$(EXEEXT) $(CONFIG_ALL)
@$(MAKE) $(FLAGS_TO_PASS) DO=all "DODIRS=`echo $(SUBDIRS) | sed 's/testsuite//'`" subdir_do
installcheck:
# time it takes for make to check that all is up to date.
# install-only is intended to address that need.
install: all install-only
-install-only:
+install-only: $(CONFIG_INSTALL)
transformed_name=`t='$(program_transform_name)'; \
echo gdb | sed -e $$t` ; \
if test "x$$transformed_name" = x; then \
else \
true ; \
fi ; \
+ $(srcdir)/../mkinstalldirs $(bindir) ; \
$(INSTALL_PROGRAM) gdb$(EXEEXT) $(bindir)/$$transformed_name$(EXEEXT) ; \
+ $(srcdir)/../mkinstalldirs $(man1dir) ; \
$(INSTALL_DATA) $(srcdir)/gdb.1 $(man1dir)/$$transformed_name.1
- $(SHELL) $(srcdir)/../mkinstalldirs $(datadir)/gdbtcl ; \
- $(SHELL) $(srcdir)/../mkinstalldirs \
- $(datadir)/gdbtcl/images \
- $(datadir)/gdbtcl/images2 ; \
- $(SHELL) $(srcdir)/../mkinstalldirs $(datadir)/gdbtcl/help \
- $(datadir)/gdbtcl/help/images \
- $(datadir)/gdbtcl/help/trace ; \
- cd $(srcdir)/gdbtk/library ; \
- for i in *.tcl *.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; \
- do \
- $(INSTALL_DATA) $$i $(datadir)/gdbtcl/$$i ; \
- done ;
@$(MAKE) DO=install "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do
-uninstall: force
+uninstall: force $(CONFIG_UNINSTALL)
transformed_name=`t='$(program_transform_name)'; \
echo gdb | sed -e $$t` ; \
if test "x$$transformed_name" = x; then \
# tui-file.c.
#
-INIT_FILES = $(OBS) $(TSOBS) $(SUBDIR_INIT_FILES) @CONFIG_INITS@
+INIT_FILES = $(OBS) $(TSOBS) $(CONFIG_INITS)
init.c: $(INIT_FILES)
@echo Making init.c
@rm -f init.c-tmp init.l-tmp
tags: TAGS
-clean mostlyclean:
+clean mostlyclean: $(CONFIG_CLEAN)
@$(MAKE) $(FLAGS_TO_PASS) DO=clean "DODIRS=$(SUBDIRS)" subdir_do
rm -f *.o *.a $(ADD_FILES) *~ init.c-tmp init.l-tmp
rm -f init.c version.c
doc/gdb.info:
cd doc; $(MAKE) gdb.info $(FLAGS_TO_PASS)
+# When DJGPP Make runs on MS-DOS, it downcases all file names, so
+# it doesn't find COPYING, and wants to make it...
+copying.txt:
+ test -f copying.txt || \
+ (test "$$LN_S" = "ln -s" && \
+ ln -s $(srcdir)/COPYING copying.txt;) || \
+ cp -p $(srcdir)/COPYING copying.txt 2>/dev/null || \
+ ln $(srcdir)/COPYING copying.txt 2>/dev/null || \
+ cp $(srcdir)/COPYING copying.txt
+
# Make copying.c from COPYING
-copying.c: COPYING copying.awk
- awk -f $(srcdir)/copying.awk < $(srcdir)/COPYING > copying.c
+copying.c: copying.txt copying.awk
+ awk -f $(srcdir)/copying.awk < $(srcdir)/copying.txt > copying.c
version.c: Makefile
rm -f version.c
29k-share/udi/udi2go32.c \
a29k-tdep.c a68v-nat.c alpha-nat.c alpha-tdep.c \
altos-xdep.c arm-convert.s \
- arm-linux-nat.c arm-tdep.c arm-xdep.c coff-solib.c \
- convex-tdep.c convex-xdep.c \
+ arm-linux-nat.c arm-linux-tdep.c arm-tdep.c arm-xdep.c \
+ coff-solib.c convex-tdep.c convex-xdep.c \
core-sol2.c core-regset.c core-aout.c corelow.c \
dcache.c delta68-nat.c dpx2-nat.c dstread.c exec.c fork-child.c \
- gould-tdep.c gould-xdep.c h8300-tdep.c h8500-tdep.c \
+ go32-nat.c gould-tdep.c gould-xdep.c h8300-tdep.c h8500-tdep.c \
hp300ux-nat.c hppa-tdep.c hppab-nat.c hppah-nat.c \
hp-psymtab-read.c hp-symtab-read.c \
i386-tdep.c i386b-nat.c i386mach-nat.c i386v-nat.c i386-linux-nat.c \
i386aix-nat.c i386m3-nat.c i386v4-nat.c i386ly-tdep.c \
i387-tdep.c \
+ i386-linux-tdep.c \
i960-tdep.c \
+ ia64-linux-nat.c ia64-tdep.c \
infptrace.c inftarg.c irix4-nat.c irix5-nat.c isi-xdep.c \
lynx-nat.c m3-nat.c \
m68k-tdep.c \
arm-linux-nat.o: arm-linux-nat.c $(defs_h) $(inferior_h) $(gdbcore_h) \
gdb_string.h
+arm-linux-tdep.o: arm-linux-tdep.c $(defs_h) target.h $(value_h) \
+ $(gdbtypes_h) $(floatformat_h)
+
arm-tdep.o: arm-tdep.c $(gdbcmd_h) $(gdbcore_h) $(inferior_h) $(defs_h) \
$(gdbcore_h)
fork-child.o: fork-child.c gdb_wait.h $(defs_h) $(gdbcore_h) \
$(inferior_h) target.h terminal.h gdbthread.h gdb_string.h
+# FIXME: cagney/2000-03-27: Post 5.0 this link code can be removed.
+# It should now be possible to run GDBtk from the build directory
+# without the link in place.
+all-gdbtk:
+ @if test ! -d gdbtcl/images ; then \
+ if test "$(LN_S)" = "ln -s" ; then \
+ echo linking ${srcdir}/gdbtk/library to gdbtcl ; \
+ rm -f gdbtcl ; \
+ test ! -r gdbtcl || exit 1 ; \
+ $(LN_S) ${srcdir}/gdbtk/library gdbtcl ; \
+ else \
+ echo "Warning:" ; \
+ echo "Unable to link ${srcdir}/gdbtk/library to gdbtcl." ; \
+ echo "You will need to do a \`make install' before you are" ; \
+ echo "able to run the GUI." ; \
+ fi ; \
+ else true ; fi
+
+clean-gdbtk:
+ rm -f gdbtcl
+
+install-gdbtk:
+ $(SHELL) $(srcdir)/../mkinstalldirs $(datadir)/gdbtcl ; \
+ $(SHELL) $(srcdir)/../mkinstalldirs \
+ $(datadir)/gdbtcl/images \
+ $(datadir)/gdbtcl/images2 ; \
+ $(SHELL) $(srcdir)/../mkinstalldirs $(datadir)/gdbtcl/help \
+ $(datadir)/gdbtcl/help/images \
+ $(datadir)/gdbtcl/help/trace ; \
+ cd $(srcdir)/gdbtk/library ; \
+ for i in *.tcl *.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; \
+ do \
+ $(INSTALL_DATA) $$i $(datadir)/gdbtcl/$$i ; \
+ done ;
+
gdbres.o: $(srcdir)/gdbtk/gdb.rc $(srcdir)/gdbtk/gdbtool.ico
$(WINDRES) --include $(srcdir)/gdbtk $(srcdir)/gdbtk/gdb.rc gdbres.o
gdbarch.o: gdbarch.c $(defs_h) $(bfd_h) $(gdbcmd_h)
+gdbarch-utils.o: gdbarch-utils.c $(defs_h) $(bfd_h) $(gdbcmd_h) \
+ $(gdbarch_utils_h)
+
gdbtypes.o: gdbtypes.c $(bfd_h) complaints.h $(defs_h) $(expression_h) \
$(gdbtypes_h) language.h objfiles.h symfile.h $(symtab_h) target.h \
$(value_h) gdb_string.h
+go32-nat.o: go32-nat.c $(defs_h) $(inferior_h) gdb_wait.h $(gdbcore_h) \
+ $(command_h) $(floatformat_h) target.h
+
gnu-nat.o: process_reply_S.h exc_request_S.h notify_S.h msg_reply_S.h \
exc_request_U.h msg_U.h gnu-nat.h
$(inferior_h) language.h target.h
i386-linux-nat.o: i386-linux-nat.c $(defs_h) $(inferior_h) $(gdbcore_h) \
- $(symtab_h) $(frame_h) symfile.h objfiles.h
+ $(symtab_h) symfile.h objfiles.h
+
+i386-linux-tdep.o: i386-linux-tdep.c $(defs_h) $(gdbcore_h) $(frame_h) \
+ $(value_h)
i386v4-nat.o: i386v4-nat.c $(defs_h)
i960-tdep.o: i960-tdep.c $(floatformat_h) $(defs_h) $(expression_h) \
$(frame_h) $(gdbtypes_h) $(symtab_h) $(value_h) $(gdbcore_h)
+ia64-linux-nat.o: ia64-linux-nat.c $(defs_h) $(inferior_h) $(target_h) \
+ $(gdbcore_h)
+
+ia64-tdep.o: ia64-tdep.c $(defs_h) $(inferior_h) symfile.h $(gdbcore_h) \
+ $(floatformat_h) objfiles.h $(INCLUDE_DIR)/elf/common.h
+
infcmd.o: infcmd.c $(defs_h) environ.h $(gdbcmd_h) $(gdbcore_h) \
$(inferior_h) target.h language.h gdb_string.h
mac-nat.o: mac-nat.c $(defs_h) gdb_string.h
-main.o: main.c top.h $(defs_h) gdb_string.h $(event_loop_h) tui/tui-file.h
+main.o: main.c top.h $(defs_h) gdb_string.h $(event_loop_h) $(srcdir)/tui/tui-file.h
maint.o: maint.c $(defs_h) $(gdbcmd_h) $(gdbtypes_h) $(symtab_h) language.h \
$(expression_h) objfiles.h symfile.h
mips-nat.o: mips-nat.c $(defs_h) $(gdbcore_h) $(inferior_h)
mips-tdep.o: mips-tdep.c $(defs_h) $(gdbcmd_h) $(gdbcore_h) \
+ $(gdbarch_utils_h) \
$(inferior_h) language.h objfiles.h symfile.h gdb_string.h
mipsread.o: mipsread.c buildsym.h complaints.h $(bfd_h) $(defs_h) \
$(CC) -c $(INTERNAL_WARN_CFLAGS) $(NO_WERROR_CFLAGS) $<
wrapper.o: wrapper.c $(defs_h) $(frame_h) $(value_h) wrapper.h
+#
+# MI dependencies
+#
+# Need to explicitly specify the compile rule as make will do nothing
+# or try to compile the object file into the mi directory.
+
+mi_cmds_h = $(srcdir)/mi/mi-cmds.h
+mi_out_h = $(srcdir)/mi/mi-out.h
+mi_parse_h = $(srcdir)/mi/mi-parse.h
+mi_getopt_h = $(srcdir)/mi/mi-getopt.h
+mi_console_h = $(srcdir)/mi/mi-console.h
+
+mi-cmds.o: $(srcdir)/mi/mi-cmds.c $(defs_h) $(top_h) $(mi_cmds_h) $(ui_out_h)
+ $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-cmds.c
+mi-cmd-var.o: $(srcdir)/mi/mi-cmd-var.c $(defs_h) $(top_h) $(mi_cmds_h) \
+ $(ui_out_h)
+ $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-cmd-var.c
+mi-cmd-stack.o: $(srcdir)/mi/mi-cmd-stack.c $(defs_h) $(top_h) $(mi_cmds_h) \
+ $(ui_out_h) $(frame_h) $(value_h) $(target_h)
+ $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-cmd-stack.c
+mi-cmd-break.o: $(srcdir)/mi/mi-cmd-break.c $(defs_h) $(mi_cmds_h) \
+ $(ui_out_h) $(mi_getopt_h)
+ $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-cmd-break.c
+mi-cmd-disas.o: $(srcdir)/mi/mi-cmd-disas.c $(defs_h) $(mi_cmds_h) \
+ $(ui_out_h) $(value_h) $(target_h)
+ $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-cmd-disas.c
+mi-main.o: $(srcdir)/mi/mi-main.c $(defs_h) $(top_h) $(mi_cmds_h) $(ui_out_h) \
+ $(mi_console_h) $(mi_getopt_h) $(event_loop_h) $(event_top_h) \
+ $(mi_getopt_h)
+ $(CC) -c $(INTERNAL_WARN_CFLAGS) $(srcdir)/mi/mi-main.c
+mi-out.o: $(srcdir)/mi/mi-out.c $(defs_h) $(mi_out_h) $(ui_out_h)
+ $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-out.c
+mi-console.o: $(srcdir)/mi/mi-console.c $(mi_out_h) $(defs_h)
+ $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-console.c
+mi-parse.o: $(srcdir)/mi/mi-parse.c $(defs_h) $(mi_parse_h) $(mi_cmds_h)
+ $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-parse.c
+mi-getopt.o: $(srcdir)/mi/mi-getopt.c $(mi_getopt_h) $(defs_h)
+ $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-getopt.c
+
### end of the gdb Makefile.in.