歡迎您光臨本站 註冊首頁

make的控制函數

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  

 

 

 

make提供了兩個控制make運行方式的函數。通常它們用在Makefile中,當make執行過程中檢測到某些錯誤是為用戶提供消息,並且可以控制make過程是否繼續。

  1  $(error TEXT…)

  * 函數功能:產生致命錯誤,並提示“TEXT…”信息給用戶,並退出make的執行。需要說明的是:“error”函數是在函數展開式(函數被調用時)才提示信息並結束make進程。因此如果函數出現在命令中或者一個遞歸的變數定義中時,在讀取Makefile時不會出現錯誤。而只有包含“error”函數引用的命令被執行,或者定義中引用此函數的遞歸變數被展開時,才會提示致命信息“TEXT…”同時退出make。

  * 返回值:空

  * 函數說明:“error”函數一般不出現在直接展開式的變數定義中,否則在make讀取Makefile時將會提示致命錯誤。

  假設我們的Makefile中包含以下兩個片斷;

  示例1:

  ifdef ERROR1

  $(error error is $(ERROR1))

  endif

  make讀取解析Makefile時,如果只起那已經定義變數“EROOR1”,make將會提示致命錯誤信息“$(ERROR1)”並退出。

  示例2:

  ERR = $(error found an error!)

  .PHONY: err

  err: ; $(ERR)

  這個例子,在make讀取Makefile時不會出現致命錯誤。只有目標“err”被作為一個目標被執行時才會出現。

  2  $(warning TEXT…)

  * 函數功能:函數“warning”類似於函數“error”,區別在於它不會導致致命錯誤(make不退出),而只是提示“TEXT…”,make的執行過程繼續。

  * 返回值:空

  * 函數說明:用法和“error”類似,展開過程相同。



[火星人 ] make的控制函數已經有306次圍觀

http://coctec.com/docs/program/show-post-71569.html