此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手册中查找“,”,并对“逗号”一词进行了全文搜索,也进行了一些网络搜索,但没有运气。
答案 0 :(得分:2)
它只是一个符号,但是一个偷偷摸摸的符号。 GNU Make允许逗号成为Make变量名称的一部分。