Good tutorial
btw if you are working on very large projects like OS , Desktop Environments , PDF reader what not ... then generally sometihng more automatic than make is desired hence some good coders came up with
[1] Auto tools (Cross Platform , characterized by command ./configure ;) ,used by gnome DE )
[2] Cmake (Cross Platform , cmake . [with a dot], used by KDE )
[3] Qmake build system (Cross Platform )
[4] Nmake build system (Windows only platform)
[5] Ant build system (Specially for Java)
[1],[2],[3] essentially configure and generate a Makefile , so you don't have to write make file , but if you still love old-school geek'ism ..you can always hand code Makefile as explained in the excellent tutorial .. do give it a try
IMHO cmake is one of the easiest build systems out there .