Linux系统编程(三)MakeFile项目管理

本文详细解释了Makefile的工作原理,包括如何定义规则、依赖关系、目标文件生成,以及使用wildcard、patsubst等函数、自动变量、模式规则和静态模式规则。还介绍了伪目标和如何传递参数以定制Makefile行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

命名:makefile / Makefile

工作原理(为了不在每次编译的时候要把所有文件都重新编译一次,可以先将文件生成为.o文件):

  • 若想生成目标,检查规则中的依赖条件是否存在,如不存在,则寻找是否有规则用来生成该依赖文件(依赖条件如果不存在,找寻新的规则去产生依赖)
  • 检查规则中的目标是否需要更新,必须先检查它的所有依赖,依赖中有任一个被更新,则目标必须更新(目标的时间必须晚于依赖条件的时间,否则更新目录)

1. 一个规则

目标:依赖
   (一个tab缩进)命令
如:add.o:add.c
   (一个tab缩进) gcc -Wall -g -c add.c -o add.o
目标:最终要生成的目标文件(伪目标除外)
依赖:目标文件由哪些文件生成
命令:通过执行该命令由依赖文件生成目标


默认终极目标是第一条规则的目标
ALL:a.out #ALL-->指定终极目标
Makefile中的其它规则一般都是为第一条规则服务的

2. 两个函数

src = $(wildcard ./*.c)
	找到当前目录下所有后缀为.c的文件。将文件名组成列
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值