Add more prerequisites for wchar and dual-abi targets in the src/c++11
directory, and simplify the existing ones (we don't need to add the main
xxx.cc source file as a prerequisite of xxx.o because that's implicit,
we only need to add the ones that Make can't determine on its own).

Also add similar prerequisites for the dual-abi targets in the src/c++17
directory.

libstdc++-v3/ChangeLog:

        * src/c++11/Makefile.am: Simplify existing prerequisites for wchar and
        dual-abi targets that are built from other sources. Add similar
        prerequisites for more wchar and dual-abi files.
        * src/c++11/Makefile.in: Regenerate.
        * src/c++17/Makefile.am [ENABLE_DUAL_ABI]: Add prerequisites for
        dual-abi targets that are built from other sources.
        * src/c++17/Makefile.in: Regenerate.
---

Tested x86_64-linux. Pushed to trunk.

 libstdc++-v3/src/c++11/Makefile.am | 16 ++++++++++------
 libstdc++-v3/src/c++11/Makefile.in | 16 ++++++++++------
 libstdc++-v3/src/c++17/Makefile.am |  8 ++++++++
 libstdc++-v3/src/c++17/Makefile.in |  6 ++++++
 4 files changed, 34 insertions(+), 12 deletions(-)

diff --git a/libstdc++-v3/src/c++11/Makefile.am 
b/libstdc++-v3/src/c++11/Makefile.am
index 26d6fa0e01a..c240f0c183a 100644
--- a/libstdc++-v3/src/c++11/Makefile.am
+++ b/libstdc++-v3/src/c++11/Makefile.am
@@ -168,14 +168,18 @@ localename.lo: localename.cc
 localename.o: localename.cc
        $(CXXCOMPILE) -fchar8_t -c $<
 
-wstring-inst.lo: wstring-inst.cc string-inst.cc
-wstring-inst.o: wstring-inst.cc string-inst.cc
+# These files should be rebuilt if the .cc prerequisite changes.
+wlocale-inst.lo wlocale-inst.o: locale-inst.cc
+wstring-inst.lo wstring-inst.o: string-inst.cc
 
 if ENABLE_DUAL_ABI
-cow-string-inst.lo: cow-string-inst.cc string-inst.cc
-cow-string-inst.o: cow-string-inst.cc string-inst.cc
-cow-wstring-inst.lo: cow-wstring-inst.cc string-inst.cc
-cow-wstring-inst.o: cow-wstring-inst.cc string-inst.cc
+# These files should be rebuilt if the .cc prerequisite changes.
+cow-shim_facets.lo cow-shim_facets.o: cxx11-shim_facets.cc
+cow-sstream-inst.lo cow-sstream-inst.o: sstream-inst.cc
+cow-string-inst.lo cow-string-inst.o: string-inst.cc
+cow-wstring-inst.lo cow-wstring-inst.o: string-inst.cc
+cxx11-locale-inst.lo cxx11-locale-inst.o: locale-inst.cc
+cxx11-wlocale-inst.lo cxx11-wlocale-inst.o: locale-inst.cc
 
 # Rewrite the type info for __ios_failure.
 rewrite_ios_failure_typeinfo = sed -e 
'/^_*_ZTISt13__ios_failure:/,/_ZTVN10__cxxabiv120__si_class_type_infoE/s/_ZTVN10__cxxabiv120__si_class_type_infoE/_ZTVSt19__iosfail_type_info/'
diff --git a/libstdc++-v3/src/c++11/Makefile.in 
b/libstdc++-v3/src/c++11/Makefile.in
index dafdb260ec1..9d04548f157 100644
--- a/libstdc++-v3/src/c++11/Makefile.in
+++ b/libstdc++-v3/src/c++11/Makefile.in
@@ -896,13 +896,17 @@ localename.lo: localename.cc
 localename.o: localename.cc
        $(CXXCOMPILE) -fchar8_t -c $<
 
-wstring-inst.lo: wstring-inst.cc string-inst.cc
-wstring-inst.o: wstring-inst.cc string-inst.cc
+# These files should be rebuilt if the .cc prerequisite changes.
+wlocale-inst.lo wlocale-inst.o: locale-inst.cc
+wstring-inst.lo wstring-inst.o: string-inst.cc
 
-@enable_dual_abi_t...@cow-string-inst.lo: cow-string-inst.cc string-inst.cc
-@ENABLE_DUAL_ABI_TRUE@cow-string-inst.o: cow-string-inst.cc string-inst.cc
-@enable_dual_abi_t...@cow-wstring-inst.lo: cow-wstring-inst.cc string-inst.cc
-@ENABLE_DUAL_ABI_TRUE@cow-wstring-inst.o: cow-wstring-inst.cc string-inst.cc
+# These files should be rebuilt if the .cc prerequisite changes.
+@ENABLE_DUAL_ABI_TRUE@cow-shim_facets.lo cow-shim_facets.o: 
cxx11-shim_facets.cc
+@enable_dual_abi_t...@cow-sstream-inst.lo cow-sstream-inst.o: sstream-inst.cc
+@enable_dual_abi_t...@cow-string-inst.lo cow-string-inst.o: string-inst.cc
+@enable_dual_abi_t...@cow-wstring-inst.lo cow-wstring-inst.o: string-inst.cc
+@enable_dual_abi_t...@cxx11-locale-inst.lo cxx11-locale-inst.o: locale-inst.cc
+@enable_dual_abi_t...@cxx11-wlocale-inst.lo cxx11-wlocale-inst.o: 
locale-inst.cc
 
 @ENABLE_DUAL_ABI_TRUE@cxx11-ios_failure-lt.s: cxx11-ios_failure.cc
 @ENABLE_DUAL_ABI_TRUE@ $(LTCXXCOMPILE) -gno-as-loc-support -S $< -o 
tmp-cxx11-ios_failure-lt.s
diff --git a/libstdc++-v3/src/c++17/Makefile.am 
b/libstdc++-v3/src/c++17/Makefile.am
index a40350062b3..ce242e23b84 100644
--- a/libstdc++-v3/src/c++17/Makefile.am
+++ b/libstdc++-v3/src/c++17/Makefile.am
@@ -66,6 +66,14 @@ else
 libc__17convenience_la_SOURCES =
 endif
 
+if ENABLE_DUAL_ABI
+# These files should be rebuilt if the .cc prerequisite changes.
+cow-string-inst.lo cow-string-inst.o: string-inst.cc
+cow-fs_dir.lo cow-fs_dir.o: fs_dir.cc
+cow-fs_ops.lo cow-fs_ops.o: fs_ops.cc
+cow-fs_path.lo cow-fs_path.o: fs_path.cc
+endif
+
 if GLIBCXX_LDBL_ALT128_COMPAT
 floating_from_chars.lo: floating_from_chars.cc
        $(LTCXXCOMPILE) -mabi=ibmlongdouble $(LONG_DOUBLE_128_FLAGS) -c $<
diff --git a/libstdc++-v3/src/c++17/Makefile.in 
b/libstdc++-v3/src/c++17/Makefile.in
index fe5c9ffce5f..edbee94aaf9 100644
--- a/libstdc++-v3/src/c++17/Makefile.in
+++ b/libstdc++-v3/src/c++17/Makefile.in
@@ -767,6 +767,12 @@ uninstall-am:
 
 vpath % $(top_srcdir)/src/c++17
 
+# These files should be rebuilt if the .cc prerequisite changes.
+@enable_dual_abi_t...@cow-string-inst.lo cow-string-inst.o: string-inst.cc
+@ENABLE_DUAL_ABI_TRUE@cow-fs_dir.lo cow-fs_dir.o: fs_dir.cc
+@ENABLE_DUAL_ABI_TRUE@cow-fs_ops.lo cow-fs_ops.o: fs_ops.cc
+@ENABLE_DUAL_ABI_TRUE@cow-fs_path.lo cow-fs_path.o: fs_path.cc
+
 @GLIBCXX_LDBL_ALT128_COMPAT_TRUE@floating_from_chars.lo: floating_from_chars.cc
 @GLIBCXX_LDBL_ALT128_COMPAT_TRUE@      $(LTCXXCOMPILE) -mabi=ibmlongdouble 
$(LONG_DOUBLE_128_FLAGS) -c $<
 @GLIBCXX_LDBL_ALT128_COMPAT_TRUE@floating_from_chars.o: floating_from_chars.cc
-- 
2.49.0

Reply via email to