Makefile:将所有可用的 .info 文件从一个文件夹指示到 lcov 的通用方法

Makefile: generic way to indccate all available .info file from one folder to lcov

我正在做一些测试,我正在使用 lcov 为了正确管理所有测试的覆盖率,我的 makefile:

  1. 编译每个测试
  2. 启动测试
  3. 使用 geninfo
  4. 生成 .info 文件
  5. 删除*.gcda、*.gcno

为所有测试完成后,我想通过调用生成整个覆盖范围: lccov --add-tracefile <name>.info -o global_coverage.info

但是,我似乎需要通过--add-tracefile <name>.info

来指明所有.info文件

例如:如果我有 file1.infofile2.info,我需要调用: lccov --add-tracefile file1.info --add-tracefile file2.info -o global_coverage.info

我可以通过

检索所有 .info 文件的列表
# Get all .info file for coverag
INFO_FILES = $(wildcard $(TEST_BUILD_DIR)/*.info)

是否有通过指示所有 .info 文件来调用此 lcov 工具的通用方法?

谢谢

你可以使用这个:

# Get all .info file for coverag
INFO_FILES := $(wildcard $(TEST_BUILD_DIR)/*.info)

global_coverage.info: $(INFO_FILES)
        lccov $(addprefix --add-tracefile ,$^) -o $@