Makefile
lcxhjg
这个作者很懒,什么都没留下…
展开
-
Makefile 特殊字符的含义
1. *, ?, %: 通配符,同shell2. #: 注释3. -: 忽略错误4. \: 续行5. .PHONY:伪目标。“伪目标”并不是一个文件,只是一个标签,由于“伪目标”不是文件,所以make无法生成它的依赖关系和决定它是否要执行。我们只有通过显示地指明这个“目标”才能让其生效。当然,“伪目标”的取名不能和文件名重名,不...原创 2018-07-06 11:35:36 · 863 阅读 · 0 评论 -
make的工作方式
1. 读入所有的Makefile。 2. 读入被include的其它Makefile。 3. 初始化文件中的变量。 4. 推导隐晦规则,并分析所有规则。 5. 为所有的目标文件创建依赖关系链。 6. 根据依赖关系,决定哪些目标要重新生成。 7. 执行生成命令。...原创 2018-07-06 11:47:19 · 238 阅读 · 0 评论 -
Makefile 变量定义
变量定义解析的规则如下:1. IMMEDIATE = DEFERRED 立即展开a) 其优点是:这种类型变量在定义时,可以引用其它的之前没有定义的变量(可能在后续部分定义,或者是通过make的命令行选项传递的变量)b) 其缺点是: i. 使用此风格的变量定义,可能会由于出现变量的递归定义而导致ma...原创 2018-07-06 11:48:48 · 593 阅读 · 0 评论 -
Makefile VPATH/vpath的使用
1. VPATH通过变量“VPATH”可以指定依赖文件的搜索路径,当规则的依赖文件在当前目录不存在时,make会在此变量所指定的目录下去寻找这些依赖文件。 2. vpathvpath不是一个变量,而是一个make的关键字,它实现了选择性地搜索。它可以为不同类型的文件(由文件名区分)指定不同的搜索目录。 ...原创 2018-07-06 11:49:55 · 849 阅读 · 0 评论 -
Makefile中的命令包(自定义函数)
define run-yacc yacc $(firstword $^) mv y.tab.c $@ endef原创 2018-07-06 11:50:52 · 733 阅读 · 0 评论 -
Makefile 技巧
1. 隐藏命令: 通常,make会把其要执行的命令行在命令执行前输出到屏幕上。当我们用“@”字符在命令行前,那么,这个命令将不被make显示出来2. 命令出错: 每当命令运行完后,make会检测每个命令的返回码,如果命令返回成功,那么make会执行下一条命令,当规则中所有的命令成功返回后,这个规则就算是成功完成了。如果一个规则中的某个命令出错了(命令退出码非零),那么make就会终止执行当前规...原创 2018-07-06 11:51:46 · 232 阅读 · 0 评论