Jam is a software build tool that makes building simple things simple and building complicated things manageable. It has been freely available as C source for many years from the Perforce Workshop and is widely used to build commercial and academic software. Jam is a very good solution for conventional C/C++ compile-and-link builds.