Makefile 自动化变量以及模式匹配

1. 自动化变量

Makefile中的自动化变量可以大大简化Makefile的书写,使其更加简洁和易于维护。这些变量在规则的命令中被自动赋值,根据当前目标和依赖的上下文来确定具体的值。下面是一些常用的自动化变量:

bash 复制代码
$@  " 表示目标文件
bash 复制代码
$<  " 表示第一个依赖文件
bash 复制代码
$^  " 表示所有的依赖文件

2. 模式匹配

使用模式匹配通常能匹配多个目标文件,避免了重复书写

2.1 匹配的规则

bash 复制代码
%.target : %.source
	<command>

其中 % 是一个通配符,代表任意数量的字符。比如,要从多个.c文件编译出.o文件,你可以使用如下模式规则:

bash 复制代码
%.o : %.c
	$(CC) $(CFLAGS) -c $< -o $@

2.2 匹配的规则

多模式匹配

bash 复制代码
%.o: %.c %.h
	$(CC) $(CFLAGS) -c $< -o $@

这条规则意味着每个.o文件不仅取决于对应的.c文件,还取决于同名的.h文件。如果.c或.h文件发生变化,对应的.o文件将被重新编译。

相关推荐
OxyTheCrack几秒前
简述常见经典进程调度算法
linux
小羊子说15 分钟前
Android 车机开发中常用的adb 脚本(更新中)
android·linux·adb·性能优化·车载系统
wanhengidc18 分钟前
BGP服务器网络安全如何
运维·服务器·web安全
Irissgwe21 分钟前
线程概念与控制
linux·开发语言·c++·线程
ShineWinsu26 分钟前
对于Linux:git版本控制器和cgdb调试器的解析
linux·c语言·git·gitee·github·调试·cgdb
云飞云共享云桌面36 分钟前
精密机械制造工厂10个SolidWorks研发共享一台服务器设计办公
运维·服务器·网络·云计算·电脑
糖果罐子♡36 分钟前
ToDesk重磅更新, 硬核-ToClaw AI 实现科技新闻日报自动化实战
人工智能·科技·自动化
rosmis36 分钟前
自动化文献检索与下载工作流 (Phase 3 逻辑树)
python·pdf·自动化
测试_AI_一辰39 分钟前
Agent & RAG 测试工程笔记16:生成层怎么测?不只是“对不对”,还有“像不像人”
人工智能·功能测试·自动化·ai编程
babytiger1 小时前
Windows 11 下格式化 Linux 分区 TF 卡(DiskPart 完整教程)
linux·运维·windows