Makefiles are actually great! Just not as a build system.
If you have a project where you need to do a thing, you can instead make a Makefile to do the thing:
thing:
some shell command
that's it, now you get to type `make thing`.The power is the generality: it can wrap any command, from jq to curl to whatever. It's perfect for small, weird workflows which don't naturally fit into other build systems.
But don't use it for C++!