私はMakefileの(8)と一緒に書きました

免責事項:この記事はCSDNブロガー元の記事「haoel」で、CC 4.0 BY-SAの著作権契約書に従って、再現し、元のソースのリンクと、この文を添付してください。
オリジナルリンクします。https://blog.csdn.net/haoel/article/details/2893

 

1.マルチライン変数

  変数の値のセットは、キーワードを定義使用することもあります。変数の値は、(我々は以前の話、「コマンドパケット」技術は、キーワードの使用である)一連のコマンドを定義することが助長しているセットラップ、することができ、定義しているキーワードを使用します。

  再起動行に定義された変数の値が、定義はendefキーワードの終わりであるが、変数の名前、続いインジケータと定義。そして、その作業モード「=」演算子は同じです。変数関数、コマンド、テキスト、または他の変数の値を含むことができます。コマンドのニーズはあなたが、コマンド変数は、そもそも、[Tab]キーを定義するために定義されていない使用している場合は、[Tab]キーで起動するので、それはコマンドとみなされないようになります。
  次の例では、使用方法を定義を示しています。

    二定義するライン
    エコーのfoo 
    エコー$(バー)
    endefを

 

2.環境変数

  バリューシステム環境変数は、実行時にはMakefileのの始まりを作るために実行時にロードすることが可能にするが、Makefileは、システム環境変数、メイクにこの変数、変数やコマンドラインで定義されている場合カバー。(あなたが指定した「-e」パラメータを作成する場合は、システム環境変数はMakefileで定義された変数を上書きします)

  だから、私たちは「CFLAGS」環境変数環境変数を設定した場合、我々はすべてにMakefileでこの変数を使用することができますこのために我々は統一されたコンパイラのパラメータを使用し、比較的大きな利点です。MakefileのはCFLAGSを定義した場合、それは、Makefileの、値が定義されていない場合は、システム環境変数が使用され、一般的な統一人格に「グローバル変数」と「ローカル」機能のような多くをこの変数を使用します。
  作るときに、ネストされたコールは、(以前の「ネストされた呼び出し」を参照)、上位Makefileで定義された変数は、道のMakefileシステム環境変数によって下位層に渡されます。もちろん、デフォルトでは、それが唯一の変数、コマンドラインの設定を通過されます。下のMakefileに合格するには場合、ファイル内で定義された変数は、あなたが宣言するexprotキーワードを使用する必要があります。(上記参照)

  もちろん、私たちはMakefileを実行していない場合、多くの問題をもたらす可能性がシステム変数の同じセットを、持っているので、システム環境で定義されている多くの変数にはお勧めしません。

 

3.ターゲット変数

  私たちは、ファイル全体である「グローバル変数」について話しているMakefileで定義された変数の前で、私たちはこれらの変数にアクセスすることができます。もちろん、「自動変数」を除いて、例えば「$ <」と自動変数のこの種の量は、「ルール変数」です、この変数の値の定義は、ターゲットとターゲット依存のルールに依存します。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/zhuangquan/p/11890989.html