我更新从外部源访问某些资源的一个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