学习啦>学习电脑>操作系统>Linux教程>

linux的make命令

佳洲分享

  Linux系统下编译时利用make命令可以很好地减少不必要的编译工作,提高效率,下面由学习啦小编为大家整理了linux的make命令的相关知识,希望大家喜欢!

  linux的make命令详解

  1.功能说明

  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 之前和之后,都显示工作目录。

  linux的make命令实例解析

  1.make -j 18 :表示同时使用18个线程进行编译。该数字建议小于或者等于CPU的个数。

    3622689