Make is the grilling of the hacker world. You just want to light up some quality lumpwood charcoal and get a nice smokey crust on some steaks, cook up some hamburgers, and crisp up some chicken for your guests over the course of an afternoon… …but oh no there is a constant stream of inquisitive folk coming over, beer in hand, suggesting cool adjustments / hacks / “improvements” to your setup. With grilling it’s actua…
But it is the opposite of beauty, or elegance, or organization.
Honestly all the millions of man months that have gone into writing makefiles should have gone into making make more usable.
for example:
all the implicit rules in this article? Nobody¹ uses them, they should just be explicit.
You shold explicitly distinguish between a target and a file and a directory. don't let them depend on each other helter-skelter.
indent, tabs, spaces. what a mess.
requiring continuation lines and juggling return codes?
macros that break with whitespace?
I could go on, but ugh.
I actually like cmake better than make. Just having IF statements and a flow makes things more understandable. But yeah, you trade one set of problems for another.
look up "modern cmake" and you'll see the nitty-gritty between nice theory and ugly practice.
[1] for practical purposes