02 2014 档案
摘要:模式规则模式规则类似于普通规则。只是在模式规则中,目标名中需要包含有模式字符“%”(一个),包含有模式字符“%”的目标被用来匹配一个文件名,“%”可以匹配任何非空字符串。规则的依赖文件中同样可以使用“%”,依赖文件中模式字符“%”的取值情况由目标中的“%”来决定。例如:对于模式规则“%.o : %.c”,它表示的含义是:所有的.o文件依赖于对应的.c文件。我们可以使用模式规则来定义隐含规则。要注意的是:模式字符“%”的匹配和替换发生在规则中所有变量和函数引用展开之后,变量和函数的展开一般发生在make读取Makefile时(变量和函数的展开可参考第五 章 使用变量 和 第七章 make的函数)
阅读全文
摘要:今天看makefile 文件, 发现makefile中使用了很多自动化变量,在网上找了一篇不错的关于自动化变量的文章。链接:http://www.2cto.com/os/201302/191344.html自动化变量模式规则中,规则的目标和依赖文件名代表了一类文件名;规则的命令是对所有这一类文件重建过程的描述,显然,在命令中不能出现具体的文件名,否则模式规则失去意义。那么在模式规则的命令行中该如何表示文件,将是本小节的讨论的重点。假如你需要书写一个将.c 文件编译到.o 文件的模式规则,那么你该如何为gcc 书写正确的源文件名?当然了,不能使用任何具体的文件名,因为在每一次执行模式规则时源文件
阅读全文