`
yanfaguanli
  • 浏览: 650685 次
文章分类
社区版块
存档分类
最新评论

linux下的make命令

 
阅读更多

make命令的关键是找出上一次各个文件的修改时间,利用此修改时间来比较相依 赖文件最后一次修改的时间。若目标文件的修改时间早于其相依文件的修 改时间,则必须先对相依文件进行处理(编译),进而来更新目标文件,若目标文件的修改时间迟于其相依文件的修改时间,则不对该相依文件进行处理(编译)。 利用它可以每次只编译自上次编译后发生变化的文件,从而可以减少一些不必要的编译工作,提高效率。
执行make命令所需要的信息:
(1)用户定义的描述文件,一般为makefile
(2)文件系统有关的数据和与时间有关的信息
(3)一组后缀规则
2.makefile文件
Make工具最主要也是最基本的功能就是通过makefile文件来描述源程序之间的相互关系并自动维护编译工作。而makefile 文件需要按照某种语法进行编写,文件中需要说明如何编译各个源文件并连接生成可执行文件,并要求定义源文件之间的依赖关系。
Makefile文件作为一种描述文档一般需要包含以下内容:
(1) 宏定义
(2) 源文件之间的相互依赖关系
(3) 在依赖关系基础上的可执行的命令序列
3.make命令
make命令的一般格式:
make【选项】【make描述文件】【宏定义】【目的文件】
make首先分析所有的宏定义参数(带嵌入等号的参数)并进行赋值,宏命令行覆盖在makefile中进行的定义,然后检验选项标志,最后递归的对每一个目的依赖文件进行检查。
unix下常用的选项如下:
f file  指定file文件为描述文件,如果file参数为"-"符,那么描述文件指向标准输入。如果没有"-f"参数,则系统将默认当前目录下名为 makefile或者名为Makefile的文件为描述文件。在Linux中, GNU make 工具在当前工作目录中按照GNUmakefile、makefile、Makefile的顺序搜索 makefile文件。
  -i   忽略命令执行返回的出错信息。
-s   沉默模式,在执行之前不输出相应的命令行信息。
-r   禁止使用build-in规则。
-n   非执行模式,输出所有执行命令,但并不执行。
-t   更新目标文件。
-q   make操作将根据目标文件是否已经更新返回"0"或非"0"的状态信息。
-p   输出所有宏定义和目标文件描述。
-d   Debug模式,输出有关文件和检测时间的详细信息。
  Linux下常用选项与Unix系统中稍有不同,下面是不同的部分:
  -c dir   在读取 makefile 之前改变到指定的目录dir。
-I dir   当包含其他 makefile文件时,利用该选项指定搜索目录。
-h   help文挡,显示所有的make选项。
-w   在处理 makefile 之前和之后,都显示工作目录。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics