列表 上一篇 下一篇

makefile 隐含规则

最近看makefile方面的东西,看到内嵌隐含规则、隐含规则、后缀规则、模式规则这里想问的是他们的关系,其实makefile内嵌隐含规则是由内嵌后缀规则定义的,而用户也可以自己重新定义后缀规则,而且定义模式规则也起到隐含规则的作用,但有些模式规则并不作为隐含规则用(比如%_config),总结就是隐含规则就是内嵌的后缀规则、内嵌的模式规则(一般没有内嵌的模式规则,内嵌的隐含规则多有内嵌的后缀规则实现)、用户自定义的后缀规则、用户自定义的模式规则的并集(用户自定义的规则会替代内嵌的同名规则),下面是make手册3.80的摘录

10.7 Old-Fashioned Suffix Rules
Suffix rules are the old-fashioned way of defining implicit rules for make. Suffix rules are obsolete because pattern rules are more general and clearer. They are supported in GNU make for compatibility with old makefiles. They come in two kinds: double-suffix and single-suffix.