gcc supports arguments prefixed with @. Those specify a filename where more arguments should be read. This is popularly used by CMake to specify what to link. I.e. the stuff that cblink is most interested in. So cblink needs to be able to handle those files.
Tested in bug 8576, which now links without stray dependencies.
Tested compiling a small program using the @file option and can confirm that it works as expected. The file opts contains "-Wall": > cbrun x86_64 cc test.c @opts > test.c: In function 'main': > test.c:2:7: warning: unused variable 'a' [-Wunused-variable] > int a;
Tested compiling a small program using the @file option and can confirm that it works as expected. The file opts contains "-Wall": > cbrun x86_64 cblink -ar cc @opts test.c > test.c: In function 'main': > test.c:2:7: warning: unused variable 'a' [-Wunused-variable] > int a;