Complete makefile toolkit with generation and validation capabilities
97
97%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Advisory
Suggest reviewing before use
{
"context": "Tests that the agent identifies the missing .PHONY declarations and tab-vs-space indentation issues, fixes them in the corrected Makefile, and explains why both matter.",
"type": "weighted_checklist",
"checklist": [
{
"name": ".PHONY declared",
"description": "The corrected Makefile includes a .PHONY declaration listing the non-file targets (all, build, test, clean, lint, install, or subset thereof)",
"max_score": 20
},
{
"name": ".PHONY issue explained",
"description": "audit-notes.md explains that without .PHONY, a file named 'clean' (or similar) would cause Make to silently skip the target",
"max_score": 15
},
{
"name": "Tab indentation in recipes",
"description": "The corrected Makefile uses hard tab characters (not spaces) at the start of recipe lines",
"max_score": 20
},
{
"name": "Tab issue explained",
"description": "audit-notes.md explains that spaces instead of tabs cause 'missing separator' errors in GNU Make",
"max_score": 15
},
{
"name": "rm unquoted variable noted",
"description": "audit-notes.md identifies or the corrected Makefile quotes the $(VENV) variable in the rm -rf command (e.g., rm -rf \"$(VENV)\")",
"max_score": 15
},
{
"name": "All non-file targets covered",
"description": "The .PHONY declaration includes at least 'clean' and 'test' (the two targets most likely to conflict with filesystem names)",
"max_score": 10
},
{
"name": "Validation approach mentioned",
"description": "audit-notes.md or the agent output references using make -n or a validation tool to detect the issues",
"max_score": 5
}
]
}