aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2017-11-30 11:49:27 -0700
committerTom Tromey <tom@tromey.com>2017-12-01 07:56:11 -0700
commitd0df06af9b70c5a6a2aa496437364f219e669067 (patch)
tree825265ee7d5511ceb954e66f8bcb18e74ae6bf62
parent2ee0c9b3eedca5d1071870334d2721be80a77ea1 (diff)
downloadgdb-d0df06af9b70c5a6a2aa496437364f219e669067.zip
gdb-d0df06af9b70c5a6a2aa496437364f219e669067.tar.gz
gdb-d0df06af9b70c5a6a2aa496437364f219e669067.tar.bz2
Fix dependency tracking for objects in subdirectories
On irc, Pedro pointed out that dependencies for objects in subdirectories didn't seem to be working. The bug was that the "-include" for .deps files was using the wrong file name for subdirectory objects; e.g., for cli/cli-decode.o it was trying to open .deps/cli/cli-decode.o, whereas the correct file is cli/.deps/cli-decode.o. This patch changes how the dep files are found. Tested by touching a source file and rebuilding cli/cli-decode.o. 2017-12-01 Tom Tromey <tom@tromey.com> * Makefile.in (all_deps_files): New variable. Include .Po files using all_deps_files.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/Makefile.in6
2 files changed, 10 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 6e6b4a6..a51b0f7 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2017-12-01 Tom Tromey <tom@tromey.com>
+
+ * Makefile.in (all_deps_files): New variable.
+ Include .Po files using all_deps_files.
+
2017-12-01 Joel Brobecker <brobecker@adacore.com>
* MAINTAINERS: Update list of maintainers, moving those who
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index 284559b..5823098 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -2644,6 +2644,10 @@ endif
all_object_files = gdb.o $(LIBGDB_OBS) gdbtk-main.o \
test-cp-name-parser.o
+# All the .deps files to include.
+all_deps_files = $(foreach dep,$(patsubst %.o,%.Po,$(all_object_files)),\
+ $(dir $(dep))/$(DEPDIR)/$(notdir $(dep)))
+
# 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.
@@ -2654,7 +2658,7 @@ $(all_object_files) : $(generated_files)
endif
# Dependencies.
--include $(patsubst %.o, $(DEPDIR)/%.Po, $(all_object_files))
+-include $(all_deps_files)
# Disable implicit make rules.
include $(srcdir)/disable-implicit-rules.mk