首先提一下隐式规则
对于一个目标,如果没有显示的指定规则,则去所有的隐式规则查找
隐式规则提供了默认的先决条件+执行处方
实际上这些隐式规则,都是通过模式规则的方式来定义的
模式规则
模式规则,就是为了服务隐式规则而存在的:
1 可以定义新的隐式规则
2 可以修改之前的隐式规则
规则样式:
1 %.o : %.c(新的样式)
2 .c.o(老的样式)
静态模式规则
这个和隐式规则,就没有关系了
这个是实实在在的显式规则
这个显式规则,是根据我书写的静态模板,推导出来的
Static pattern rules are rules which specify multiple targets and
construct the prerequisite names for each target based on the target name.
They are more general than ordinary rules with multiple targets
because the targets do not have to have identical prerequisites.
Their prerequisites must be analogous, but not necessarily identical.
形式如下:
objects = foo.o bar.o
$(objects): %.o: %.c
$(CC) -c $(CFLAGS) $< -o $@