Not to make to fine a point of it but Make doesn't make sense in every situation or to every programmer. Sometimes the learning curve for Make makes writing one's own build tool make sense. Sometimes it doesn't make sense either and learning Make may make Make a better option for making software over the long term.
Make is an existing, well documented tool that exists specifically to build targets (run commands) only when the prerequisites for that target have changed.
My "question" was rhetorical. The implied actual question is "why this, when make exists".
Yeah! You can enforce that using git hooks, but you will still need to place some logic to check which files has been changed right and what to do in those scenarios
Isn't that literally what make does?