控制make的函式

weixin_33978044發表於2018-07-30

控制make的函式

make提供了一些函式來控制make的執行。通常,你需要檢測一些執行Makefile時的執行時資訊,並且根據這些資訊來決定,你是讓make繼續執行,還是停止。

$(error <text ...> )

產生一個致命的錯誤,<text ...>是錯誤資訊。注意,error函式不會在一被使用就會產生錯誤資訊,所以如果你把其定義在某個變數中,並在後續的指令碼中使用這個變數,那麼也
是可以的。例如:

示例一:

ifdef ERROR_001

$(error error is $(ERROR_001))

endif

示例二:

ERR = $(error found an error!)

.PHONY: err

err: ; $(ERR)

示例一會在變數ERROR_001定義了後執行時產生error呼叫,而示例二則在目錄err被執行時才發生error呼叫。

$(warning <text ...> )

這個函式很像error函式,只是它並不會讓make退出,只是輸出一段警告資訊,而make繼續執行。

make 的執行

——————

一般來說,最簡單的就是直接在命令列下輸入make命令,make命令會找當前目錄的makefile來執行,一切都是自動的。但也有時你也許只想讓 make重編譯某些檔案,而不是整個工程,而又有的時候你有幾套編譯規則,你想在不同的時候使用不同的編譯規則,等等。本章節就是講述如何使用make命令的。

相關文章