Comment by krautsauer

20 days ago

Make is incredibly cursed. My favorite example is it having a built-in rule (oversimplified, some extra Makefile code that is pretended to exist in every Makefile) that will extract files from a version control system. https://www.gnu.org/software/make/manual/html_node/Catalogue...

What you're saying is essentially ”Just Write Bash Scripts”, but with an extra layer of insanity on top. I hate it when I encounter a project like this.

No I'm saying use Makefiles, which work just fine. Mark your targets with PHONY and move on.

  • You still get bash scripts in the targets, with $ escape hell and weirdness around multiline scripts, ordering & parallelism control headaches, and no support for background services.

    The only sane use for Makefiles is running a few simple commands in independent targets, but do you really need make then?

    (The argument that "everyone has it installed" is moot to me. I don't.)