在makefile定义中,逗号是什么意思?

时间:2019-02-15 19:39:54

标签: makefile

此makefile规则(变量定义)中的逗号是什么意思?例如

target1,SRCS = foo.c bar.c
target2,SRCS = bat.c baz.c

似乎定义了一个与特定目标相关的变量SRCS,但我不确定。显然还有更多的make定义,但这是一个复杂的makefile基础结构,我不知道从哪里开始理解更大的上下文。品牌是通用的; makefile在clearmake和GNU make下都使用。

在我们的make系统中,这是使用给定的源文件构建target1的过程。实际上就像

SRCS = foo.c bar.c
target1: $(SRCS)

老实说,我觉得这是一个简单的问题,但是我不记得在我多年的经验中碰到过这种语法,并且花了很长时间来寻找它。我尝试在GNU make手册中查找“,”,并对“逗号”一词进行了全文搜索,也进行了一些网络搜索,但没有运气。

1 个答案:

答案 0 :(得分:2)

它只是一个符号,但是一个偷偷摸摸的符号。 GNU Make允许逗号成为Make变量名称的一部分。