我们有一个 autotools 项目,它混合了单元测试和集成测试,所有这些都通过“make check”运行。这并不理想,因为一些集成测试需要一段时间,并且有各种依赖项(数据库等)
我想分离集成测试并为它们分配自己的 make 目标。这样,仍然可以经常运行单元测试(通过 make check),并且可以根据需要以类似的方式运行集成测试。
是否有一种直接(或其他)方式来添加额外的 make 目标?
注意:我可能还应该补充一点,这是一个大型项目,因此手动编辑/维护每个 makefile 是不可取的。如果可能的话,我想用“自动工具方式”来做。
-- 更新 1 --
我已经尝试过Jon的解决方案,它更接近了一步,但并不完全在那里。我还有几个问题:
1)递归 - 我可以修改构建树根目录中的 makefile.am 以及包含测试的任何目录,但似乎应该有一种方法可以在我没有的地方做到这一点更改层次结构中的每个 Makefile.am。(毕竟检查目标是这样工作的)
2) .PHONY - 我不断收到关于 .PHONY 被重新定义的消息。这是可以理解的,因为它是由另一个包(特别是 doxygen)设置的。怎样才能让两个人一起玩好呢?