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