Lint a GNU Makefile for the classic tab-vs-spaces "missing separator" mistake, duplicate target definitions, undefined variables and target references, and phony-looking targets missing from .PHONY; or generate a starter Makefile from a Node.js/Go/Generic preset with editable variables, .PHONY targets, and target dependencies — entirely client-side.
Paste a Makefile above to check for the tab-vs-spaces "missing separator" mistake, duplicate targets, undefined variables and targets, and missing .PHONY declarations.
Client-side heuristic linter for GNU Makefiles — checks recipe-line tab/space separators, duplicate target definitions, targets/variables referenced but never defined, and phony-looking targets missing from .PHONY. It parses line-by-line rather than running a real Make preprocessor, so "undefined target" findings are informational — they may simply be real files that exist on disk.
Lint a GNU Makefile for the classic tab-vs-spaces "missing separator" mistake, duplicate target definitions, undefined variables and target references, and phony-looking targets missing from .PHONY; or generate a starter Makefile from a Node.js/Go/Generic preset with editable variables, .PHONY targets, and target dependencies — entirely client-side.
Yes. Makefile Linter can find the missing tab causing "*** missing separator", directly in your browser.
Yes. Makefile Linter can check for targets missing from .PHONY, directly in your browser.
Yes. Makefile Linter can spot a duplicate target definition, directly in your browser.
No. This tool runs entirely in your browser — your input is processed locally on your device and is never uploaded or stored on a server.