Introduction

There are only two kinds of C/C++ Software Build Systems:

  1. Good.

  2. Not so Good.

  3. NO. There is no third kind.

The not so good C/C++ Software Build Systems would eventually be replaced by something that is better than the existing C/C++ Software Build Systems. On the contrary, the Good C/C++ Software Build Systems would never undergo any major/visible change. And for most of the developers, such a C/C++ Software Build Systems would be a very opaque system. A good C/C++ Software Build Systems would, on its own, work as an invisible gel that is used to build up the Software stack.

It is not a good idea to learn from a not so good Software build system. And, since a good C/C++ Software Build Systems would evolve to be an invisible/opaque system, it would be a difficult task to learn from such a system.

To cover above scenarios, approach of this book is to take things practically.