379a5e2d36
This is the gdbserver-equivalent of the change made in GDB to handle the case, in x64 windows version 2012, where the kernel produces a LOAD_DLL_DEBUG_EVENT where the name of the associated DLL cannot be determined at that time, and thus has to be processed later. The visible symptom is that ntdll.dll is missing from the list of shared libraries known to be mapped by the inferior, with other side-effects such as failure to unwind through code provided by that DLL (such as exception handling routines). gdb/gdbserver/ChangeLog: * Makefile.in (safe-ctype.o, lbasename.o): New rules. * configure.srv: Add safe-ctype.o and lbasename.o to srv_tgtobj for all targets that use win32-low.c. * win32-low.c (win32_ensure_ntdll_loaded): New function. (do_initial_child_stuff): Add call to win32_ensure_ntdll_loaded.
738 lines
30 KiB
Makefile
738 lines
30 KiB
Makefile
# Copyright (C) 1989-2013 Free Software Foundation, Inc.
|
|
|
|
# This file is part of GDB.
|
|
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
prefix = @prefix@
|
|
exec_prefix = @exec_prefix@
|
|
|
|
host_alias = @host_noncanonical@
|
|
target_alias = @target_noncanonical@
|
|
program_transform_name = @program_transform_name@
|
|
bindir = @bindir@
|
|
libdir = @libdir@
|
|
tooldir = $(libdir)/$(target_alias)
|
|
|
|
datarootdir = @datarootdir@
|
|
datadir = @datadir@
|
|
mandir = @mandir@
|
|
man1dir = $(mandir)/man1
|
|
man2dir = $(mandir)/man2
|
|
man3dir = $(mandir)/man3
|
|
man4dir = $(mandir)/man4
|
|
man5dir = $(mandir)/man5
|
|
man6dir = $(mandir)/man6
|
|
man7dir = $(mandir)/man7
|
|
man8dir = $(mandir)/man8
|
|
man9dir = $(mandir)/man9
|
|
infodir = @infodir@
|
|
htmldir = $(prefix)/html
|
|
includedir = @includedir@
|
|
|
|
SHELL = @SHELL@
|
|
EXEEXT = @EXEEXT@
|
|
|
|
INSTALL = @INSTALL@
|
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
|
INSTALL_DATA = @INSTALL_DATA@
|
|
RANLIB = @RANLIB@
|
|
|
|
CC = @CC@
|
|
|
|
# Dependency tracking information.
|
|
DEPMODE = @CCDEPMODE@
|
|
DEPDIR = @DEPDIR@
|
|
depcomp = $(SHELL) $(srcdir)/../depcomp
|
|
|
|
# Note that these are overridden by GNU make-specific code below if
|
|
# GNU make is used. The overrides implement dependency tracking.
|
|
COMPILE.pre = $(CC)
|
|
COMPILE.post = -c -o $@
|
|
COMPILE = $(COMPILE.pre) $(INTERNAL_CFLAGS) $(COMPILE.post)
|
|
POSTCOMPILE = @true
|
|
|
|
# Directory containing source files. Don't clean up the spacing,
|
|
# this exact string is matched for by the "configure" script.
|
|
srcdir = @srcdir@
|
|
abs_top_srcdir=@abs_top_srcdir@
|
|
abs_srcdir=@abs_srcdir@
|
|
VPATH = @srcdir@
|
|
|
|
# It is also possible that you will need to add -I/usr/include/sys to the
|
|
# CFLAGS section if your system doesn't have fcntl.h in /usr/include (which
|
|
# is where it should be according to Posix).
|
|
|
|
# Set this up with gcc if you have gnu ld and the loader will print out
|
|
# line numbers for undefinded refs.
|
|
#CC-LD=gcc -static
|
|
CC-LD=${CC}
|
|
|
|
# Where is the "include" directory? Traditionally ../include or ./include
|
|
INCLUDE_DIR = ${srcdir}/../../include
|
|
INCLUDE_DEP = $$(INCLUDE_DIR)
|
|
|
|
# Where is ust? These will be empty if ust was not available.
|
|
ustlibs = @ustlibs@
|
|
ustinc = @ustinc@
|
|
|
|
# gnulib
|
|
GNULIB_BUILDDIR = build-gnulib-gdbserver
|
|
LIBGNU = $(GNULIB_BUILDDIR)/import/libgnu.a
|
|
INCGNU = -I$(srcdir)/../gnulib/import -I$(GNULIB_BUILDDIR)/import
|
|
|
|
# Generated headers in the gnulib directory. These must be listed
|
|
# so that they are generated before other files are compiled.
|
|
GNULIB_H = $(GNULIB_BUILDDIR)/import/string.h @GNULIB_STDINT_H@
|
|
|
|
# All the includes used for CFLAGS and for lint.
|
|
# -I. for config files.
|
|
# -I${srcdir} for our headers.
|
|
# -I$(srcdir)/../regformats for regdef.h.
|
|
#
|
|
# We do not include ../target or ../nat in here because headers
|
|
# in those directories should be included with the subdirectory.
|
|
# e.g.: "target/wait.h".
|
|
#
|
|
INCLUDE_CFLAGS = -I. -I${srcdir} -I$(srcdir)/../common \
|
|
-I$(srcdir)/../regformats -I$(srcdir)/../ -I$(INCLUDE_DIR) \
|
|
$(INCGNU)
|
|
|
|
# M{H,T}_CFLAGS, if defined, has host- and target-dependent CFLAGS
|
|
# from the config/ directory.
|
|
GLOBAL_CFLAGS = ${MT_CFLAGS} ${MH_CFLAGS}
|
|
#PROFILE_CFLAGS = -pg
|
|
|
|
WARN_CFLAGS = @WARN_CFLAGS@
|
|
WERROR_CFLAGS = @WERROR_CFLAGS@
|
|
|
|
WARN_CFLAGS_NO_FORMAT = `echo " $(WARN_CFLAGS) " \
|
|
| sed "s/ -Wformat-nonliteral / -Wno-format-nonliteral /g"`
|
|
|
|
# CFLAGS is specifically reserved for setting from the command line
|
|
# when running make. I.E. "make CFLAGS=-Wmissing-prototypes".
|
|
CFLAGS = @CFLAGS@
|
|
|
|
# INTERNAL_CFLAGS is the aggregate of all other *CFLAGS macros.
|
|
INTERNAL_CFLAGS_BASE = ${CFLAGS} ${GLOBAL_CFLAGS} \
|
|
${PROFILE_CFLAGS} ${INCLUDE_CFLAGS}
|
|
INTERNAL_WARN_CFLAGS = ${INTERNAL_CFLAGS_BASE} $(WARN_CFLAGS)
|
|
INTERNAL_CFLAGS = ${INTERNAL_WARN_CFLAGS} $(WERROR_CFLAGS) -DGDBSERVER
|
|
|
|
# LDFLAGS is specifically reserved for setting from the command line
|
|
# when running make.
|
|
LDFLAGS = @LDFLAGS@
|
|
INTERNAL_LDFLAGS = $(LDFLAGS) @RDYNAMIC@
|
|
|
|
# All source files that go into linking GDB remote server.
|
|
|
|
SFILES= $(srcdir)/gdbreplay.c $(srcdir)/inferiors.c $(srcdir)/dll.c \
|
|
$(srcdir)/mem-break.c $(srcdir)/proc-service.c \
|
|
$(srcdir)/proc-service.list $(srcdir)/regcache.c \
|
|
$(srcdir)/remote-utils.c $(srcdir)/server.c $(srcdir)/target.c \
|
|
$(srcdir)/thread-db.c $(srcdir)/utils.c \
|
|
$(srcdir)/linux-arm-low.c $(srcdir)/linux-bfin-low.c \
|
|
$(srcdir)/linux-cris-low.c $(srcdir)/linux-crisv32-low.c \
|
|
${srcdir}/i386-low.c $(srcdir)/i387-fp.c \
|
|
$(srcdir)/linux-ia64-low.c $(srcdir)/linux-low.c \
|
|
$(srcdir)/linux-m32r-low.c \
|
|
$(srcdir)/linux-m68k-low.c $(srcdir)/linux-mips-low.c \
|
|
$(srcdir)/linux-nios2-low.c \
|
|
$(srcdir)/linux-ppc-low.c \
|
|
$(srcdir)/linux-s390-low.c \
|
|
$(srcdir)/linux-sh-low.c $(srcdir)/linux-sparc-low.c \
|
|
$(srcdir)/linux-x86-low.c \
|
|
$(srcdir)/linux-xtensa-low.c \
|
|
$(srcdir)/linux-tile-low.c \
|
|
$(srcdir)/win32-arm-low.c $(srcdir)/win32-i386-low.c \
|
|
$(srcdir)/win32-low.c $(srcdir)/wincecompat.c \
|
|
$(srcdir)/hostio.c $(srcdir)/hostio-errno.c \
|
|
$(srcdir)/common/vec.c $(srcdir)/common/gdb_vecs.c \
|
|
$(srcdir)/common/common-utils.c $(srcdir)/common/xml-utils.c \
|
|
$(srcdir)/common/linux-osdata.c $(srcdir)/common/ptid.c \
|
|
$(srcdir)/common/buffer.c $(srcdir)/common/linux-btrace.c \
|
|
$(srcdir)/common/filestuff.c $(srcdir)/target/waitstatus.c \
|
|
$(srcdir)/common/mips-linux-watch.c
|
|
|
|
DEPFILES = @GDBSERVER_DEPFILES@
|
|
|
|
LIBOBJS = @LIBOBJS@
|
|
|
|
SOURCES = $(SFILES)
|
|
TAGFILES = $(SOURCES) ${HFILES} ${ALLPARAM} ${POSSLIBS}
|
|
|
|
OBS = agent.o ax.o inferiors.o regcache.o remote-utils.o server.o signals.o \
|
|
target.o waitstatus.o utils.o version.o vec.o gdb_vecs.o \
|
|
mem-break.o hostio.o event-loop.o tracepoint.o xml-utils.o \
|
|
common-utils.o ptid.o buffer.o format.o filestuff.o dll.o notif.o \
|
|
tdesc.o $(XML_BUILTIN) $(DEPFILES) $(LIBOBJS)
|
|
GDBREPLAY_OBS = gdbreplay.o version.o
|
|
GDBSERVER_LIBS = @GDBSERVER_LIBS@
|
|
XM_CLIBS = @LIBS@
|
|
CDEPS = $(srcdir)/proc-service.list
|
|
|
|
# XML files to compile in to gdbserver, if any.
|
|
XML_DIR = $(srcdir)/../features
|
|
XML_FILES = @srv_xmlfiles@
|
|
XML_BUILTIN = @srv_xmlbuiltin@
|
|
|
|
IPA_DEPFILES = @IPA_DEPFILES@
|
|
extra_libraries = @extra_libraries@
|
|
|
|
SUBDIRS = $(GNULIB_BUILDDIR)
|
|
CLEANDIRS = $(SUBDIRS)
|
|
|
|
# List of subdirectories in the build tree that must exist.
|
|
# This is used to force build failures in existing trees when
|
|
# a new directory is added.
|
|
# The format here is for the `case' shell command.
|
|
REQUIRED_SUBDIRS = $(GNULIB_BUILDDIR)
|
|
|
|
FLAGS_TO_PASS = \
|
|
"prefix=$(prefix)" \
|
|
"exec_prefix=$(exec_prefix)" \
|
|
"infodir=$(infodir)" \
|
|
"datarootdir=$(datarootdir)" \
|
|
"docdir=$(docdir)" \
|
|
"htmldir=$(htmldir)" \
|
|
"pdfdir=$(pdfdir)" \
|
|
"libdir=$(libdir)" \
|
|
"mandir=$(mandir)" \
|
|
"datadir=$(datadir)" \
|
|
"includedir=$(includedir)" \
|
|
"against=$(against)" \
|
|
"DESTDIR=$(DESTDIR)" \
|
|
"AR=$(AR)" \
|
|
"AR_FLAGS=$(AR_FLAGS)" \
|
|
"CC=$(CC)" \
|
|
"CFLAGS=$(CFLAGS)" \
|
|
"CXX=$(CXX)" \
|
|
"CXXFLAGS=$(CXXFLAGS)" \
|
|
"DLLTOOL=$(DLLTOOL)" \
|
|
"LDFLAGS=$(LDFLAGS)" \
|
|
"RANLIB=$(RANLIB)" \
|
|
"MAKEINFO=$(MAKEINFO)" \
|
|
"MAKEHTML=$(MAKEHTML)" \
|
|
"MAKEHTMLFLAGS=$(MAKEHTMLFLAGS)" \
|
|
"INSTALL=$(INSTALL)" \
|
|
"INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
|
|
"INSTALL_DATA=$(INSTALL_DATA)" \
|
|
"RUNTEST=$(RUNTEST)" \
|
|
"RUNTESTFLAGS=$(RUNTESTFLAGS)"
|
|
|
|
# All generated files which can be included by another file.
|
|
generated_files = config.h $(GNULIB_H)
|
|
|
|
.c.o:
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
|
|
all: gdbserver$(EXEEXT) gdbreplay$(EXEEXT) $(extra_libraries)
|
|
@$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do
|
|
|
|
# Traditionally "install" depends on "all". But it may be useful
|
|
# not to; for example, if the user has made some trivial change to a
|
|
# source file and doesn't care about rebuilding or just wants to save the
|
|
# time it takes for make to check that all is up to date.
|
|
# install-only is intended to address that need.
|
|
install: all
|
|
@$(MAKE) $(FLAGS_TO_PASS) install-only
|
|
|
|
install-only:
|
|
n=`echo gdbserver | sed '$(program_transform_name)'`; \
|
|
if [ x$$n = x ]; then n=gdbserver; else true; fi; \
|
|
if [ x"$(IPA_DEPFILES)" != x ]; then \
|
|
$(SHELL) $(srcdir)/../../mkinstalldirs $(DESTDIR)$(libdir); \
|
|
$(INSTALL_PROGRAM) $(IPA_LIB) $(DESTDIR)$(libdir)/$(IPA_LIB); \
|
|
fi; \
|
|
$(SHELL) $(srcdir)/../../mkinstalldirs $(DESTDIR)$(bindir); \
|
|
$(INSTALL_PROGRAM) gdbserver$(EXEEXT) $(DESTDIR)$(bindir)/$$n$(EXEEXT)
|
|
@$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do
|
|
|
|
uninstall: force
|
|
n=`echo gdbserver | sed '$(program_transform_name)'`; \
|
|
if [ x$$n = x ]; then n=gdbserver; else true; fi; \
|
|
rm -f $(DESTDIR)/$(bindir)/$$n$(EXEEXT) $(DESTDIR)$(man1dir)/$$n.1
|
|
@$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do
|
|
|
|
installcheck:
|
|
check:
|
|
info dvi pdf:
|
|
install-info:
|
|
install-pdf:
|
|
html:
|
|
install-html:
|
|
clean-info: force
|
|
@$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do
|
|
|
|
gdbserver$(EXEEXT): $(OBS) ${ADD_DEPS} ${CDEPS} $(LIBGNU)
|
|
rm -f gdbserver$(EXEEXT)
|
|
${CC-LD} $(INTERNAL_CFLAGS) $(INTERNAL_LDFLAGS) -o gdbserver$(EXEEXT) $(OBS) \
|
|
$(LIBGNU) $(GDBSERVER_LIBS) $(XM_CLIBS)
|
|
|
|
$(LIBGNU) $(GNULIB_H): all-lib
|
|
all-lib: $(GNULIB_BUILDDIR)/Makefile
|
|
@$(MAKE) $(FLAGS_TO_PASS) DO=all DODIRS=$(GNULIB_BUILDDIR) subdir_do
|
|
.PHONY: all-lib
|
|
|
|
gdbreplay$(EXEEXT): $(GDBREPLAY_OBS) $(LIBGNU)
|
|
rm -f gdbreplay$(EXEEXT)
|
|
${CC-LD} $(INTERNAL_CFLAGS) $(INTERNAL_LDFLAGS) -o gdbreplay$(EXEEXT) $(GDBREPLAY_OBS) \
|
|
$(XM_CLIBS) $(LIBGNU)
|
|
|
|
IPA_OBJS=ax-ipa.o tracepoint-ipa.o format-ipa.o utils-ipa.o regcache-ipa.o remote-utils-ipa.o common-utils-ipa.o tdesc-ipa.o ${IPA_DEPFILES}
|
|
|
|
IPA_LIB=libinproctrace.so
|
|
|
|
$(IPA_LIB): $(IPA_OBJS) ${ADD_DEPS} ${CDEPS}
|
|
rm -f $(IPA_LIB)
|
|
${CC-LD} -shared -fPIC -Wl,--no-undefined $(INTERNAL_CFLAGS) \
|
|
$(INTERNAL_LDFLAGS) -o $(IPA_LIB) ${IPA_OBJS} -ldl -pthread
|
|
|
|
# Put the proper machine-specific files first, so M-. on a machine
|
|
# specific routine gets the one for the correct machine.
|
|
# The xyzzy stuff below deals with empty DEPFILES
|
|
TAGS: ${TAGFILES}
|
|
etags `find ${srcdir}/../config -name $(DEPRECATED_TM_FILE) -print` \
|
|
`find ${srcdir}/../config -name ${XM_FILE} -print` \
|
|
`find ${srcdir}/../config -name ${NAT_FILE} -print` \
|
|
`for i in yzzy ${DEPFILES}; do \
|
|
if [ x$$i != xyzzy ]; then \
|
|
echo ${srcdir}/$$i | sed -e 's/\.o$$/\.c/' ; \
|
|
fi; \
|
|
done` \
|
|
${TAGFILES}
|
|
tags: TAGS
|
|
|
|
clean:
|
|
rm -f *.o ${ADD_FILES} *~
|
|
rm -f version.c
|
|
rm -f gdbserver$(EXEEXT) gdbreplay$(EXEEXT) core make.log
|
|
rm -f $(IPA_LIB)
|
|
rm -f aarch64.c
|
|
rm -f reg-arm.c reg-bfin.c i386.c reg-ia64.c reg-m32r.c reg-m68k.c
|
|
rm -f reg-sh.c reg-sparc.c reg-spu.c amd64.c i386-linux.c
|
|
rm -f reg-cris.c reg-crisv32.c amd64-linux.c reg-xtensa.c
|
|
rm -f reg-tilegx.c reg-tilegx32.c
|
|
rm -f arm-with-iwmmxt.c
|
|
rm -f arm-with-vfpv2.c arm-with-vfpv3.c arm-with-neon.c
|
|
rm -f mips-linux.c mips64-linux.c
|
|
rm -f nios2-linux.c
|
|
rm -f powerpc-32.c powerpc-32l.c powerpc-64l.c powerpc-e500l.c
|
|
rm -f powerpc-altivec32l.c powerpc-cell32l.c powerpc-vsx32l.c
|
|
rm -f powerpc-altivec64l.c powerpc-cell64l.c powerpc-vsx64l.c
|
|
rm -f powerpc-isa205-32l.c powerpc-isa205-64l.c
|
|
rm -f powerpc-isa205-altivec32l.c powerpc-isa205-vsx32l.c powerpc-isa205-altivec64l.c
|
|
rm -f powerpc-isa205-vsx64l.c
|
|
rm -f s390-linux32.c s390-linux64.c s390x-linux64.c
|
|
rm -f s390-linux32v1.c s390-linux32v2.c s390-linux64v1.c
|
|
rm -f s390-linux64v2.c s390x-linux64v1.c s390x-linux64v2.c
|
|
rm -f s390-te-linux32.c s390-te-linux64.c
|
|
rm -f tic6x-c64xp-linux.c tic6x-c64x-linux.c tic6x-c62x-linux.c
|
|
rm -f xml-builtin.c stamp-xml
|
|
rm -f i386-avx.c i386-avx-linux.c
|
|
rm -f i386-mpx.c i386-mpx-linux.c
|
|
rm -f amd64-avx.c amd64-avx-linux.c
|
|
rm -f amd64-mpx.c amd64-mpx-linux.c
|
|
rm -f i386-mmx.c i386-mmx-linux.c
|
|
rm -f x32.c x32-linux.c
|
|
rm -f x32-avx.c x32-avx-linux.c
|
|
@$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do
|
|
|
|
maintainer-clean realclean distclean: clean
|
|
@$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do
|
|
rm -rf $(GNULIB_BUILDDIR)
|
|
rm -f Makefile config.status config.h stamp-h config.log
|
|
rm -f Makefile
|
|
|
|
subdir_do: force
|
|
@for i in $(DODIRS); do \
|
|
case $$i in \
|
|
$(REQUIRED_SUBDIRS)) \
|
|
if [ ! -f ./$$i/Makefile ] ; then \
|
|
echo "Missing $$i/Makefile" >&2 ; \
|
|
exit 1 ; \
|
|
fi ;; \
|
|
esac ; \
|
|
if [ -f ./$$i/Makefile ] ; then \
|
|
if (cd ./$$i; \
|
|
$(MAKE) $(FLAGS_TO_PASS) $(DO)) ; then true ; \
|
|
else exit 1 ; fi ; \
|
|
else true ; fi ; \
|
|
done
|
|
|
|
config.h: stamp-h ; @true
|
|
stamp-h: config.in config.status
|
|
CONFIG_FILES="" CONFIG_HEADERS=config.h:config.in $(SHELL) ./config.status
|
|
|
|
Makefile: Makefile.in config.status
|
|
CONFIG_HEADERS="" $(SHELL) ./config.status
|
|
|
|
$(GNULIB_BUILDDIR)/Makefile: $(srcdir)/../gnulib/Makefile.in config.status
|
|
@cd $(GNULIB_BUILDDIR); CONFIG_FILES="Makefile" \
|
|
CONFIG_COMMANDS="depfiles" \
|
|
CONFIG_HEADERS= \
|
|
CONFIG_LINKS= \
|
|
$(SHELL) config.status
|
|
|
|
config.status: configure configure.srv $(srcdir)/../development.sh
|
|
$(SHELL) ./config.status --recheck
|
|
|
|
# automatic rebuilding in automake-generated Makefiles requires
|
|
# this rule in the toplevel Makefile, which, with GNU make, causes
|
|
# the desired updates through the implicit regeneration of the Makefile
|
|
# and all of its prerequisites.
|
|
am--refresh:
|
|
@:
|
|
|
|
force:
|
|
|
|
version.c: Makefile $(srcdir)/../version.in $(srcdir)/../../bfd/version.h $(srcdir)/../common/create-version.sh
|
|
$(SHELL) $(srcdir)/../common/create-version.sh $(srcdir)/.. \
|
|
$(host_alias) $(target_alias) version.c
|
|
|
|
xml-builtin.c: stamp-xml; @true
|
|
stamp-xml: $(XML_DIR)/feature_to_c.sh Makefile $(XML_FILES)
|
|
rm -f xml-builtin.tmp
|
|
$(SHELL) $(XML_DIR)/feature_to_c.sh xml-builtin.tmp $(XML_FILES)
|
|
$(SHELL) $(srcdir)/../../move-if-change xml-builtin.tmp xml-builtin.c
|
|
echo stamp > stamp-xml
|
|
|
|
.PRECIOUS: xml-builtin.c
|
|
|
|
# GNU Make has an annoying habit of putting *all* the Makefile variables
|
|
# into the environment, unless you include this target as a circumvention.
|
|
# Rumor is that this will be fixed (and this target can be removed)
|
|
# in GNU Make 4.0.
|
|
.NOEXPORT:
|
|
|
|
# GNU Make 3.63 has a different problem: it keeps tacking command line
|
|
# overrides onto the definition of $(MAKE). This variable setting
|
|
# will remove them.
|
|
MAKEOVERRIDES=
|
|
|
|
regdat_sh = $(srcdir)/../regformats/regdat.sh
|
|
|
|
UST_CFLAGS = $(ustinc) -DCONFIG_UST_GDB_INTEGRATION
|
|
|
|
# Note, we only build the IPA if -fvisibility=hidden is supported in
|
|
# the first place.
|
|
IPAGENT_CFLAGS = $(CPPFLAGS) $(INTERNAL_CFLAGS) $(UST_CFLAGS) \
|
|
-fPIC -DIN_PROCESS_AGENT \
|
|
-fvisibility=hidden
|
|
|
|
IPAGENT_COMPILE = $(COMPILE.pre) $(IPAGENT_CFLAGS) $(COMPILE.post)
|
|
|
|
# In-process agent object rules
|
|
ax-ipa.o: ax.c
|
|
$(IPAGENT_COMPILE) $(WARN_CFLAGS_NO_FORMAT) $<
|
|
$(POSTCOMPILE)
|
|
tracepoint-ipa.o: tracepoint.c
|
|
$(IPAGENT_COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
utils-ipa.o: utils.c
|
|
$(IPAGENT_COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
format-ipa.o: ../common/format.c
|
|
$(IPAGENT_COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
common-utils-ipa.o: ../common/common-utils.c
|
|
$(IPAGENT_COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
remote-utils-ipa.o: remote-utils.c
|
|
$(IPAGENT_COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
regcache-ipa.o: regcache.c
|
|
$(IPAGENT_COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
i386-linux-ipa.o: i386-linux.c
|
|
$(IPAGENT_COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
linux-i386-ipa.o: linux-i386-ipa.c
|
|
$(IPAGENT_COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
linux-amd64-ipa.o: linux-amd64-ipa.c
|
|
$(IPAGENT_COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
amd64-linux-ipa.o: amd64-linux.c
|
|
$(IPAGENT_COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
tdesc-ipa.o: tdesc.c
|
|
$(IPAGENT_COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
|
|
ax.o: ax.c
|
|
$(COMPILE) $(WARN_CFLAGS_NO_FORMAT) $<
|
|
$(POSTCOMPILE)
|
|
|
|
signals.o: ../common/signals.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
linux-procfs.o: ../common/linux-procfs.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
linux-ptrace.o: ../common/linux-ptrace.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
common-utils.o: ../common/common-utils.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
vec.o: ../common/vec.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
gdb_vecs.o: ../common/gdb_vecs.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
xml-utils.o: ../common/xml-utils.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
linux-osdata.o: ../common/linux-osdata.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
ptid.o: ../common/ptid.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
buffer.o: ../common/buffer.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
format.o: ../common/format.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
filestuff.o: ../common/filestuff.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
agent.o: ../common/agent.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
waitstatus.o: ../target/waitstatus.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
|
|
linux-btrace.o: ../common/linux-btrace.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
|
|
mips-linux-watch.o: ../common/mips-linux-watch.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
|
|
# Native object files rules from ../nat
|
|
|
|
linux-waitpid.o: ../nat/linux-waitpid.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
|
|
# We build vasprintf with -DHAVE_CONFIG_H because we want that unit to
|
|
# include our config.h file. Otherwise, some system headers do not get
|
|
# included, and the compiler emits a warning about implicitly defined
|
|
# functions (missing declaration).
|
|
vasprintf.o: $(srcdir)/../../libiberty/vasprintf.c
|
|
$(COMPILE) $< -DHAVE_CONFIG_H
|
|
$(POSTCOMPILE)
|
|
vsnprintf.o: $(srcdir)/../../libiberty/vsnprintf.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
safe-ctype.o: $(srcdir)/../../libiberty/safe-ctype.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
lbasename.o: $(srcdir)/../../libiberty/lbasename.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
|
|
aarch64.c : $(srcdir)/../regformats/aarch64.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/aarch64.dat aarch64.c
|
|
reg-arm.c : $(srcdir)/../regformats/reg-arm.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-arm.dat reg-arm.c
|
|
arm-with-iwmmxt.c : $(srcdir)/../regformats/arm-with-iwmmxt.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/arm-with-iwmmxt.dat arm-with-iwmmxt.c
|
|
arm-with-vfpv2.c : $(srcdir)/../regformats/arm-with-vfpv2.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/arm-with-vfpv2.dat arm-with-vfpv2.c
|
|
arm-with-vfpv3.c : $(srcdir)/../regformats/arm-with-vfpv3.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/arm-with-vfpv3.dat arm-with-vfpv3.c
|
|
arm-with-neon.c : $(srcdir)/../regformats/arm-with-neon.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/arm-with-neon.dat arm-with-neon.c
|
|
reg-bfin.c : $(srcdir)/../regformats/reg-bfin.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-bfin.dat reg-bfin.c
|
|
reg-cris.c : $(srcdir)/../regformats/reg-cris.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-cris.dat reg-cris.c
|
|
reg-crisv32.c : $(srcdir)/../regformats/reg-crisv32.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-crisv32.dat reg-crisv32.c
|
|
i386.c : $(srcdir)/../regformats/i386/i386.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386.dat i386.c
|
|
i386-linux.c : $(srcdir)/../regformats/i386/i386-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-linux.dat i386-linux.c
|
|
i386-avx.c : $(srcdir)/../regformats/i386/i386-avx.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-avx.dat i386-avx.c
|
|
i386-avx-linux.c : $(srcdir)/../regformats/i386/i386-avx-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-avx-linux.dat i386-avx-linux.c
|
|
i386-mpx.c : $(srcdir)/../regformats/i386/i386-mpx.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-mpx.dat i386-mpx.c
|
|
i386-mpx-linux.c : $(srcdir)/../regformats/i386/i386-mpx-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-mpx-linux.dat i386-mpx-linux.c
|
|
i386-mmx.c : $(srcdir)/../regformats/i386/i386-mmx.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-mmx.dat i386-mmx.c
|
|
i386-mmx-linux.c : $(srcdir)/../regformats/i386/i386-mmx-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-mmx-linux.dat i386-mmx-linux.c
|
|
reg-ia64.c : $(srcdir)/../regformats/reg-ia64.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-ia64.dat reg-ia64.c
|
|
reg-m32r.c : $(srcdir)/../regformats/reg-m32r.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-m32r.dat reg-m32r.c
|
|
reg-m68k.c : $(srcdir)/../regformats/reg-m68k.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-m68k.dat reg-m68k.c
|
|
reg-cf.c : $(srcdir)/../regformats/reg-cf.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-cf.dat reg-cf.c
|
|
mips-linux.c : $(srcdir)/../regformats/mips-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/mips-linux.dat mips-linux.c
|
|
mips-dsp-linux.c : $(srcdir)/../regformats/mips-dsp-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/mips-dsp-linux.dat mips-dsp-linux.c
|
|
mips64-linux.c : $(srcdir)/../regformats/mips64-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/mips64-linux.dat mips64-linux.c
|
|
mips64-dsp-linux.c : $(srcdir)/../regformats/mips64-dsp-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/mips64-dsp-linux.dat mips64-dsp-linux.c
|
|
nios2-linux.c : $(srcdir)/../regformats/nios2-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/nios2-linux.dat nios2-linux.c
|
|
powerpc-32.c : $(srcdir)/../regformats/rs6000/powerpc-32.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-32.dat powerpc-32.c
|
|
powerpc-32l.c : $(srcdir)/../regformats/rs6000/powerpc-32l.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-32l.dat powerpc-32l.c
|
|
powerpc-altivec32l.c : $(srcdir)/../regformats/rs6000/powerpc-altivec32l.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-altivec32l.dat powerpc-altivec32l.c
|
|
powerpc-cell32l.c : $(srcdir)/../regformats/rs6000/powerpc-cell32l.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-cell32l.dat powerpc-cell32l.c
|
|
powerpc-vsx32l.c : $(srcdir)/../regformats/rs6000/powerpc-vsx32l.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-vsx32l.dat powerpc-vsx32l.c
|
|
powerpc-isa205-32l.c : $(srcdir)/../regformats/rs6000/powerpc-isa205-32l.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-isa205-32l.dat powerpc-isa205-32l.c
|
|
powerpc-isa205-altivec32l.c : $(srcdir)/../regformats/rs6000/powerpc-isa205-altivec32l.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-isa205-altivec32l.dat powerpc-isa205-altivec32l.c
|
|
powerpc-isa205-vsx32l.c : $(srcdir)/../regformats/rs6000/powerpc-isa205-vsx32l.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-isa205-vsx32l.dat powerpc-isa205-vsx32l.c
|
|
powerpc-e500l.c : $(srcdir)/../regformats/rs6000/powerpc-e500l.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-e500l.dat powerpc-e500l.c
|
|
powerpc-64l.c : $(srcdir)/../regformats/rs6000/powerpc-64l.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-64l.dat powerpc-64l.c
|
|
powerpc-altivec64l.c : $(srcdir)/../regformats/rs6000/powerpc-altivec64l.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-altivec64l.dat powerpc-altivec64l.c
|
|
powerpc-cell64l.c : $(srcdir)/../regformats/rs6000/powerpc-cell64l.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-cell64l.dat powerpc-cell64l.c
|
|
powerpc-vsx64l.c : $(srcdir)/../regformats/rs6000/powerpc-vsx64l.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-vsx64l.dat powerpc-vsx64l.c
|
|
powerpc-isa205-64l.c : $(srcdir)/../regformats/rs6000/powerpc-isa205-64l.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-isa205-64l.dat powerpc-isa205-64l.c
|
|
powerpc-isa205-altivec64l.c : $(srcdir)/../regformats/rs6000/powerpc-isa205-altivec64l.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-isa205-altivec64l.dat powerpc-isa205-altivec64l.c
|
|
powerpc-isa205-vsx64l.c : $(srcdir)/../regformats/rs6000/powerpc-isa205-vsx64l.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-isa205-vsx64l.dat powerpc-isa205-vsx64l.c
|
|
s390-linux32.c : $(srcdir)/../regformats/s390-linux32.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390-linux32.dat s390-linux32.c
|
|
s390-linux32v1.c : $(srcdir)/../regformats/s390-linux32v1.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390-linux32v1.dat s390-linux32v1.c
|
|
s390-linux32v2.c : $(srcdir)/../regformats/s390-linux32v2.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390-linux32v2.dat s390-linux32v2.c
|
|
s390-linux64.c : $(srcdir)/../regformats/s390-linux64.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390-linux64.dat s390-linux64.c
|
|
s390-linux64v1.c : $(srcdir)/../regformats/s390-linux64v1.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390-linux64v1.dat s390-linux64v1.c
|
|
s390-linux64v2.c : $(srcdir)/../regformats/s390-linux64v2.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390-linux64v2.dat s390-linux64v2.c
|
|
s390-te-linux64.c : $(srcdir)/../regformats/s390-te-linux64.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390-te-linux64.dat s390-te-linux64.c
|
|
s390x-linux64.c : $(srcdir)/../regformats/s390x-linux64.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390x-linux64.dat s390x-linux64.c
|
|
s390x-linux64v1.c : $(srcdir)/../regformats/s390x-linux64v1.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390x-linux64v1.dat s390x-linux64v1.c
|
|
s390x-linux64v2.c : $(srcdir)/../regformats/s390x-linux64v2.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390x-linux64v2.dat s390x-linux64v2.c
|
|
s390x-te-linux64.c : $(srcdir)/../regformats/s390x-te-linux64.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390x-te-linux64.dat s390x-te-linux64.c
|
|
|
|
tic6x-c64xp-linux.c : $(srcdir)/../regformats/tic6x-c64xp-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/tic6x-c64xp-linux.dat tic6x-c64xp-linux.c
|
|
tic6x-c64x-linux.c : $(srcdir)/../regformats/tic6x-c64x-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/tic6x-c64x-linux.dat tic6x-c64x-linux.c
|
|
tic6x-c62x-linux.c : $(srcdir)/../regformats/tic6x-c62x-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/tic6x-c62x-linux.dat tic6x-c62x-linux.c
|
|
|
|
reg-sh.c : $(srcdir)/../regformats/reg-sh.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-sh.dat reg-sh.c
|
|
reg-sparc64.c : $(srcdir)/../regformats/reg-sparc64.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-sparc64.dat reg-sparc64.c
|
|
reg-spu.c : $(srcdir)/../regformats/reg-spu.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-spu.dat reg-spu.c
|
|
amd64.c : $(srcdir)/../regformats/i386/amd64.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64.dat amd64.c
|
|
amd64-linux.c : $(srcdir)/../regformats/i386/amd64-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64-linux.dat amd64-linux.c
|
|
amd64-avx.c : $(srcdir)/../regformats/i386/amd64-avx.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64-avx.dat amd64-avx.c
|
|
amd64-mpx.c : $(srcdir)/../regformats/i386/amd64-mpx.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64-mpx.dat amd64-mpx.c
|
|
amd64-avx-linux.c : $(srcdir)/../regformats/i386/amd64-avx-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64-avx-linux.dat amd64-avx-linux.c
|
|
amd64-mpx-linux.c : $(srcdir)/../regformats/i386/amd64-mpx-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64-mpx-linux.dat amd64-mpx-linux.c
|
|
x32.c : $(srcdir)/../regformats/i386/x32.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/x32.dat x32.c
|
|
x32-linux.c : $(srcdir)/../regformats/i386/x32-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/x32-linux.dat x32-linux.c
|
|
x32-avx.c : $(srcdir)/../regformats/i386/x32-avx.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/x32-avx.dat x32-avx.c
|
|
x32-avx-linux.c : $(srcdir)/../regformats/i386/x32-avx-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/x32-avx-linux.dat x32-avx-linux.c
|
|
reg-xtensa.c : $(srcdir)/../regformats/reg-xtensa.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-xtensa.dat reg-xtensa.c
|
|
reg-tilegx.c : $(srcdir)/../regformats/reg-tilegx.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-tilegx.dat reg-tilegx.c
|
|
reg-tilegx32.c : $(srcdir)/../regformats/reg-tilegx32.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-tilegx32.dat reg-tilegx32.c
|
|
|
|
#
|
|
# Dependency tracking. Most of this is conditional on GNU Make being
|
|
# found by configure; if GNU Make is not found, we fall back to a
|
|
# simpler scheme.
|
|
#
|
|
|
|
@GMAKE_TRUE@ifeq ($(DEPMODE),depmode=gcc3)
|
|
# Note that we put the dependencies into a .Tpo file, then move them
|
|
# into place if the compile succeeds. We need this because gcc does
|
|
# not atomically write the dependency output file.
|
|
@GMAKE_TRUE@override COMPILE.post = -c -o $@ -MT $@ -MMD -MP \
|
|
@GMAKE_TRUE@ -MF $(DEPDIR)/$(basename $(@F)).Tpo
|
|
@GMAKE_TRUE@override POSTCOMPILE = @mv $(DEPDIR)/$(basename $(@F)).Tpo \
|
|
@GMAKE_TRUE@ $(DEPDIR)/$(basename $(@F)).Po
|
|
@GMAKE_TRUE@else
|
|
@GMAKE_TRUE@override COMPILE.pre = source='$<' object='$@' libtool=no \
|
|
@GMAKE_TRUE@ DEPDIR=$(DEPDIR) $(DEPMODE) $(depcomp) $(CC)
|
|
# depcomp handles atomicity for us, so we don't need a postcompile
|
|
# step.
|
|
@GMAKE_TRUE@override POSTCOMPILE =
|
|
@GMAKE_TRUE@endif
|
|
|
|
# A list of all the objects we might care about in this build, for
|
|
# dependency tracking.
|
|
all_object_files = $(OBS) $(GDBREPLAY_OBS)
|
|
|
|
# Ensure that generated files are created early. Use order-only
|
|
# dependencies if available. They require GNU make 3.80 or newer,
|
|
# and the .VARIABLES variable was introduced at the same time.
|
|
@GMAKE_TRUE@ifdef .VARIABLES
|
|
@GMAKE_TRUE@$(all_object_files): | $(generated_files)
|
|
@GMAKE_TRUE@else
|
|
$(all_object_files) : $(generated_files)
|
|
@GMAKE_TRUE@endif
|
|
|
|
# Dependencies.
|
|
@GMAKE_TRUE@-include $(patsubst %.o, $(DEPDIR)/%.Po, $(all_object_files))
|
|
|
|
# This is the end of "Makefile.in".
|