2017-11-16

1、makefile的定义

      一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个Shell脚本 一样,其中也可以执行操作系统的命令。

2、makefile的命名

      (1)、makefile   

      (2)、Makefile

              注:makefile的名字只有这两种,不能出现这两种以外的其他形式

3、makefile的命名规则

      (1)、三要素:目标,依赖,命令

      (2)、makefile的内部型编写形式:

                目标  :  依赖条件

                Tab键    命令

     

5、makefile中的变量

      (1)、规则 

            %o : %c

              Tab键 gcc  -c  $<  -o  $@

      (2)、makefile中的自动变量

              (a)、$<  : 规则中的第一个依赖

              (b)、$@ : 规则中的目标

              (c)、$^ : 规则中的所有依赖

      (3)、makefile中系统自己维护的变量

              (a)、CC  = cc (其实 cc 是系统默认的gcc ,当然 CC 的值可以赋值 )

              (b)、CPPFLAGS = -I  (  编译时需要的参数  )

    接下来详细给大家介绍下 编写 makefile 文件 的过程,从初级makefile---------> 中级makefile----------->高级makefile-------------->终极makefile

  (1)、初级makefile

    通过写 makefile 减少了 编译运行程序时,繁杂冗余的命令出现

  (2)、中级makefile

      中级makefile 比初级makefile 更好一点,主要是因为: 初级的makefile在任何时候,只要其中的一个依赖文件改变,就必须重新编译,这样会导致大量时间被浪费。

      如果所依赖的文件比较多的话,那么编译就会耗费大量时间。而中级makefile 会根据哪一个依赖项 发生改变,则这个目标文件重新编译,不用全部重新编译 。

  (3)、高级makefile

      高级makefile 的性能就更好了,而且比较标准和规范化,用到了变量和公式,避免了makefile中出现大量的相同代码

  (4)、终极makefile

    终极makefiel是写 makefile的终极目标,相信写成这样 大部分非专业人不容易看懂,感觉很厉害的哦哦哦。但是,当你了解makefile里面的语法,你就会觉得很简单哦哦。

小结:

    在这里建议写项目的时候,可以使用makefile ,这样会使项目代码管理方便,运行方便,节省时间等。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • makefile关系到整个工程的编译规则,一个工程中的源文件不计其数,按其类型、功能、模块分别放在若干的目录当中,...
    Joe_HUST阅读 1,893评论 0 3
  • 11月16号复盘 11月16号计划 OFF 1、读书报告总结。✅。 得到+潜伏在办公室 2、龙华看姐姐 ✅ 3、时...
    从心印心阅读 153评论 0 0
  • 【PS教程】【PS】【教程】ps,ps,PS教程,PS教程 PS教程,PS教程,PS教程,PS教程,PS教程,PS...
    a104b284f747阅读 2,703评论 1 39
  • 春风未暖徐徐来 文/艾蓝 我愿读万卷书 也想行千里路 窗口的光向北 花坛里绿草待破土 我从江南打马而来 正好遇见 ...
    宋晨曦阅读 545评论 0 3