Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Make has its place as a build tool for large C codebases.

People sometimes treat it as a generic “project specific job runner”, which it’s not a good fit for. Even simple conditionals are difficult.

I’ve seen several well-intentioned attempts at wrapping Terraform with it, for example, which have ended terribly.



It’s not a generic job runner. It’s a generic way to transform linear shell scripts into declarative dependencies. It’s a general tool for the shell.


> Make has its place as a build tool for large C codebases.

This is no longer true imo.

More robust and well-defined build systems have been created in the last 2 decades. Time to update.


Is there a good generic job runner?

Edit: Sorry, it looks like I totally misunderstood what you meant by "job runner".


Sure, a bash script.

People keep writing and using other alternatives (like just), which provide a very slight improvement on pure shell at the cost of installing yet another tool everywhere.

I stick with bash, write every task as a separate function, and multiplex between them with a case statement (which supports globs et al. and is very readable).


Years ago, I discovered git-rev-parse's option parsing, and it completely removed any excuse I had not to write my own personal bash scripts to a professional standard.

Now when I need a tool, I can knock it out in bash with proper option parsing, usage, etc.

bash is awful on a lot of fronts, but if you're writing code that's primarily calling a bunch of tools and mucking with their output, it's still the best thing out there I've found just due to piping syntax.


Taskfile and Justfile are pretty solid.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: