簡體   English   中英

Makefile 即使在 If 塊中也會引發錯誤

[英]Makefile Throws Error Even When In If Block

我有一個驗證 function 我想在驗證失敗時拋出錯誤。 這是我使用的代碼:

define validate
    if [ condition... ]; then \
        echo "ERROR"; \
        $(error Validation failed); \
    fi; \
    echo "NOERROR";
endef

我遇到的問題是,即使條件為假,錯誤仍然會被拋出。 當我刪除錯誤並運行 function 時,我可以看到沒有顯示回顯“錯誤”。

為什么會這樣?

這是因為$(error)是一個make function 並在將所有此語句傳遞給 shell 之前進行評估。 如果您想從 shell 失敗,只需使用exit 1代替。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM