Makefile中的通配符($(1)代表什么意思?)

5
在下一行中,
selected = $(firstword $(foreach R,$(REPS),$(wildcard $(R)/$(1))))

$(1)的意思是什么?

我尝试通过以下方式获取$(1)的值:

$(info "dollar one is " $(1))

它没有打印任何东西,这是指它是从某个地方传递的参数且被设置为NULL,还是它是通配符中使用的特殊变量?

2个回答

10

这个selected是一个表达式,旨在由 call函数使用。像这样:

$(call selected,foo)

Make会评估并扩展表达式,将"foo"分配给$(1)

在这种情况下,它似乎是用于通配符的使用,例如:

SRCS := $(call selected,*.cc)

0

我不太确定你的 make 文件中如何使用 $(1),但是 $(1) 是在终端中传递的第一个参数,比如说如果你输入 make target,那么 target 就会被赋值给 $(1)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接