Makefile 的需求
为什么需要Makefile
一个项目起初可能会有很少的文件与工作,随着项目的推进项目越来越大涉及的工作越来越多,涉及的文件也越来越多,当修项目中修改一个文件后,项目需要进行重新进行很多工作,但需要重新做的工作往往不是对整个项目进行重新构建,这个时候需要重新做那些工作就需要进行整理,这个时候是Makefile出场的时候了
Makefile基本规则非常简单
Makefile基本规则设计了三个要素
目标、依赖、规则
目标是需要的输出
依赖是哪些输入会影响目标
规则是由依赖生成目标所需要做的工作
只有当依赖更新后,Makefile才会执行规则,重新生成目标
下面举一个例子:
obj:obj.c
gcc obj.c -o obj
在这个例子中obj是目标,obj.c是依赖
gcc obj.c -o obj是规则,简单来讲就是只有当obj.c时间戳更新后才会执行 gcc obj.c -o obj
这个规则非常简单,但是随着项目的推进,大量的工作存在这种关系,使用Makefile进行管理就显得非常必要,Makefile也不负众望能够胜任几乎所有的管理工作,包括项目编译,项目打包,项目发布,项目提交,项目文档管理等等
网友评论