4 ms·
Congratulations! You have invented the Makefile.
by TOGoS 13y ago
Congratulations! You have invented the Makefile.
- zeckalpha 13y agoMake files aren't usually literate.
- contingencies 13y ago"Oh yeah? And who made you the literati?" :) Totally correct, actually. Makefiles are the cruft of ages distilled through a minimum of ten little-understood tools of the ancients, classically employing a minimum of four distinct languages. Some replacements have been popping up of late... scons seems nice.
- malandrew 13y agoI'd love more details on your comment. What ten little understood tools and what four distinct languages?
- contingencies 13y agoHaha. It was more in jest as a caricature. You know... sed and awk are usually in there somewhere. bc. Some formal grammar from a parser generator or other. Maybe some document build system. Plus the core language(s) of the source code. Some obscure shell indirection or trickery. And perl, for good measure.
- malandrew 13y agobut not because they can't be. They aren't usually literate because few people spend the time to actually master make and explore how other projects have built up their make files to learn what makes an excellent makefile. I would say that the terseness of the syntax and use of pipes makes it very literate once you know enough of the low level syntax of tools like sed, grep and awk to read them likes sentence fragments joined by pipes. It's parses very linearly as each line usually reads like a complete compound "do this, then this, then this" sentence describing a bunch of steps sequentially.