Makefile學習總結之Makefile的條件執行

Makefile的條件執行

  1. 條件語句中使用到了三個關鍵字:”ifeq”、“else”、“endif”,其中:
    “ifeq”表示條件語句的開始,並指定了一個比較條件(相等)。之後是用圓括號括包圍的、使用逗號“,”分割的兩個參數,和關鍵字“ifeq”用空格分開。參數中的變量引用在進行變量值比較時被展開。“ifeq”之後就是當條件滿足make 需要執行的,條件不滿足時忽略。
    “else”之後就是當條件不滿足時的執行部分。不是所有的條件語句都需要此部分。
    “endif”表示一個條件語句的結束,任何一個條件表達式都必須以“endif”結束。

  2. 一個簡單的不包含“else”分支的條件判斷語句的語法格式爲:

CONDITIONAL-DIRECTIVE 
TEXT-IF-TRUE 
endif

表達式中“TEXT-IF-TRUE”可以是若幹任何文本行,當條件爲真時它就將被make作爲需要執行的一部分。當條件爲假時,不作爲需要執行的一部分。

  1. ifeq,判斷參數是否相等;
  2. ifneq,判斷參數是否不相等;
  3. ifdef,用來判斷一個變量是否已經定義;
  4. ifdef 只是測試一個變量是否有值,不會對變量進行替換展開來判斷變量的值是否爲空。
  5. ifndef,關鍵字“ifndef”實現的功能和“ifdef”相反;
發佈了45 篇原創文章 · 獲贊 14 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章