The parameters `-S -save-temps` work fine, as long as i don't use them on files with the same name.

Think of the following situation: I have a project with a main directory and a subdirectory with the name `subDir` and in both of the directories are files placed with the name `file.c`. If I now call `gcc -S -save-temps file.cpp subDir/file.c` only one intermediate file with the name `file.i` will be generated.

That is the expected behaviour, as the man file of `gcc` tells me, that the intermediate files will always be placed in the current path, when using `-save-temps`.

My problem is, that I'm working on projects I don't know in advance. It could very well be, that someone constructed the above mentioned example in his Makefiles. In that case I would be stuck, because I need both intermediate files.

A few words to the system I'm constructing (for better understanding): My tool uses `make --just-print` to collect the calls, a make file of a project invokes. I scan these calls for compiler calls and add the `-save-temps` and `-S` options. The purpose is to get every preprocessed file, that is used in the process of compiling the project.

Do you have any ideas, how I'm able to get every preprocessed file, even if the above mentioned example should appear?