0
我正在使用makefile处理项目。一些制定规则具有以下格式:makefile依赖列表中的冒号意味着什么?
a.o b.o c.o : %.o : %.c
gcc -c $< -o [email protected]
这样的规则的含义是什么?我无法在官方手册中找到解释,但我想它仅用于对列为目标的* .o文件应用模式匹配。那是对的吗?
我正在使用makefile处理项目。一些制定规则具有以下格式:makefile依赖列表中的冒号意味着什么?
a.o b.o c.o : %.o : %.c
gcc -c $< -o [email protected]
这样的规则的含义是什么?我无法在官方手册中找到解释,但我想它仅用于对列为目标的* .o文件应用模式匹配。那是对的吗?
从GNU引用请,
静态模式规则是指定多个目标的规则,并且基于目标名称 构建每个目标的先决条件名称。它们比具有多个目标的普通规则更普遍 ,因为目标不必具有相同的先决条件。他们的 先决条件必须是类似的,但不一定完全相同。
静态图案规则的语法:
targets : target-pattern: prereq-patterns …
recipe
…
图案规则被提及作为%目标。它匹配.o
这里a.o
,b.o
和c.o
的任何目标结束。
这里'$<’
是保留前提条件名称的自动变量,'[email protected]’
是保存目标名称的自动变量。
a.o b.o c.o : %.o : %.c
gcc -c $< -o [email protected]