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 replaces bare 'make' calls with '$(MAKE)', adds .ONESHELL for multi-step shell recipe reliability, and explains the parallel build jobserver issue.",
"type": "weighted_checklist",
"checklist": [
{
"name": "$(MAKE) in build target",
"description": "The corrected Makefile's build target uses $(MAKE) instead of bare 'make' for recursive sub-project calls",
"max_score": 15
},
{
"name": "$(MAKE) in test target",
"description": "The corrected Makefile's test target uses $(MAKE) instead of bare 'make'",
"max_score": 10
},
{
"name": "$(MAKE) in deploy target",
"description": "The corrected Makefile's deploy target uses $(MAKE) instead of bare 'make'",
"max_score": 10
},
{
"name": "$(MAKE) in clean target",
"description": "The corrected Makefile's clean target uses $(MAKE) instead of bare 'make'",
"max_score": 10
},
{
"name": "Bare make risk explained",
"description": "fix-notes.md explains that bare 'make' does not inherit jobserver flags and breaks parallel builds with -j",
"max_score": 15
},
{
"name": ".ONESHELL or equivalent addressed",
"description": "The corrected Makefile adds .ONESHELL OR fix-notes.md explains that .ONESHELL would prevent the multi-step script from continuing past failures",
"max_score": 15
},
{
"name": ".ONESHELL benefit explained",
"description": "fix-notes.md explains how .ONESHELL affects multi-step recipe error handling",
"max_score": 10
},
{
"name": "All recursive calls fixed",
"description": "All four targets (build, test, deploy, clean) that contained bare 'make -C' calls are updated to '$(MAKE) -C'",
"max_score": 15
}
]
}