SCons is a replacement for make(1). It is written in Python and does everything make(1) does and more:
- Configuration files are Python scripts.
- Dependency analysis built in for C, C++ and Fortran.
- Support for fetching source files from SCCS?, RCS, CVS, BitKeeper and PerForce.
- Built in support for VisualStudio .NET and past VisualStudio versions including generation of .dsp, .dsw, .sln and .vcproj files.
- Reliable detection of build changes using MD5 signatures, optional, configurable support for traditional timestamps.
- Improved support for parallel builds.
- Integrated autoconf(1)-like support for finding #include files, libraries, functions and typedefs.
- Global view of all dependencies -- no more multiple build passes or reordering targets to build everything.
- Building from central repositories of source code and/or pre-built targets.
- Ability to share built files in a cache to speed up multiple builds -- like CCache? but for any type of target file, not just C/C++ compilation.
- Designed from the ground up for cross-platform builds, and known to work on Linux, other POSIX systems (including AIX, *BSD, HP/UX, IRIX and Solaris), Windows NT, MacOSX, and OS/2.
- Doom3's build system uses SCons.