Open techiall opened 6 years ago
把过程了解了,为什么要执行这条命令也就轻松多了。
绘图参考链接 http://www.ruanyifeng.com/blog/2014/11/compiler.html
跟我一起写Makefile 感觉一篇文章就够了。
单行注释
# this is comment
多行注释(方式一
# this is comment \ this is comment \ ... \
多行注释(方式二
# this is comment # this is comment # ...
写 Makefile 文件之前,首先得先明白编译和链接过程,知道要生成什么中间文件,过程懂了,再配合 Makefile 的书写规则,就没有什么太多问题。
在讲述这个makefile之前,还是让我们先来粗略地看一看makefile的规则。 target ... : prerequisites ... command ... ... target 可以是一个object file(目标文件),也可以是一个执行文件,还可以是一个标签(label)。对 于标签这种特性,在后续的“伪目标”章节中会有叙述。 prerequisites 生成该target所依赖的文件和/或target command 该target要执行的命令(任意的shell命令) 这是一个文件的依赖关系,也就是说,target这一个或多个的目标文件依赖于prerequisites中的文件, 其生成规则定义在command中。说白一点就是说: prerequisites中如果有一个以上的文件比target文件要新的话,command所定义的命令就会被执行。 这就是makefile的规则,也就是makefile中最核心的内容。 原文链接 https://seisman.github.io/how-to-write-makefile/introduction.html#id1
在讲述这个makefile之前,还是让我们先来粗略地看一看makefile的规则。
target ... : prerequisites ... command ... ...
target
可以是一个object file(目标文件),也可以是一个执行文件,还可以是一个标签(label)。对 于标签这种特性,在后续的“伪目标”章节中会有叙述。
prerequisites
生成该target所依赖的文件和/或target
command
该target要执行的命令(任意的shell命令)
这是一个文件的依赖关系,也就是说,target这一个或多个的目标文件依赖于prerequisites中的文件, 其生成规则定义在command中。说白一点就是说:
prerequisites中如果有一个以上的文件比target文件要新的话,command所定义的命令就会被执行。
这就是makefile的规则,也就是makefile中最核心的内容。
原文链接 https://seisman.github.io/how-to-write-makefile/introduction.html#id1
基础知识
编译和链接
把过程了解了,为什么要执行这条命令也就轻松多了。
静态库和动态库
Makefile 介绍
跟我一起写Makefile 感觉一篇文章就够了。
Makefile 注释方法
单行注释
多行注释(方式一
多行注释(方式二
Makefile 的规则
写 Makefile 文件之前,首先得先明白编译和链接过程,知道要生成什么中间文件,过程懂了,再配合 Makefile 的书写规则,就没有什么太多问题。