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

Makefile中如何批量将目录下所有.info文件传入lcov生成全局覆盖率?

解决方案

你可以直接用GNU Make内置的字符串替换函数,给每个.info文件批量添加--add-tracefile 前缀,再传入lcov命令即可,具体实现如下:

  1. 基于你已经获取的INFO_FILES变量,生成lcov需要的参数列表
# 给每个.info文件前加上--add-tracefile前缀
ADD_TRACE_ARGS = $(patsubst %,--add-tracefile %,$(INFO_FILES))
  1. 直接在lcov命令中引用生成的参数变量即可
# 全局覆盖率生成目标示例
global_coverage:
	lcov $(ADD_TRACE_ARGS) -o global_coverage.info

补充说明

  • 上述方案兼容所有支持--add-tracefile参数的lcov版本,无需依赖shell通配符逻辑,稳定性更高
  • 如果你使用的是lcov 1.13及以上版本,也可以直接用shell通配符简化写法(该写法依赖shell的通配符展开能力):
global_coverage:
	lcov --add-tracefile $(TEST_BUILD_DIR)/*.info -o global_coverage.info

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 01:24:04