Constructing a Medium-sized Project with Jam
Jam is a replacement for
make(1). See here for more details.
I’m attempting to use jam to build our Windows code, but in order to keep the scale of this discussion down, I’m just going to explain the aspects of our codebase that caused difficulty, and then I’m going to fake them up in a mock build tree. This will enable me to explain things in isolation.
I’ve written this article in the form of a tutorial, because I think better when trying to formulate reproducible instructions for this kind of thing.
- Building an MFC program.
- Building a shared library (DLL).
- Bringing it together with the SubDir rule.
- Linking with a shared library.
- Building (and linking with) static libraries.
- Resource script dependencies.
- Separate Debug/Release directories.
This is some stuff I wrote earlier. I’m going to try to factor it into the main discussion, but for now, you can find it here: