makefile文件构成

makefike用来告诉make如何编译连接一个程序,MAKEfile里主要包括了5个方面的内容:显示规则、隐示规则、变量定义、文件指示和注释。

  1. 显示规则
    显示规则说明了如何生成一个或多个目标。一条显示规则指明了目标文件、目标文件的依赖文件、生成或更新目标文件所使用的命令。显示规则的一般形式为:
    target:depency files
    command
    其中,target是需要由make工具创建的目标体(target,目标体通常可以是空格分开多个文件名,也可以是一个标签。目标文件列表的文件名可以使用通配符,格式“A(M)”表示档案文件(linux下的静态库.a文件)的成员M。通常规则只有一个目标文件。depdency_files是要创建的目标体所依赖的文件,而“test.c”和“test.h”是重建“test.c”所要使用的文件。把规则所需要重建的文件称为规则的“目标”(test.o),而把重建目标所需要的文件称为规则的“依赖”(或者目标的依赖)。规则的第二行“gcc-c-g test.c”是规则的“命令”。它描述了如何使用规则中的依赖文件重建目标。
    书写规则时。需要注意的以下几点:
    规则的命令部分有两种书写方式:命令可以和目标、依赖文件放在同一行。命令在依赖文件列表后并使用分号(:)和依赖文件列表分开。命令在依赖文件列表的下一行,作为独立的命令行。当作为独立的命令行此时必须以“Tab”字符开始。在makefile中所有以“Tab”字符开始的行都会被认为命令来处理。
    makefile中的符号“ ” 有 特 殊 的 含 义 。 他 表 示 变 量 或 者 函 数 的 引 用 , 在 规 则 中 需 要 使 用 符 号 “ ”有特殊的含义。他表示变量或者函数的引用,在规则中需要使用符号“ 使”的地方。需要书写成“$$”.
    对于makefile中一个较长的行,我们可以使用反斜线“\”将其书写到几个独立的物理行上。规则的中心思想:目标文件的内容是由依赖文件决定。依赖文件的任何一处改动。将导致目前已经存在的目标文件的内容过期。规则的命令为重建目标提供了方法。这些命令运行在系统shell中。

  2. 隐式规则
    因为make有自动推导的功能,可以根据目标文件的文件名,自动产生目标依赖文件和生成目标的命令。表4-15给出了常见的隐式规则目录。

  3. 变量定义
    在makefie中需要定义一系列的变量,一般都是字符串,它类似于c语言的宏,当makefile被执行的 时候,其中的变量都会扩展到响应的引用位置上。

  4. 文件指示
    包括三个部分,第一部分是在一个makefile中引用另一个makefile,就像C语言中的include一样包含进来;第二部分是指根据某些情况,指定Makefile中的有效成分,就像C语言中的预编译宏一样;第三部分是定义一个多行的命令。

  5. 注释
    Makefile中的“#”字符后的内容被当做注释处理,如果某行以“#”字符开头,那么此行就是注释行。一般在书写makefile时建议将注释作为独立的一行。而不要和makefile中有其他意义的内容放在同一行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值