Feature: Warn on missing task definitions
checkmake has some odd behavior regarding phony targets. It specifies several minimum phony targets, such as all, clean, and test. But it doesn't actually validate whether the tasks are defined.
(GNU) make doesn't appear to care about undefined tasks until very late, when the task is explicitly invoked.
A linter such as checkmake would be a natural place to insert a new rule, that validates that all tasks referenced in a makefile, are actually defined somewhere.
@mcandre is your concern about rules/tasks referenced as depenencies of other rule like bar: foo or about
explicit invocation such as $(MAKE) foo?
The former. Wanna catch simple typos before build systems run.
This is tricky to implement accurately, see unmake's current lack of support for implicit rules.