Organization of the book

This book is partitioned into following parts.

  1. First, it covers Basic Compilation:

Writing a basic Makefile to build sample source file. Increase the complexity a little bit to compile more than one file.

  1. Then, it introduces Makefile Generators:

Writing and maintaining complex Makefiles is no fun.

Given a choice that you can opt to implement something either with C++ or C, there is a big chance that you would prefer C++ over C. You may not use all the offerings of C++, but still choose it over C. On the same lines, if you can use much higher languages like Python, Ruby, C#, etc. you would try to abstain from C or C++.

In a similar sense, if you can use Premake or CMake builders, you should basically try to abstain from RAW Makefiles. Using advanced make Makefile generators like Premake or CMake would eventually make things more maintainable.