You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Makefile如何生成q_前缀匹配目标以执行对应qemu elf文件命令

Makefile实现方案

方案1:有限目标硬编码实现

适合目标数量少、长期固定的场景,逻辑直白易修改:

# 单条规则对应单个目标
q_a:
	qemu aarch64/a/a.elf

q_b:
	qemu aarch64/b/b.elf

q_c:
	qemu aarch64/c/c.elf

# 声明伪目标,避免和同名文件冲突
.PHONY: q_a q_b q_c

方案2:通用模式匹配实现(无数量限制,推荐)

利用Make的通配符和自动变量实现任意目标匹配,不需要新增规则就可以支持任意q_xxx格式的目标:

# 匹配所有q_开头的目标,%为通配符
q_%: aarch64/%/%.elf
	qemu $<

# 声明所有q_开头的目标为伪目标
.PHONY: q_%

规则说明:

  • %是Make的通配符,输入make q_xxx时,%会自动匹配xxx部分
  • $<是自动变量,指代规则的第一个依赖,也就是对应路径下的aarch64/xxx/xxx.elf文件
  • 只要对应路径下的elf文件存在,直接执行make q_你的目标名即可运行,无需修改Makefile

注意事项

  • Makefile中规则对应的命令行必须以Tab开头,不能用空格替代,否则会触发语法错误
  • 如果需要给qemu追加全局参数(比如-nographic),直接在qemu $<后添加即可

内容的提问来源于stack exchange,提问作者Chan Kim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 20:36:02