Makefile简介

Makefile主要用于自动化编译,通过规则定义目标与依赖,当依赖文件更新时自动执行相应命令。其工作原理包括检查依赖文件是否存在及更新检测。Makefile支持变量定义,如自定义变量与预定义变量,并能进行模式匹配。此外,还提供了获取目录下文件列表和字符串替换等函数。伪目标用于执行特定任务,即使与同名文件冲突也能确保执行。
摘要由CSDN通过智能技术生成

Makefile主要被用来管理工程并实现自动化编译

Makefile规则

        1.文件命名

makefileMakefile

        2.格式

(1)一个Makefile文件中可以有一个或者多个规则

目标:依赖
    命令(Shell命令)
  • 目标:最终要生成的文件(伪目标除外)
  • 依赖:生成目标所需要的文件或目标
  • 命令:通过执行命令对依赖进行操作并生成目标(命令前必须Tab缩进)

(2)Makefile中其他规则一般都是为第一条规则服务的

工作原理

main:sub.c add.c main.c
    gcc sub.c add.c main.c -o app

1.命令在执行之前,需要先检查规则中的依赖项是否存在

  • 如果存在,执行命令
  • 如果不存在,向下检查其他规则,如果有相关规则则执行

2.检测更新,在执行规则中的命令时,会比较目标和依赖文件的时间

  • 如果依赖的时间比目标时间晚,则重新生成目标
main:sub.o add.o main.o
    gcc sub.o add.o main.c -o app

sub.o:sub.c
    gcc -c sub.c -o sub.o

add.o:add.c
    gcc -c 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值