我推荐的最常用的工具是autotools和CMake。
Autotools 是 GNU 项目的历史工具,是一套脚本,允许开发人员通过 M4 脚本 (autoconf) 实现特征检测。有用于常见测试的预定义宏。
CMake 是一个更新的原生 C++ 工具链,它还包括对最常见功能检查的支持,并允许开发人员通过其强大的语言实现自己的测试。
请注意,两者都是完全替代手写 makefile 的完整构建工具链。然而,我相信它们在跨平台支持和可维护性方面提供的优势比 makefile 提供的控制级别更有价值。