- 源文件更新导致需要重新构建。这个 gnu make 都能解决得很好。
- 构建命令复杂,开发者可能需要理解命令行和各种参数。
- 头文件更新,所以依赖这个头文件的源文件都需要重新构建。这个 gnu make 不直接支持,需要搭配 gcc 来生成和更新依赖。
- 库文件更新,所依赖的库文件更新后,程序应该重新连接,GNU Make 可以做到。
- 即使我只构建自己的目标,如果库的源代码变了,库应该重新生成,GNU Make 用递归 Make 无法做到。
- 库文件之间的依赖自动传递,一个库依赖另一个库,库的最终用户不需要关心。
- 构建过程中的警告和错误应该醒目地显示出来。
- 能自动支持台风系统大量使用的 proto buffer,以及方便扩充以支持外来可能引入的新工具。
- 应该能集成自动测试,代码检查等开发常用的功能。