From d0df06af9b70c5a6a2aa496437364f219e669067 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 30 Nov 2017 11:49:27 -0700 Subject: [PATCH] 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 * Makefile.in (all_deps_files): New variable. Include .Po files using all_deps_files. --- gdb/ChangeLog | 5 +++++ gdb/Makefile.in | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 6e6b4a6d55..a51b0f764c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2017-12-01 Tom Tromey + + * Makefile.in (all_deps_files): New variable. + Include .Po files using all_deps_files. + 2017-12-01 Joel Brobecker * MAINTAINERS: Update list of maintainers, moving those who diff --git a/gdb/Makefile.in b/gdb/Makefile.in index 284559b030..5823098036 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