← Back to context

Comment by unscaled

2 years ago

To be fair, YAML 1.2 does not suffer from the "Norway Problem", but YAML is still a rather complex format.

I feel like the Makefile syntax has some pesky warts, like not breaking when there are spaces in filenames, requiring tabs[1], the ceremony around PHONY targets... If you take the legacy stuff out of make,

[1] Apparently it can be fixed with a complex .RECIPEPREFIX incantation which behaves differently in different versions of GNU make, and was conveniently added just one minor version after Apple has graciously decided to stop updating all their GNU software versions.

Redo, ninja and tup seems like trying to do that, with their own twists, but none of them really managed to nudge make out;

I use make for (among other things) transforming files; batch compression being the simplest example, so all one requires is a rule saying %.log.xz : %.log and all is well.

But if people have colons in filenames, for example for timestamps, all bets are off, and make chokes spectacularly.

  • And that really sucks in Windows because every absolute path contains a colon. Not that absolute paths are common in makefiles, but it's not something that should break on a major platform.