make(二)makefile介绍
2013-06-11 13:26
225 查看
一makefile文件的内容:
*Makefile 里主要包含了五个东西:显式规则、隐晦规则、变量定义、文件指示和注释。
1、显式规则。显式规则说明了,如何生成一个或多的的目标文件。这是由 Makefile 的书写者明显指出,要生成的文件,文件的依赖文件,生成的命令。
2、隐晦规则。由于我们的 make 有自动推导的功能,所以隐晦的规则可以让我们比较粗糙地简略地书写 Makefile,这是由 make 所支持的。
3、变量的定义。在 Makefile 中我们要定义一系列的变量,变量一般都是字符串,这个有点你 C 语言中的宏,当 Makefile 被执行时,其中的变量都会被扩展到相应的引用位置上。
4、文件指示。其包括了三个部分,一个是在一个 Makefile 中引用另一个 Makefile,就像 C语言中的 include 一样;另一个是指根据某些情况指定 Makefile 中的有效部分,就像 C 语言中的预编译#if 一样;还有就是定义一个多行的命令。
5、注释。Makefile 中只有行注释,和 UNIX 的 Shell 脚本一样,其注释是用“#”字符,这个就像 C/C++中的“//”一样。如果你要在你的 Makefile 中使用“#”字符,可以用反斜框进行转义,如:“\#”。
*最后,注意,在 Makefile 中的命令,必须要以[Tab]键开始。
二 makefile的规则:
(1)makefile规则形式:
target ... : prerequisites ...
command
...
...
*target:可以是目标文件(object file)、可执行文件、或者一个action名字(比如:clean)。
*prerequisites:用来生成target的输入(所需文件或是目标),target依赖的文件。
*command:是make要执行的命令,一定要以tab开头。
*target 依赖于 prerequisites中的文件,其生成规则定义在 command 中。
* make会比较targets文件和prerequisites文件的修改日期,如果prerequisites文件的日期要比targets文件的日期要新,或者 target 不存在的话,那么,make 就会执行后续定义的命令。
(2)makefile名字:
*默认情况下,make命令会在当前目录下按照顺序寻找文件名为"GNUmakefile"、"makefile"、"Makefile"的文件。大多数make都支持makefile和Makefile,最好使用“Makefile”。
(3)应用其它Makefile:
*在Makefile中使用include关键字把别的Makefile包含进来:include filename。
*make执行时,有"-I"或"--include-dir"参数,那么make就会在这个参数指定的目录下寻找makfile。
*Makefile 里主要包含了五个东西:显式规则、隐晦规则、变量定义、文件指示和注释。
1、显式规则。显式规则说明了,如何生成一个或多的的目标文件。这是由 Makefile 的书写者明显指出,要生成的文件,文件的依赖文件,生成的命令。
2、隐晦规则。由于我们的 make 有自动推导的功能,所以隐晦的规则可以让我们比较粗糙地简略地书写 Makefile,这是由 make 所支持的。
3、变量的定义。在 Makefile 中我们要定义一系列的变量,变量一般都是字符串,这个有点你 C 语言中的宏,当 Makefile 被执行时,其中的变量都会被扩展到相应的引用位置上。
4、文件指示。其包括了三个部分,一个是在一个 Makefile 中引用另一个 Makefile,就像 C语言中的 include 一样;另一个是指根据某些情况指定 Makefile 中的有效部分,就像 C 语言中的预编译#if 一样;还有就是定义一个多行的命令。
5、注释。Makefile 中只有行注释,和 UNIX 的 Shell 脚本一样,其注释是用“#”字符,这个就像 C/C++中的“//”一样。如果你要在你的 Makefile 中使用“#”字符,可以用反斜框进行转义,如:“\#”。
*最后,注意,在 Makefile 中的命令,必须要以[Tab]键开始。
二 makefile的规则:
(1)makefile规则形式:
target ... : prerequisites ...
command
...
...
*target:可以是目标文件(object file)、可执行文件、或者一个action名字(比如:clean)。
*prerequisites:用来生成target的输入(所需文件或是目标),target依赖的文件。
*command:是make要执行的命令,一定要以tab开头。
*target 依赖于 prerequisites中的文件,其生成规则定义在 command 中。
* make会比较targets文件和prerequisites文件的修改日期,如果prerequisites文件的日期要比targets文件的日期要新,或者 target 不存在的话,那么,make 就会执行后续定义的命令。
(2)makefile名字:
*默认情况下,make命令会在当前目录下按照顺序寻找文件名为"GNUmakefile"、"makefile"、"Makefile"的文件。大多数make都支持makefile和Makefile,最好使用“Makefile”。
(3)应用其它Makefile:
*在Makefile中使用include关键字把别的Makefile包含进来:include filename。
*make执行时,有"-I"或"--include-dir"参数,那么make就会在这个参数指定的目录下寻找makfile。
相关文章推荐
- 很详细、很移动的Linux makefile教程:介绍,总述,书写规则,书写命令,使用变量,使用条件推断,使用函数,Make 的运行,隐含规则 使用make更新函数库文件 后序
- make和makefile介绍
- Linux makefile与make命令详细介绍
- GNU Make chapter 2 —— Makefile 介绍
- automake 生成 makefile 简单介绍
- make与makefile的介绍
- 用于Makefile的make命令参数介绍
- 很详细、很移动的Linux makefile教程:介绍,总述,书写规则,书写命令,使用变量,使用条件推断,使用函数,Make 的运行,隐含规则 使用make更新函数库文件 后序
- gcc____make和makefile _____CMake和CMakeLists.txt___之间有何关系
- linux makefile 详细介绍
- 跟我一起写 Makefile (八)——make的运行
- ./configure,make,make install的作用(configure一般用来生成 Makefile,相当于qmake)
- Makefile中的常用函数介绍
- Linux下Make命令介绍
- makefile介绍
- Maemo Linux手机平台系列分析:(17) Maemo应用开发: GNU make 与makefile
- makefile详解 make 的运行
- Makefile解读之二: sub-make
- make介绍与使用
- CFLAGS/CPPFLAGS/CXXFLAGS in Makefile介绍