I am a newbie to Boost C++ libraries. I was wondering if there are any advantages of Boost bjam over GNU make? And what are the cons if I use make for building C++ code utilizing Boost.Python libraries?
If you are going to use other Boost libraries then using bjam may make sense, but, from a simple point of view, make is very complicated to work with, for a complex project, which is why ant, for example was developed.
Bjam extends other projects that started with trying to replace make.
But, on the downside, make is found on every unix OS, bjam isn't, but, if you have to use Boost libraries for your project then you can make certain it is included.
For your project I think bjam may be the best option, but if you were writing a portable project that others would need to compile, using ANSI C++, then I would suggest also supporting GNU Make.
For building boost itself, bjam is the way to go, by far. Just follow the readme and construct the command line. You may (should) only have to do it once per boost release.
But, there's no need whatever to tie your own project that uses boost to boost's build-system.
There are no particular cons to using gmake to build C++ code that uses Boost.Python, and the pro is that there are plenty of examples of using gmake around.