I typically do not share articles on this blog but I found this white paper today which was very enlightening and doesn’t seem to have gotten the deserved attention. The author has done an excellent job of explaining the shortcomings of GNU Make. I now question why I use Make:-)
Below is excerpt and a link to the article. Since the original post doesn’t have space for comments, we can use this post for our discussion.
GNU
makeis a widely used tool for automating software builds. It is the de facto standard build tool on Unix. It is less popular among Windows developers, but even there it has spawned imitators such as Microsoft’snmake.Despite its popularity,
makeis a deeply flawed tool. Its reliability is suspect; its performance is poor, especially for large projects; and its makefile language is arcane and lacks basic language features that we take for granted in other programming languages.Admittedly,
makeis not the only automated build tool. Many other tools have been built to addressmake’s limitations. Some of these tools are clearly better thanmake, butmake’s popularity endures. The goal of this document is, very simply, to educate you about some of the issues withmake—to increase awareness of these problems.

