我正在开发一个 Python/Haskell 项目,我正在寻找Makefile
. 显而易见的选择是 Python SCons和 Haskell Shake。由于我对它们中的任何一个都没有经验,所以我想问一下它们的优缺点是否有任何比较。
更新:该项目对构建有一些复杂的要求:
- 让用户配置构建 - 启用/禁用选项、工具路径等。
- 在编译时会生成 Haskell 和 Python 文件。它们的依赖项应该可以正常工作。
- 有多个 Haskell 程序共享大部分源文件。我想这样:
- 可以单独构建每一个,而不是构建不需要的源;
- 编译多个程序时不会多次构建源文件;
- 如果可能的话,在编译期间实现并行性。
- 检查目标系统上的几个已安装程序及其路径(如
python
等flock
) - 检查目标系统上的依赖关系,包括 Python、Haskell。
- 根据依赖项对构建进行参数化 - 如果缺少用于测试的依赖项,则应该仍然可以构建项目,跳过测试(并通知用户)。