Makefile 如何使用文件列表创建文件模式规则
想知道如何在Makefile中应用这样的东西来完成以下任务:Makefile 如何使用文件列表创建文件模式规则,makefile,gnu-make,Makefile,Gnu Make,想知道如何在Makefile中应用这样的东西来完成以下任务: FILES := a b c d $(FILES).c: run build $(FILE).c # use $(FILE) without .c extension, etc. 无需命名文件中的所有值,如a.c、b.c等,因为我将在其他地方使用这些名称 如果我用make a.c尝试上述方法,我会得到: No rule to make target `a.c'. Stop. 已在列表上运行的内置函数在这里可能很有用:
FILES := a b c d
$(FILES).c:
run build $(FILE).c
# use $(FILE) without .c extension, etc.
无需命名文件
中的所有值,如a.c
、b.c
等,因为我将在其他地方使用这些名称
如果我用make a.c
尝试上述方法,我会得到:
No rule to make target `a.c'. Stop.
已在列表上运行的内置函数在这里可能很有用:
targets := $(addsuffix .c,$(FILES))
但是,您可以简单地使用模式规则。自动变量
$*
将对应于阀杆(即%
零件):
现在能用了吗?或者那些
.c
文件的虚假目标在哪里?对于虚假目标,你需要的是静态模式规则。@LancePollard太棒了!
%.c:
run build $@
# use $* for filename without .c extension, etc.