例如,我有一个包含依赖项列表的变量
BOARDS:=lance.mcm light.mcm sac.mcm
我需要另一个名为NET的变量
NET:=lance.net light.net sac.net
应设置为当我更改BOARDS变量时,NET也应该更改。 例如,如果我在BOARDS变量中添加一个新的zor.mcm,它应该自动将zor.net添加到NET变量中。
答案 0 :(得分:24)
我找到的最佳解决方案是使用以下语法:
NET:=$(BOARDS:.mcm=.net)
这将查看BOARDS并将.mcm更改为.net
答案 1 :(得分:9)
作为替代方案:
BOARDS:=lance.mcm light.mcm sac.mcm
NET:= $(addsuffix .net, $(basename $(BOARDS)))
如果文件路径名匹配模式
,这将保留文件路径名中的内容