23

私のメイクファイルには次のような行があります

   CFLAGS = -c -g -D OPT1 -D OPT2

この引数をコマンドラインからこのように渡したい

 make ARG1= OPT1 ARG2 =OPT2    

これらの引数をコマンド ラインから渡さない場合は、makefile で定義されたデフォルト値を使用して makefile を使用する必要があります。それ、どうやったら出来るの ?

4

1 に答える 1

41

makefileで次のようなことをしてください。

OPT1 = MY_OPT_1 # defaults
OPT2 = MY_OPT_2

CFLAGS = -c -g -D $(OPT1) -D $(OPT2)

次に、コマンドラインで:

$ make -e OPT1=SOME_OTHER_OPT1 OPT2=SOME_OTHER_OPT2

OPT1コマンドラインでおよび/またはコマンドラインでfaluesを指定するとOPT2、これらはmakefileのデフォルト値を上書きします。

ほとんどの場合、新しい値を使用してすべてを強制的に再構築する-eオプションが必要になることに注意してください。makeOPT1OPT2

于 2012-05-22T09:48:10.123 に答える