Makefiles: Name object response files with .rsp extension
Proposed change for the "Makefile Target Generator" towards appending the .rsp
extension to the object list for the linker (response file), in the same way it is done for the Ninja Generator.
Relevant log excerpt, after building ~4000 C sources:
felipe-iar@dev7-vm:~/kitware/iar-rsp$cmake -G "Unix Makefiles" -B _build --toolchain iar-toolchain.cmake && cmake --build _build --verbose --clean-first
...
[ 99%] Building C object CMakeFiles/mega-project.dir/foo993.c.o
/opt/iarsystems/bxarm/arm/bin/iccarm --silent /home/felipe-iar/kitware/iar-rsp/foo993.c -r -e -o CMakeFiles/mega-project.dir/foo993.c.o
[ 99%] Building C object CMakeFiles/mega-project.dir/foo994.c.o
/opt/iarsystems/bxarm/arm/bin/iccarm --silent /home/felipe-iar/kitware/iar-rsp/foo994.c -r -e -o CMakeFiles/mega-project.dir/foo994.c.o
[ 99%] Building C object CMakeFiles/mega-project.dir/foo995.c.o
/opt/iarsystems/bxarm/arm/bin/iccarm --silent /home/felipe-iar/kitware/iar-rsp/foo995.c -r -e -o CMakeFiles/mega-project.dir/foo995.c.o
[ 99%] Building C object CMakeFiles/mega-project.dir/foo996.c.o
/opt/iarsystems/bxarm/arm/bin/iccarm --silent /home/felipe-iar/kitware/iar-rsp/foo996.c -r -e -o CMakeFiles/mega-project.dir/foo996.c.o
[ 99%] Building C object CMakeFiles/mega-project.dir/foo997.c.o
/opt/iarsystems/bxarm/arm/bin/iccarm --silent /home/felipe-iar/kitware/iar-rsp/foo997.c -r -e -o CMakeFiles/mega-project.dir/foo997.c.o
[ 99%] Building C object CMakeFiles/mega-project.dir/foo998.c.o
/opt/iarsystems/bxarm/arm/bin/iccarm --silent /home/felipe-iar/kitware/iar-rsp/foo998.c -r -e -o CMakeFiles/mega-project.dir/foo998.c.o
[ 99%] Building C object CMakeFiles/mega-project.dir/foo999.c.o
/opt/iarsystems/bxarm/arm/bin/iccarm --silent /home/felipe-iar/kitware/iar-rsp/foo999.c -r -e -o CMakeFiles/mega-project.dir/foo999.c.o
[ 99%] Building C object CMakeFiles/mega-project.dir/main.c.o
/opt/iarsystems/bxarm/arm/bin/iccarm --silent /home/felipe-iar/kitware/iar-rsp/main.c -r -e -o CMakeFiles/mega-project.dir/main.c.o
[100%] Linking C executable mega-project.elf
/home/felipe-iar/kitware/cmake-master/bin/cmake -E cmake_link_script CMakeFiles/mega-project.dir/link.txt --verbose=1
/opt/iarsystems/bxarm-9.30.1/arm/bin/ilinkarm --silent -f CMakeFiles/mega-project.dir/objects1.rsp -f CMakeFiles/mega-project.dir/objects2.rsp --map mega-project.map -o mega-project.elf
gmake[2]: Leaving directory '/home/felipe-iar/kitware/iar-rsp/_build'
[100%] Built target mega-project
gmake[1]: Leaving directory '/home/felipe-iar/kitware/iar-rsp/_build'
/home/felipe-iar/kitware/cmake-master/bin/cmake -E cmake_progress_start /home/felipe-iar/kitware/iar-rsp/_build/CMakeFiles 0
felipe-iar@dev7-vm:~/kitware/iar-rsp$ cmake --version
cmake version 3.25.20221121-ga0dbfb9
CMake suite maintained and supported by Kitware (kitware.com/cmake).
Fixes: #24165 (closed)
Edited by Brad King