linux下makefile简介

  1. makefile简介

makefile文件主要包含了五部分内容,显示规则、隐式规则 、变量定义、文件指示和注释。
- 显示规则。 显示规则说明了如何生成一个或者多个目标文件。这是由makefile文件的创作者指出,包括要生成的文件、文件的依赖文件和生成的命令。
- 隐式规则。由于make有自动推导的功能,所以使用隐式的规则可以简略书写makefile文件,这是由make所支持的
- 变量定义。在makefile文件中要定义一系列的变量,变量一般都是字符串,例如C语言中的宏,当makefile执行时,其中的变量会扩展到相应的引用位置上。
- 文件指示。包括三个部分,一个是在一个makefile文件中引用另一个makefile文件,就像C语言中的#include。另一个是根据某些情况制定makefile文件中的有效部分,就像C语言中的预编译#if一样。。或者定义一个多行的命令。
- 注释。makefile只有行注释,和Unix的shell一样,其注释用#字符表示,如果在makefile文件中需要使用#时需要使用#。
-

makefile文件中的命令必须要以Tab开始

  • GNU的make的工作步骤
    -1、读入所有的makefile文件
    -2、读入被include包含的其他makefile文件
    -3、初始化文件中的变量
    -4、推导隐式规则,并分析所有规则
    -5、为所有的目标文件创建依赖关系链
    -6、根据依赖关系,决定哪些目标要重新生成。
    -7、执行生成命令

  • make书写规则:依赖关系、生成目标的方法

  • 规则举例
        hello.o:  hello.c   hello.h  #hello.o依赖hello.c和hello.h两个文件
            gcc -c -g hello.c#要生成hello.o则需要使用gcc命令
  • make 使用通配符 * ? [ ] 简便书写。
  • 文件搜索VPATH路径
  • 三种使用方法
    -1 、vpath ‘pattern’ ‘direction’
    -2、 vpath ‘pattern’
    -3、 vpath
    %的意思是匹配一个以上的字符 “:”冒号是分隔符

    vpath %.c ~/shell
    vpath %.c /root
    vpath %.h ~/shell:example

伪目标的存在。使用特殊标记。.PHONY:来显式指明一个目标是伪目标

转载于:https://www.cnblogs.com/VCctor/p/5100705.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值