我将更新一个Makefile,该文件从外部源访问某些资源,即存在以下形式的规则:
但这显然行不通 :) 你会如何解决这个问题?
$(External)/% :
cvs up $@
如果资源没有限制,它将按预期工作。现在,由于功能漂移,外部资源需要更复杂的登录,因此规则已更改为与此类似:
$(External)/% :
cvs -d :pserver:$(CVSUSER)@cvs-server up $@
...这使得规则依赖于变量CVSUSER。要强制执行这个规则的快速简单方法是,如果未定义,则用有用的错误消息中止。但这并不好玩,如果在需要时它未设置,我想从控制台读取变量CVSUSER。我天真地尝试了
CVSUSER ?= $(shell read -p "User name: ")
但这显然行不通 :) 你会如何解决这个问题?