L'ajout de citations à l'argument en C++ préprocesseur

J'aimerais passer le nom d'un fichier include comme un argument de compilateur afin que je puisse modifier un grand nombre de paramètres de configuration. Cependant, mon C++ build est par l'intermédiaire d'un makefile comme le processus qui supprime les guillemets à partir des arguments passés au compilateur et le pré-processeur. J'espérais faire quelque chose d'équivalent à

#ifndef FILE_ARG
//defaults
#else
#include "FILE_ARG"
#endif

avec ma ligne de commande, y compris -DFILE_ARG=foo.h. Bien sûr, cela ne fonctionne pas depuis le préprocesseur ne se traduit pas FILE_ARG.

J'ai essayé

#define QUOTE(x) #x
#include QUOTE(FILE_ARG)

qui ne travaillent pas pour la même raison.

Pour l'écriture de scripts raisons, je préfère le faire sur la ligne de commande plutôt que d'aller dans et modifier une ligne dans la routine appropriée. Est-il de toute façon?