在 Linux 环境下开发 C 代码,感觉写 Makefile 比较麻烦,尤其是源文件比较多的情况下,经常找不到文件或者库,编译出错;发现一个比较好的工具,SCons ,可以自动的分析依赖关系,使用简单方便。
SCons 特点:
SCons: A software construction tool - SCons
SCons 是一个开源软件构建工具。SCons 被视为是经典 Make 程序的改进的跨平台替代者,具有类似于 autoconf/automake 和编译器缓存(如 ccache)的集成功能。简而言之,SCons 是一种更简单、更可靠、更快速的软件构建方式。
- 配置文件是 Python 脚本——使用真正的编程语言的力量来解决构建问题。
- 为 C、C++ 和 Fortran 内置可靠、自动的依赖关系分析——不再需要“makedepend”或“make clean”来获取所有依赖关系。通过用户定义的其他语言或文件类型的依赖性扫描程序,依赖性分析很容易扩展。
- 内置支持 C、C++、D、Java、Fortran、Yacc、Lex、Qt 和 SWIG,以及构建 TeX 和 LaTeX 文档。通过用户定义的构建器可轻松扩展其他语言或文件类型。
- 从源代码和/或预构建目标的中央存储库构建。
- 对 Microsoft Visual Studio 的内置支持,包括生成 .dsp、.dsw、.sln 和 .vcproj 文件。
- 使用 MD5 签名可靠地检测构建更改;对传统时间戳的可选、可配置支持。
- 支持并行构建——比如 make -j ,但无论目录层次如何,都可以同时运行 N 个作业。
- 集成类似 Autoconf 的支持,用于查找#include 文件、库、函数和 typedef。
- 所有依赖项的全局视图——不再需要多次构建传递或重新排序目标来构建所有内容。
- 能够在缓存中共享构建文件以加速多个构建——例如 ccache,但适用于任何类型的目标文件,而不仅仅是 C/C++ 编译。
- 专为跨平台构建而设计,可在 Linux、其他 POSIX 系统(包括 AIX、BSD 系统、HP/UX、IRIX 和 Solaris)、Windows 7/8/10、MacOS 和 OS/2 上运行。
安装scons:
现在安装很方便,可以直接在Linux 的终端窗口敲入命令:
apt install scons
root@maixsense:~# scons -h
usage: scon