gcc avec les paramètres "-S -save-temps" place les fichiers intermédiaires dans le répertoire courant

Les paramètres -S -save-temps beau travail, tant que je ne les utilisez pas sur des fichiers avec le même nom.

Pense de la situation suivante: j'ai un projet avec un répertoire principal et un sous-répertoire avec le nom subDir et dans les deux répertoires sont des fichiers placés avec le nom file.c. Si j'appelle maintenant gcc -S -save-temps file.cpp subDir/file.c un seul fichier intermédiaire avec le nom file.i sera généré.

Qui est le comportement attendu, comme l'homme le fichier de gcc me dit que les fichiers intermédiaires seront toujours placés dans le chemin d'accès actuel, lors de l'utilisation de -save-temps.

Mon problème, c'est que je suis en train de travailler sur des projets je ne sais pas à l'avance. Il pourrait très bien être, que quelqu'un construit mentionné ci-dessus l'exemple dans son Makefiles. Dans ce cas, je serai coincé, parce que j'ai besoin de deux fichiers intermédiaires.

Quelques mots pour le système, je suis de la construction (pour mieux comprendre): Mon outil utilise make --just-print de recueillir les appels, un fichier d'un projet invoque. J'analyse ces appels pour le compilateur appelle et ajouter le -save-temps et -S options. Le but est d'obtenir tous les prétraitées de fichier, qui est utilisé dans le processus de compilation du projet.

Vous avez des idées, je suis en mesure d'obtenir tous les prétraitées fichier, même si l'exemple mentionné ci-dessus doit apparaître?

source d'informationauteur Customizer