make is one of UNIX's greatest contributions to software development, and this book is the clearest description of make ever written. Even the smallest software project typically involves a number of files that depend upon each other in various ways. If you modify one or more source files, you must relink the program after recompiling some, but not necessarily all, of the sources. make greatly simplifies this process. By recording the relationships between sets of files, make can automatically perform all the necessary updating.For large projects with teams of programmers and multiple releases, make becomes even more critical. But in order to avoid spending a major portion of your maintenance budget on maintaining the Makefiles , you need a system for handling directories, dependencies, and macro definitions. This book describes all the basic features of make and provides guidelines on meeting the needs of large, modern projects.Some of the issues addressed in the second edition
reminded me that I haven't shared my own awesome technical joke with a wider audience. Here it is:
Q: What's the difference between a UNIX programmer and a hippy?
A: UNIX programmers love make.
I promise you I haven't got any more of those. Well, maybe one or two. But out of consideration for your feelings, I'll save them for another day. _____________________ [Update, May 13 2023]
I told this joke to Bard, and it didn't get it at all. However, ChatGPT-4 gets it at once.
This could be termed as a reference book on make and may introduce you to new flags and options that you had not noticed before. I think, the best way to learn make is to still write Makefiles by hand and try something new everytime. Glancing through this book or man page of make may help you give new ideas to try. For e.g. helped me to look at -p option. After a point in time, I had to glance through the descriptions of the myraid options that make has.
It's only a matter of time when using a UNIX based OS before you find yourself using/reading/creating a makefile. This book served as a good introduction. Only giving it 3 stars as I have nothing to compare it to. It answered the questions I needed and after reading a couple of chapters, I was confident to start writing my own makefile from scratch. Recommend to anyone wanting to play with make!
This book is a good introduction for beginners, familiarizing you with some very useful tricks and general good practices. I was a fairly familiar with Makefiles when I started reading this book, hoping to fill any missing information and I was very pleased with it. A definitely useful book, not too big or boring, teaching you the powers and weaknesses of Makefiles