想知道如何应用pattern rules等内容来完成Makefile中的以下内容:
take!
无需将FILES := a b c d
$(FILES).c:
run build $(FILE).c
# use $(FILE) without .c extension, etc.
中的所有值命名为FILES
,a.c
等,因为我将在其他地方使用这些名称。
如果我使用b.c
尝试上述操作,我会得到:
make a.c
答案 0 :(得分:2)
已经在列表上运行的addsuffix
内置函数在这里很有用:
targets := $(addsuffix .c,$(FILES))
但是,您可以简单地使用模式规则。自动变量$*
将对应于词干(即%
部分):
%.c:
run build $@
# use $* for filename without .c extension, etc.