# Copyright (C) 1989-2020 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 . # Please keep lists in this file sorted alphabetically, with one item per line. # See gdb/Makefile.in for guidelines on ordering files and directories. 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@ CONFIG_SRC_SUBDIR = @CONFIG_SRC_SUBDIR@ install_sh = @install_sh@ SHELL = @SHELL@ EXEEXT = @EXEEXT@ INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ RANLIB = @RANLIB@ CC = @CC@ CXX = @CXX@ CXX_DIALECT = @CXX_DIALECT@ AR = @AR@ AR_FLAGS = rc STRIP = @STRIP@ # Dependency tracking information. DEPMODE = @CCDEPMODE@ DEPDIR = @DEPDIR@ depcomp = $(SHELL) $(srcdir)/../depcomp # 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@ top_builddir = . include $(srcdir)/../gdb/silent-rules.mk # Note that these are overridden by GNU make-specific code below if # GNU make is used. The overrides implement dependency tracking. COMPILE.pre = $(CXX) $(CXX_DIALECT) COMPILE.post = -c -o $@ COMPILE = $(ECHO_CXX) $(COMPILE.pre) $(INTERNAL_CFLAGS) $(COMPILE.post) POSTCOMPILE = @true # 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 = g++ -static CC_LD = $(CXX) $(CXX_DIALECT) # Where is the "include" directory? Traditionally ../include or ./include INCLUDE_DIR = ${srcdir}/../include INCLUDE_DEP = $$(INCLUDE_DIR) LIBIBERTY_BUILDDIR = ../libiberty LIBIBERTY = $(LIBIBERTY_BUILDDIR)/libiberty.a # Where is ust? These will be empty if ust was not available. ustlibs = @ustlibs@ ustinc = @ustinc@ # gnulib GNULIB_BUILDDIR = ../gnulib LIBGNU = $(GNULIB_BUILDDIR)/import/libgnu.a INCGNU = -I$(srcdir)/../gnulib/import -I$(GNULIB_BUILDDIR)/import # Where is the INTL library? Typically in ../intl. INTL = @LIBINTL@ INTL_DEPS = @LIBINTL_DEP@ INTL_CFLAGS = @INCINTL@ INCSUPPORT = -I$(srcdir)/.. -I.. # All the includes used for CFLAGS and for lint. # -I. for config files. # -I${srcdir} for our headers. # -I$(srcdir)/../gdb/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)/../gdb/regformats -I$(srcdir)/.. -I$(INCLUDE_DIR) \ -I$(srcdir)/../gdb $(INCGNU) $(INCSUPPORT) \ $(INTL_CFLAGS) # 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"` # These are specifically reserved for setting from the command line # when running make. I.E. "make CFLAGS=-Wmissing-prototypes". CFLAGS = @CFLAGS@ CXXFLAGS = @CXXFLAGS@ CPPFLAGS = @CPPFLAGS@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ # INTERNAL_CFLAGS is the aggregate of all other *CFLAGS macros. INTERNAL_CFLAGS_BASE = ${CXXFLAGS} ${GLOBAL_CFLAGS} \ ${PROFILE_CFLAGS} ${INCLUDE_CFLAGS} ${CPPFLAGS} $(PTHREAD_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)/debug.cc \ $(srcdir)/dll.cc \ $(srcdir)/gdbreplay.cc \ $(srcdir)/hostio.cc \ $(srcdir)/hostio-errno.cc \ $(srcdir)/i387-fp.cc \ $(srcdir)/inferiors.cc \ $(srcdir)/linux-aarch64-low.cc \ $(srcdir)/linux-arm-low.cc \ $(srcdir)/linux-bfin-low.cc \ $(srcdir)/linux-cris-low.cc \ $(srcdir)/linux-crisv32-low.cc \ $(srcdir)/linux-ia64-low.cc \ $(srcdir)/linux-low.cc \ $(srcdir)/linux-m32r-low.cc \ $(srcdir)/linux-m68k-low.cc \ $(srcdir)/linux-mips-low.cc \ $(srcdir)/linux-nios2-low.cc \ $(srcdir)/linux-ppc-low.cc \ $(srcdir)/linux-riscv-low.cc \ $(srcdir)/linux-s390-low.cc \ $(srcdir)/linux-sh-low.cc \ $(srcdir)/linux-sparc-low.cc \ $(srcdir)/linux-tile-low.cc \ $(srcdir)/linux-x86-low.cc \ $(srcdir)/linux-xtensa-low.cc \ $(srcdir)/mem-break.cc \ $(srcdir)/proc-service.cc \ $(srcdir)/proc-service.list \ $(srcdir)/regcache.cc \ $(srcdir)/remote-utils.cc \ $(srcdir)/server.cc \ $(srcdir)/symbol.cc \ $(srcdir)/target.cc \ $(srcdir)/thread-db.cc \ $(srcdir)/utils.cc \ $(srcdir)/win32-arm-low.cc \ $(srcdir)/win32-i386-low.cc \ $(srcdir)/win32-low.cc \ $(srcdir)/wincecompat.cc \ $(srcdir)/x86-low.cc \ $(srcdir)/../gdb/alloc.c \ $(srcdir)/../gdb/arch/arm.c \ $(srcdir)/../gdb/arch/arm-get-next-pcs.c \ $(srcdir)/../gdb/arch/arm-linux.c \ $(srcdir)/../gdb/arch/ppc-linux-common.c \ $(srcdir)/../gdb/arch/riscv.c \ $(srcdir)/../gdbsupport/btrace-common.cc \ $(srcdir)/../gdbsupport/buffer.cc \ $(srcdir)/../gdbsupport/cleanups.cc \ $(srcdir)/../gdbsupport/common-debug.cc \ $(srcdir)/../gdbsupport/common-exceptions.cc \ $(srcdir)/../gdbsupport/common-inferior.cc \ $(srcdir)/../gdbsupport/common-regcache.cc \ $(srcdir)/../gdbsupport/common-utils.cc \ $(srcdir)/../gdbsupport/errors.cc \ $(srcdir)/../gdbsupport/environ.cc \ $(srcdir)/../gdbsupport/fileio.cc \ $(srcdir)/../gdbsupport/filestuff.cc \ $(srcdir)/../gdbsupport/job-control.cc \ $(srcdir)/../gdbsupport/gdb-dlfcn.cc \ $(srcdir)/../gdbsupport/gdb_tilde_expand.cc \ $(srcdir)/../gdbsupport/gdb_vecs.cc \ $(srcdir)/../gdbsupport/gdb_wait.cc \ $(srcdir)/../gdbsupport/netstuff.cc \ $(srcdir)/../gdbsupport/new-op.cc \ $(srcdir)/../gdbsupport/pathstuff.cc \ $(srcdir)/../gdbsupport/print-utils.cc \ $(srcdir)/../gdbsupport/ptid.cc \ $(srcdir)/../gdbsupport/rsp-low.cc \ $(srcdir)/../gdbsupport/safe-strerror.cc \ $(srcdir)/../gdbsupport/tdesc.cc \ $(srcdir)/../gdbsupport/xml-utils.cc \ $(srcdir)/../gdb/nat/aarch64-sve-linux-ptrace.c \ $(srcdir)/../gdb/nat/linux-btrace.c \ $(srcdir)/../gdb/nat/linux-namespaces.c \ $(srcdir)/../gdb/nat/linux-osdata.c \ $(srcdir)/../gdb/nat/linux-personality.c \ $(srcdir)/../gdb/nat/mips-linux-watch.c \ $(srcdir)/../gdb/nat/ppc-linux.c \ $(srcdir)/../gdb/nat/riscv-linux-tdesc.c \ $(srcdir)/../gdb/nat/fork-inferior.c \ $(srcdir)/../gdb/target/waitstatus.c DEPFILES = @GDBSERVER_DEPFILES@ LIBOBJS = @LIBOBJS@ SOURCES = $(SFILES) TAGFILES = $(SOURCES) ${HFILES} ${ALLPARAM} ${POSSLIBS} OBS = \ alloc.o \ ax.o \ gdbsupport/agent.o \ gdbsupport/btrace-common.o \ gdbsupport/buffer.o \ gdbsupport/cleanups.o \ gdbsupport/common-debug.o \ gdbsupport/common-exceptions.o \ gdbsupport/common-inferior.o \ gdbsupport/job-control.o \ gdbsupport/common-regcache.o \ gdbsupport/common-utils.o \ gdbsupport/errors.o \ gdbsupport/environ.o \ gdbsupport/fileio.o \ gdbsupport/filestuff.o \ gdbsupport/format.o \ gdbsupport/gdb-dlfcn.o \ gdbsupport/gdb_tilde_expand.o \ gdbsupport/gdb_vecs.o \ gdbsupport/gdb_wait.o \ gdbsupport/netstuff.o \ gdbsupport/new-op.o \ gdbsupport/pathstuff.o \ gdbsupport/print-utils.o \ gdbsupport/ptid.o \ gdbsupport/rsp-low.o \ gdbsupport/safe-strerror.o \ gdbsupport/signals.o \ gdbsupport/signals-state-save-restore.o \ gdbsupport/tdesc.o \ gdbsupport/xml-utils.o \ debug.o \ dll.o \ event-loop.o \ hostio.o \ inferiors.o \ mem-break.o \ notif.o \ regcache.o \ remote-utils.o \ server.o \ symbol.o \ target.o \ tdesc.o \ tracepoint.o \ utils.o \ version.o \ target/waitstatus.o \ $(DEPFILES) \ $(LIBOBJS) \ $(XML_BUILTIN) GDBREPLAY_OBS = \ gdbsupport/cleanups.o \ gdbsupport/common-exceptions.o \ gdbsupport/common-utils.o \ gdbsupport/rsp-low.o \ gdbsupport/errors.o \ gdbsupport/netstuff.o \ gdbsupport/print-utils.o \ gdbsupport/safe-strerror.o \ gdbreplay.o \ utils.o \ version.o GDBSERVER_LIBS = @GDBSERVER_LIBS@ $(PTHREAD_LIBS) XM_CLIBS = @LIBS@ CDEPS = $(srcdir)/proc-service.list # XML files to compile in to gdbserver, if any. XML_DIR = $(srcdir)/../gdb/features XML_FILES = @srv_xmlfiles@ XML_BUILTIN = @srv_xmlbuiltin@ IPA_DEPFILES = @IPA_DEPFILES@ extra_libraries = @extra_libraries@ 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 all: gdbserver$(EXEEXT) gdbreplay$(EXEEXT) $(extra_libraries) # 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_ENV) $(INSTALL_PROGRAM) $(IPA_LIB) $(DESTDIR)$(libdir)/$(IPA_LIB); \ fi; \ $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(bindir); \ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) gdbserver$(EXEEXT) $(DESTDIR)$(bindir)/$$n$(EXEEXT) install-strip: $(MAKE) $(FLAGS_TO_PASS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install-only 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 installcheck: check: info dvi pdf: install-info: install-pdf: html: install-html: clean-info: gdbserver$(EXEEXT): $(sort $(OBS)) ${CDEPS} $(LIBGNU) $(LIBIBERTY) \ $(INTL_DEPS) $(SILENCE) rm -f gdbserver$(EXEEXT) $(ECHO_CXXLD) $(CC_LD) $(INTERNAL_CFLAGS) $(INTERNAL_LDFLAGS) \ -o gdbserver$(EXEEXT) $(OBS) $(LIBGNU) $(LIBIBERTY) \ $(INTL) $(GDBSERVER_LIBS) $(XM_CLIBS) gdbreplay$(EXEEXT): $(sort $(GDBREPLAY_OBS)) $(LIBGNU) $(LIBIBERTY) \ $(INTL_DEPS) $(SILENCE) rm -f gdbreplay$(EXEEXT) $(ECHO_CXXLD) $(CC_LD) $(INTERNAL_CFLAGS) $(INTERNAL_LDFLAGS) \ -o gdbreplay$(EXEEXT) $(GDBREPLAY_OBS) $(XM_CLIBS) $(LIBGNU) \ $(LIBIBERTY) $(INTL) IPA_OBJS = \ alloc-ipa.o \ ax-ipa.o \ gdbsupport/common-utils-ipa.o \ gdbsupport/errors-ipa.o \ gdbsupport/format-ipa.o \ gdbsupport/print-utils-ipa.o \ gdbsupport/rsp-low-ipa.o \ gdbsupport/safe-strerror-ipa.o \ gdbsupport/tdesc-ipa.o \ regcache-ipa.o \ remote-utils-ipa.o \ tdesc-ipa.o \ tracepoint-ipa.o \ utils-ipa.o \ ${IPA_DEPFILES} IPA_LIB = libinproctrace.so $(IPA_LIB): $(sort $(IPA_OBJS)) ${CDEPS} $(SILENCE) rm -f $(IPA_LIB) $(ECHO_CXXLD) $(CC_LD) -shared -fPIC -Wl,--soname=$(IPA_LIB) \ -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 \ `for i in yzzy ${DEPFILES}; do \ if [ x$$i != xyzzy ]; then \ echo ${srcdir}/$$i | sed -e 's/\.o$$/\.cc/' \ -e 's,/\(arch\|nat\|target\)/,/../\1/,' \ -e 's,/\(gdbsupport\)/,/../../\1/,'; \ fi; \ done` \ ${TAGFILES} tags: TAGS mostlyclean clean: rm -f *.o ${ADD_FILES} *~ rm -f gdbserver$(EXEEXT) gdbreplay$(EXEEXT) core make.log rm -f $(IPA_LIB) rm -f *-generated.cc rm -f stamp-xml rm -f $(DEPDIR)/*.Po for i in $(CONFIG_SRC_SUBDIR); do \ rm -f $$i/*.o; \ rm -f $$i/$(DEPDIR)/*; \ done maintainer-clean realclean distclean: clean rm -f Makefile config.status config.h stamp-h config.log rm -f Makefile for i in $(CONFIG_SRC_SUBDIR); do \ rmdir $$i/$(DEPDIR); \ done config.h: stamp-h ; @true stamp-h: config.in config.status $(SHELL) ./config.status config.h Makefile: Makefile.in config.status $(SHELL) ./config.status $@ config.status: configure configure.srv $(srcdir)/../bfd/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-generated.cc: Makefile $(srcdir)/../gdb/version.in $(srcdir)/../bfd/version.h $(srcdir)/../gdbsupport/create-version.sh $(ECHO_GEN) $(SHELL) $(srcdir)/../gdbsupport/create-version.sh $(srcdir)/../gdb \ $(host_alias) $(target_alias) $@ xml-builtin-generated.cc: stamp-xml; @true stamp-xml: $(XML_DIR)/feature_to_c.sh Makefile $(XML_FILES) $(SILENCE) rm -f xml-builtin.tmp $(ECHO_GEN_XML_BUILTIN_GENERATED) $(SHELL) $(XML_DIR)/feature_to_c.sh \ xml-builtin.tmp $(XML_FILES) $(SILENCE) $(SHELL) $(srcdir)/../move-if-change xml-builtin.tmp xml-builtin-generated.cc $(SILENCE) echo stamp > stamp-xml .PRECIOUS: xml-builtin.cc # 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)/../gdb/regformats/regdat.sh UST_CFLAGS = $(ustinc) -DCONFIG_UST_GDB_INTEGRATION # Undo gnulib replacements for the IPA shared library build. # The gnulib headers are still needed, but gnulib is not linked # into the IPA lib so replacement apis don't work. UNDO_GNULIB_CFLAGS = -Drpl_strerror_r=strerror_r # Note, we only build the IPA if -fvisibility=hidden is supported in # the first place. IPAGENT_CFLAGS = $(INTERNAL_CFLAGS) $(UST_CFLAGS) \ $(UNDO_GNULIB_CFLAGS) \ -fPIC -DIN_PROCESS_AGENT \ -fvisibility=hidden IPAGENT_COMPILE = $(ECHO_CXX) $(COMPILE.pre) $(IPAGENT_CFLAGS) $(COMPILE.post) # Rules for special cases. ax-ipa.o: ax.cc $(IPAGENT_COMPILE) $(WARN_CFLAGS_NO_FORMAT) $< $(POSTCOMPILE) ax.o: ax.cc $(COMPILE) $(WARN_CFLAGS_NO_FORMAT) $< $(POSTCOMPILE) # Rules for objects that go in the in-process agent. arch/%-ipa.o: ../gdb/arch/%.c $(IPAGENT_COMPILE) -x c++ $< $(POSTCOMPILE) gdbsupport/%-ipa.o: ../gdbsupport/%.cc $(IPAGENT_COMPILE) $< $(POSTCOMPILE) %-ipa.o: %-generated.cc $(IPAGENT_COMPILE) $< $(POSTCOMPILE) %-ipa.o: %.cc $(IPAGENT_COMPILE) $< $(POSTCOMPILE) %-ipa.o: ../gdb/%.c $(IPAGENT_COMPILE) -x c++ $< $(POSTCOMPILE) # Note: Between two matching pattern rules, GNU Make 3.81 chooses the first one. # Therefore, this one needs to be before "%.o: %.cc" for it to be considered for # files such as linux-amd64-ipa.o generated from linux-amd64-ipa.cc. # # Later versions of GNU Make choose the rule with the shortest stem, so it would # work in any order. %-ipa.o: %-ipa.cc $(IPAGENT_COMPILE) $< $(POSTCOMPILE) # Rules for objects that go in the gdbserver binary. arch/%.o: ../gdb/arch/%.c $(COMPILE) -x c++ $< $(POSTCOMPILE) gdbsupport/%.o: ../gdbsupport/%.cc $(COMPILE) $< $(POSTCOMPILE) %.o: %-generated.cc $(COMPILE) $< $(POSTCOMPILE) %.o: %.cc $(COMPILE) $< $(POSTCOMPILE) nat/%.o: ../gdb/nat/%.c $(COMPILE) -x c++ $< $(POSTCOMPILE) target/%.o: ../gdb/target/%.c $(COMPILE) -x c++ $< $(POSTCOMPILE) %.o: ../gdb/%.c $(COMPILE) -x c++ $< $(POSTCOMPILE) # Rules for register format descriptions. Suffix destination files with # -generated to identify and clean them easily. %-generated.cc: ../gdb/regformats/%.dat $(regdat_sh) $(ECHO_REGDAT) $(SHELL) $(regdat_sh) $< $@ %-generated.cc: ../gdb/regformats/arm/%.dat $(regdat_sh) $(ECHO_REGDAT) $(SHELL) $(regdat_sh) $< $@ %-generated.cc: ../gdb/regformats/rs6000/%.dat $(regdat_sh) $(ECHO_REGDAT) $(SHELL) $(regdat_sh) $< $@ # # Dependency tracking. # 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. override COMPILE.post = -c -o $@ -MT $@ -MMD -MP \ -MF $(@D)/$(DEPDIR)/$(basename $(@F)).Tpo override POSTCOMPILE = @mv $(@D)/$(DEPDIR)/$(basename $(@F)).Tpo \ $(@D)/$(DEPDIR)/$(basename $(@F)).Po else override COMPILE.pre = source='$<' object='$@' libtool=no \ DEPDIR=$(DEPDIR) $(DEPMODE) $(depcomp) \ $(CXX) $(CXX_DIALECT) # depcomp handles atomicity for us, so we don't need a postcompile # step. override POSTCOMPILE = endif # A list of all the objects we might care about in this build, for # dependency tracking. all_object_files = $(OBS) $(GDBREPLAY_OBS) $(IPA_OBJS) # 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. ifdef .VARIABLES $(all_object_files): | $(generated_files) else $(all_object_files) : $(generated_files) endif # All the .deps files to include. all_deps_files = $(foreach dep,$(patsubst %.o,%.Po,$(all_object_files)),\ $(dir $(dep))/$(DEPDIR)/$(notdir $(dep))) # Dependencies. -include $(all_deps_files) # Disable implicit make rules. include $(srcdir)/../gdb/disable-implicit-rules.mk # Do not delete intermediate files (e.g. *-generated.cc). .SECONDARY: # This is the end of "Makefile.in".