Penguin

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.