2015-01-09 125 views
7

EXTRA_CFLAGSの使用目的は何ですか?EXTRA_CFLAGSの目的は何ですか?

私はいくつかの文脈でそれを見ていますが、なぜEXTRA_CFLAGSの代わりにCFLAGSにフラグを付けるだけであるのか理解できませんでした。

私は最初、makeがその暗黙的なルールをどのように定義しているかと何か関係があると考えましたが、これは当てはまりませんでした。私が理解しているように、暗黙のルールを作るのにEXTRA_CFLAGSの使用はありません、正しいですか?

啓発に感謝します。

+0

これはオフハントで利用できる例はありますか? –

+0

私は共有できる例はありません。この質問は、これが一般的にどのように使用されているか、このパラメータにどのようなコーディング規約とソフトウェアサポート/期待があるかについての詳細です。 –

答えて

8

これは、標準のmakeルールまたは組み込みルールの一部ではないため、使用していたメイクファイルのいくつかが慣例にすぎません。それは別のフラグとして行うの理由は、コマンドラインでそれを使用することができそうです。

make EXTRA_CFLAGS=-O3 

コマンドライン変数の割り当てオーバーライドメイクファイル内の変数のいずれかの設定なので、追記は動作しません。それは次のとおりです。

$ cat Makefile 
CFLAGS += -Dfoo 

all: ; @echo '$(CFLAGS)' 

$ make CFLAGS=-Dbar 
-Dbar 

$ make CFLAGS+=-Dbar 
-Dbar 

両方が-Dbar、ない-Dfoo -Dbarが表示されます。

それは別のフラグです。 automake環境では、ユーザーがコマンドラインで指定するように、明示的にCFLAGSを保存し、すべての「通常の」フラグを他の変数に入れます。

+0

これは正当な理由のようです! –

関連する問題