【发布时间】:2013-01-13 03:59:33
【问题描述】:
在下面一行中,
selected = $(firstword $(foreach R,$(REPS),$(wildcard $(R)/$(1))))
$(1) 是什么意思?
我试图查看 $(1) 的值
$(info "dollar one is " $(1))
而且它不打印任何东西。这是否意味着它是一些参数。从某处传递并设置为 NULL 还是通配符中使用的特殊变量?
【问题讨论】:
在下面一行中,
selected = $(firstword $(foreach R,$(REPS),$(wildcard $(R)/$(1))))
$(1) 是什么意思?
我试图查看 $(1) 的值
$(info "dollar one is " $(1))
而且它不打印任何东西。这是否意味着它是一些参数。从某处传递并设置为 NULL 还是通配符中使用的特殊变量?
【问题讨论】:
这个selected 是一个供the call function 使用的表达式。像这样:
$(call selected,foo)
Make 将评估扩展表达式,将“foo”分配给$(1)。
在这种情况下,它看起来好像可以与通配符一起使用,如下所示:
SRCS := $(call selected,*.cc)
【讨论】:
我不太确定 $(1) 在你的 make 文件中是如何使用的,但 $(1) 是终端中传递的第一个参数,比如如果你输入 make target 那么 target 将被分配给 @987654325 @。
【讨论】: