From fce4e12f8efb3b3db959b807201e08786b001f39 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Thu, 16 Sep 2021 21:21:56 +0100 Subject: [PATCH] libstdc++: Regenerate the src/debug Makefiles as needed When the build configuration changes and Makefiles are recreated, the src/debug/Makefile and src/debug/*/Makefile files are not recreated, because they're not managed in the usual way by automake. This can lead to build failures or surprising inconsistencies between the main and debug versions of the library when doing incremental builds. This causes them to be regenerated if any of the corresponding non-debug makefiles is newer. Signed-off-by: Jonathan Wakely libstdc++-v3/ChangeLog: * src/Makefile.am (stamp-debug): Add all Makefiles as prerequisites. * src/Makefile.in: Regenerate. --- libstdc++-v3/src/Makefile.am | 2 +- libstdc++-v3/src/Makefile.in | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libstdc++-v3/src/Makefile.am b/libstdc++-v3/src/Makefile.am index 16f4cc6eff4..f27d3f8c87e 100644 --- a/libstdc++-v3/src/Makefile.am +++ b/libstdc++-v3/src/Makefile.am @@ -369,7 +369,7 @@ endif # Build a debug variant. # Take care to fix all possibly-relative paths. debugdir = ${glibcxx_builddir}/src/debug -stamp-debug: +stamp-debug: Makefile $(foreach dir,$(SUBDIRS),$(dir)/Makefile) if test ! -d ${debugdir} || test ! -f ${debugdir}/Makefile ; then \ mkdir -p ${debugdir}; \ for d in $(SUBDIRS); do mkdir -p ${debugdir}/$$d; done; \ diff --git a/libstdc++-v3/src/Makefile.in b/libstdc++-v3/src/Makefile.in index 4df5c829a7f..05b25ed5e9d 100644 --- a/libstdc++-v3/src/Makefile.in +++ b/libstdc++-v3/src/Makefile.in @@ -1090,7 +1090,7 @@ libstdc++convenience.la: $(toolexeclib_LTLIBRARIES) cp .libs/libstdc++convenience.a .libs/libstdc++.a; \ fi; \ echo `date` > stamp-libstdc++convenience; -stamp-debug: +stamp-debug: Makefile $(foreach dir,$(SUBDIRS),$(dir)/Makefile) if test ! -d ${debugdir} || test ! -f ${debugdir}/Makefile ; then \ mkdir -p ${debugdir}; \ for d in $(SUBDIRS); do mkdir -p ${debugdir}/$$d; done; \