Makefile相关总结

原创 2011年01月17日 21:57:00

1、主要功能:make是一个解释Makefile文件中指令的命令工具,其最基本的功能就是通过Makefile文件描述源程序之间的相互关系并自动维护编译工作,它会告知系统以何种方式编译和链接程序。剩下的工作就是输入make,就可以自动完成所有的编译任务,并且生成目标程序。

2、工作流程:

1)查找当前目录下的Makefile文件

2)初始化文件中的变量

3)分析Makefie中的所有规则

4)为所有的目标文件创建依赖关系

5)根据依赖关系,决定哪些目标文件要重新生成

6)执行生成命令

3、原理:make工具判断文件有无更新的主要依据是判断依赖文件的建立时间是否比所生成的目标文件要晚。

4Make命令的格式:执行make命令时只需要在Makefile文件所在的目录输入make指令即可,make命令本身带有一些参数:【选项】、【宏定义】、【目标文件】。

标准形式如下:

Make [选项] [宏定义] [目标文件]

下面是一些常用选项:

-f file :指定Makefile的文件名

-n 打印出所有的执行命令,但事实上并不执行这些命令

-s 在执行时不打印命令

-w 如果在make执行时要改变目录,则打印当前的执行目录

-I <dirname> : 指定所有Makefile所在的目录。

-d 打印调试信息

-h help文档,显示Makefile的帮助文档。

Make在没有指定目标文件时,默认生成Makefile文件的第一个目标文件。

5、Makefile文件语法规则:Makefile文件定义了一系列的规则

#注释 //shell脚本一样

目标文件:依赖文件列表 //目标:目标文件列表,一般指的是编译过程中生成的.o文件或可执行文件,也可以是要执行的动作,如“clean”这样的目标。

.......................

<TAB>命令列表 //命令列表:make程序执行的动作,也是创建目标文件的命令,一个规则可以有多条命令,每一行只能有一条命令。

.......................

Makefile文件中变量的使用:

一般都是大写,放在Makefile的顶部来定义,后面跟一个“=”,“=”后面是设定的变量值。如果要引用这个变量,用“$”,变量名需要放在“$”后面的括号中。

Make中一些特殊的内部变量,它们根据每个规则内容定义。

$@ 指代当前规则下的目标文件列表

$< 指代依赖文件列表中的第一个文件

$^ 指代依赖文件列表中的所有依赖文件

$? 指代依赖文件列表中新于对应目标文件的文件列表

使用变量的好处是简化Makefile的书写,方便对程序的维护。变量一般代表 一个文件列表 、编译命令选项。

常用的伪目标:clean(负责清理工作) 、 install(负责安装工作,将可执行程序拷贝到对应目录)。

太基础了,还有很多重要的没有补充。。。。。

Makefile相关

  • 2009年05月19日 11:30
  • 1.13MB
  • 下载

makefile相关资料

  • 2011年06月08日 22:52
  • 328KB
  • 下载

linuxC相关知识--gcc和Makefile的学习

一:gcc 1.gcc hello.c -o hello    直接编译成可执行文件,其中有四个过程:预处理、编译、汇编、链接,最后生成课执行文件。 (1)预处理:gcc -E hello.c ...

linux驱动部分:交叉编译驱动模块&模块驱动的相关操作&Makefile讲解

根据下面的提醒,在自己电脑是的情况是: b1、模块整个操作流程 (1)加载模块:insmod globalfifo_zs_fzs.ko (2)查看模块是否被加载:lsmod (3)...

makefile里PHONY的相关介绍

Phony Targets PHONY 目标并非实际的文件名:只是在显式请求时执行命令的名字。有两种理由需要使用PHONY 目标:避免和同名文件冲突,改善性能。 如果编写一个规则,并不产生目标文件...

Linux相关-------简单工程Makefile的编写

工程Makefile的编写,对于初始Makefile的菜鸟们来说,还是比较头疼的一件事情,如何做到整个工程结构清晰,各个模块相对独立,模块的添加 删除等都比较方便,各个层次的的Makefile风格一致...
  • yf210yf
  • yf210yf
  • 2012年06月06日 15:40
  • 795

wince下sources\sources.cmn\Makefile.def的相关作用

wince下sourcessources.cmnMakefile.def的相关作用
  • hao507
  • hao507
  • 2011年07月29日 09:39
  • 720

makefile 文件的语法及相关知识(2)

3 Makefile书写规则  --------------------------------------------------------------------------------  规...

makefile里PHONY的相关介绍

Phony Targets PHONY 目标并非实际的文件名:只是在显式请求时执行命令的名字。有两种理由需要使用PHONY 目标:避免和同名文件冲突,改善性能。 如果编写一个规则,并不产生目标文件...
  • blue_bm
  • blue_bm
  • 2014年01月02日 21:31
  • 253

makefile里PHONY的相关介绍

makefile里PHONY的相关介绍 http://www.cnblogs.com/hnrainll/archive/2011/04/12/2013377.html Phony ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Makefile相关总结
举报原因:
原因补充:

(最多只允许输入30个字)