From 890e97902a21a3b88f9b6028852736b813303029 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Sun, 8 Oct 2017 17:12:19 -0600 Subject: [PATCH] Fix automatic dependency tracking Commit f38307f5 changed COMPILE.post and POSTCOMPILE to remove $(basename) from the dependency file name computation. However, it did not update the `-include' at the end of the Makefile.in; this in effect disabled automatic dependency tracking. This patch restores the $(basename) wrapper so that the dependency files are named "file.Po" rather than "file.o.Po". I also tested the non-gcc3 dependency mode, which pointed out that this case hadn't been working since the switch to C++. This is also fixed in this patch. Tested by rebuilding. ChangeLog 2017-10-09 Tom Tromey * Makefile.in (COMPILE.post, POSTCOMPILE): Restore $(basename). (COMPILE.pre): Use $(CXX). --- gdb/ChangeLog | 5 +++++ gdb/Makefile.in | 9 +++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9bf5f6e149..0688f95e64 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2017-10-09 Tom Tromey + + * Makefile.in (COMPILE.post, POSTCOMPILE): Restore $(basename). + (COMPILE.pre): Use $(CXX). + 2017-10-09 Pedro Alves * cp-support.c (cp_remove_params): Return a gdb::unique_xmalloc_ptr. diff --git a/gdb/Makefile.in b/gdb/Makefile.in index da4095d4a2..18e7750aba 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -2952,12 +2952,13 @@ ifeq ($(DEPMODE),depmode=gcc3) # 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)/$(@F).Tpo -override POSTCOMPILE = @mv $(@D)/$(DEPDIR)/$(@F).Tpo \ - $(@D)/$(DEPDIR)/$(@F).Po + -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) $(CC) + DEPDIR=$(DEPDIR) $(DEPMODE) $(depcomp) \ + $(CXX) -x c++ $(CXX_DIALECT) # depcomp handles atomicity for us, so we don't need a postcompile # step. override POSTCOMPILE =