「?=」が含まれているIntelのmakefileがあります。好き
COMPILER ?= $(GCC_PATH)g++
だが
EXECUTABLE = run
?=と=の違いは何ですか?2番目の代わりに最初のものを使用する必要があるのはいつですか?
どうもありがとうございます。
「?=」が含まれているIntelのmakefileがあります。好き
COMPILER ?= $(GCC_PATH)g++
だが
EXECUTABLE = run
?=と=の違いは何ですか?2番目の代わりに最初のものを使用する必要があるのはいつですか?
どうもありがとうございます。
すばらしいドキュメントを引用してください:
まだ設定されていない場合にのみ変数を値に設定する場合は、「=」の代わりに省略演算子「?=」を使用できます。
?=
条件付き割り当て用です。つまり、まだ定義されていない場合は値を割り当てるだけで、それ以外の場合はそのままにします。あなたの例では、make COMPILER=arm-none-gcc
thenarm-none-gcc
を指定すると、デフォルトのg ++よりもコンパイラとして使用されます。入力するだけでmake
、g++がCOMPILERのオプションとして使用されます。を使用する=
と、COMPILERには、割り当てが発生したときと場所に値が割り当てられます。makeファイルの詳細については、初心者向けのmakefileについてを参照してください。