簡體   English   中英

Makefile,在用戶運行任何目標之前運行環境檢查目標

[英]Makefile, Run environment check target before user run any targets

我想在其他任何目標之前先執行環境檢查目標checkenv

all: build_sub_target1 build_target2
clean: clean_sub_target1 clean_target2
...
...

checkenv:
    $(if $(PROJECT_ROOT), , \
      $(error $(shell echo -e '\033[41;33mFATAL: Please load project settings first. \
        Run "source PROJECT_ROOT_DIR/envsetup.sh"\033[0m')) \
    )

我希望每個其他目標在實際執行任務之前都運行checkenv目標,我該怎么做? 除了我將checkenv添加到每個目標的依賴列表之外,還有其他方法嗎?
由於此文件中有許多目標,因此我認為將其添加到每個目標中並不是一件很酷的事情。
非常感謝你的幫助!

您可以為此使用make條件 ,以便在讀取makefile時以及在評估目標之前檢查此條件:

ifndef PROJECT_ROOT
$(error "Please load project settings first. Run source PROJECT_ROOT_DIR/envsetup.sh")
endif

暫無
暫無

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

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