私は通常、 "make command line"から "makefile"にオプション-Dname = valueを使用してマクロ定義を渡します。定義はメイクファイル内からアクセスできます。
同様のコンパイラオプションを使用して、「makefile」から「ソースコード」にマクロ定義を渡します。-Dname = value(多くのコンパイラでサポートされています)。この定義は、ソースコードでアクセスできます。
私が今必要としているのは、メイクファイルのユーザーが、メイクファイルの内容を変更することなく、「make.exeコマンドライン」から「ソースコード」に任意のマクロ定義をすぐに渡せるようにすることです。
したがって、ユーザーは次のように入力できます。make -f mymakefile.mk -SOMEOPTION var = 5
次に、コードmain.cが直接varを参照できます。
int main()
{
int i = var;
}