Why not just use make? I am constantly confused by people reinventing the wheel with new syntax and little benefit
I wish there was a flag for make which set it to be a command runner by default for the current makefile.
The whole difference of Makefiles, their original idea was to not re-compile a target _file_ if it's already there. So if you need .PHONY -- you're using Makefiles wrongly.
This is a sect and global trend to reinvent and re-implement the wheel with the Rust :D