Just [0] was discussed on HN. I think I'll give that a shot next time I have to write something like this. .PHONY is lame.
Super ergonomic.
Though I have to admit, Go and Rust projects hardly needed `just`; the `go` program and the `cargo` tool are that good. I used `just` in them mostly to have short aliases and common names for tasks.
It depends on what you're producing as output.
One of my golang projects needs `-s -w -X '' -trimpath` along with separate GOOS and GOARCH depending on platform.
It is nice to have all that documented in a build file.
There's some good things about Makefiles, yes, but there's also a lot of weird legacy functionality. Make was meant to create files and directories, and the .PHONY functionality seems to be a workaround added to make it usable as a general-purpose task runner.