我更新從外部源訪問某些資源的一個Makefile,即存在形式變量的Makefile如果沒有設置
$(External)/% :
cvs up [email protected]
的規則......如預期的無限制其中工程資源。現在,出現了一個特徵漂移和外部資源,需要更復雜的登錄,因此該規則已經改變的東西從這個沒有太多的不同:
$(External)/% :
cvs -d :pserver:$(CVSUSER)@cvs-server up [email protected]
...這使得取決於變量規則CVSUSER。執行此操作的快速而簡單的方法是,如果未定義,則會放棄一條有用的錯誤消息。但這並不好玩,如果在需要的時候未設置,我想從控制檯讀取變量CVSUSER。我天真地試過
CVSUSER ?= $(shell read -p "User name: ")
但這顯然不工作:)你會怎麼做呢?
儘管如此,將每個可變被訪問時調用外殼命令。當你做幾百個文件更新時,這並不好:) – Christoffer 2009-08-19 11:55:52