Makefile – 模式规则

模式规则通过通配符%为某一类文件定义编译规则。如所有.c文件都编译为.o,模式规则可写为:

%.o : %.c
    编译命令

模式规则中,目标和依赖项中包含通配符%,依赖项中的通配符%用于匹配依赖项文件名,目标中的通配符%在生成的目标文件名称中会被替换成所匹配的字符串。如main.c被编译为main.o

通配符%在目标中只包含一个,%可匹配任意非空字符串。某些隐式规则本质上是一些模式规则,make工具内部就是通过定义模式规则实现这些隐式规则的。

依赖项中的某些项可以不使用%,这种依赖项与匹配的依赖项一起作为输入被编译成目标文件,这种不变的依赖项有时是有用的。

模式规则例子

xxx.c编译成xxx.o

%.o : %.c
    $(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@

xxx.c编译成xxx-test.o

%-test.o : %.c
    $(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@


浙ICP备17015664号 浙公网安备 33011002012336号 联系我们 网站地图  
@2019 qikegu.com 版权所有,禁止转载