潜心学习
全部博文(25)
分类: LINUX
2013-11-21 10:25:42
原文地址:Makefile 学习笔记一 作者:好喜儿
make 命令是解释Makefile的
TARGET... : PREREQUISITES...
COMMAND
目标:依赖
命令
注意:每一个命令行必须以[Tab]
字符开始,[Tab] 字符告诉make此行是一个命令行。make按照命令完成相应的动作。
这也是书写Makefile 中容易产生,而且比较隐蔽的错误。
但需要注意:反斜线之后不能有空格(这也是大
家最容易犯的错误,错误比较隐蔽
注意:就是说所有的命令行必需以[Tab] 字符开始,但并不是
所有的以[Tab] 键出现行都是命令行。但make程序会把出现在第一条规则之后的所有以
[Tab] 字符开始的行都作为命令行来处理。
目标“clean”不是一个文件,它仅仅代表执行一个动作的标识。正常情况下,不
需要执行这个规则所定义的动作。make clean 后会执行clean之后的动作。
因此在执行make时,它所指定的动作不会被执行。除非在执行make时明确地
指定它。而且目标“clean”没有任何依赖文件,它只有一个目的,就是通过这个目标
名来执行它所定义的命令。Makefile 中把那些没有任何依赖只有执行动作的目标称为
“伪目标”(phony targets )。
Makefile中的目标可能会很多,但是第一条规则中的目标将被确立为最终目标。
使用变量:
这样的话一是方便使用,第二点是需要修改的话改一个地方就可以了。
清除规则:
1. 通过“.PHONY ”特殊目标将“clean”目标声明为伪
目标。避免当磁盘上存在一个名为“clean”文件时,目标“clean”所在规则的命令无
法执行。
2. 在命令行之前使用“- ”,意思是忽略命令
“rm”的执行错误(参考 5.4 命令的错误 一节)
点击(此处)折叠或打开
点击(此处)折叠或打开
点击(此处)折叠或打开
点击(此处)折叠或打开
hello.c