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

时间:2013-01-13 03:59:34

标签: makefile wildcard

在以下行中,

selected = $(firstword $(foreach R,$(REPS),$(wildcard $(R)/$(1))))

$(1)是什么意思?

我试图通过

查看$(1)的值
$(info "dollar one is " $(1))

它不会打印任何东西。这是否意味着它是一些参数。从某处传递并设置为NULL或者它是通配符中使用的特殊变量吗?

2 个答案:

答案 0 :(得分:7)

selectedthe call function使用的表达式。像这样:

$(call selected,foo)

Make将评估展开表达式,将“foo”指定给$(1)

在这种情况下,它看起来好像可能用于通配符,如下所示:

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

答案 1 :(得分:0)

我不太确定你的make文件中如何使用$(1),但$(1)是终端中传递的第一个参数,比如你键入make target然后{{1 }}将被分配到target