码迷,mamicode.com
首页 > 其他好文 > 详细

Makefile初学

时间:2015-06-08 11:21:37      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:

本文摘自 : 跟我一起写 Make?le     

makefile文件一般保存名称为makefile或者Makefile

(一)make的规则:

1. 如果这个工程没有编译过,那么我们的所有 c 文件都要编译并被链接。
2. 如果这个工程的某几个 c 文件被修改,那么我们只编译被修改的 c 文件,并链接目标程序。
3. 如果这个工程的头文件被改变了,那么我们需要编译引用了这几个头文件的 c 文件,并链接目标程序。

(二)makefile的语法规则(注意在makefile中指令必须以tab键开头,在vim中设定:set tabstop=4): 

target ...  : prerequisites ...                  //冒号前是需要生成的文件,冒号后面是生成这个文件所需要的文件。(文件依赖)
  command ...                                       //只有在冒号后面的文件比冒号前的文件新,这行指令才会被执行。任意的 shell 命令

target 可以是一个 object file(目标文件),也可以是一个执行文件,还可以是一个标签(label)。对于标签这种特性,在后续的“伪目标”章节中会有叙述。

例如: 

edit : main.o kbd.o command.o display.o insert.o search.o files.o utils.o 

cc -o edit main.o kbd.o command.o display.o\             //反斜杠(\)是换行符的意思。

                  insert.o search.o files.o utils.o

上面的edit (target)就是由冒号后面的.o文件(prerequisites)生成。

第二行中的cc是编译指令,只有在.o文件中有比edit新的文件存在,第二行的指令行才会被执行,这样可以减少编译时间。

Makefile初学

标签:

原文地址:http://www.cnblogs.com/jiahu-Blog/p/4560156.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!