The Jam build tool

Posted February 26, 2007 in misc

If you’re into multi-platform C++ programming, you need to find a solution to the problem of writing makefiles for several compiler/platform combinations (e.g. Visual C++, MingW on Windows, GCC on Linux, Sun’s compiler on Solaris, etc.).

I have worked for two different companies that had each invented their own proprietary build file format (like Symbian’s MMP project files) and then used Perl to transform them into platform and compiler-specific makefiles.

Perl, Ruby and other scripting languages have also reinvented this particular wheel several times, since they all need some way to write C/C++ extensions that compile on all platforms supported by the scripting language.

A nice thing about the QT Toolkit is that it comes with qmake which is a multi-platform build system as I just described.

Well, even though I’ve used Perforce a lot for the last years, I somehow never noticed Jam (or if I did, I was to busy writing MMP files to see what it meant). From what I have been able to read, Jam and qmake solve the exact same problem.

If you google for Jam you’ll find the most important links: