That's true of every language, yes?
It always starts with `print 'Hello world'`, but it never stays that simple.
It always starts with `print 'Hello world'`, but it never stays that simple.
Make is pretty darn far down the "deeply inconsistent and error-prone" side of things when you try to do anything correctly and reliably with it, particularly on multiple systems and across various implementations/versions. It survives because it's ubiquitous and just barely good enough.
The only complexity there is getting it installed on everyone's machine, but that's true of most tooling, even the common stuff given versions won't match. I solve that with Nix.