Check out my first novel, midnight's simulacra!

Makelint

From dankwiki
Revision as of 05:55, 2 June 2010 by Dank (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

lint (static analysis) for GNU Make.

Checks

  • Tabs rather than spaces in target definitions
  • Unconditional definition of common variables (CC, CFLAGS, etc)
  • Unnecessary specification of tools (gcc, install, etc)
  • Use of hardcoded paths outside the tree
  • Failure to use .DELETE_ON_ERROR:
  • Incomplete use of PHONY
  • Use of undefined variables
  • Duplicate targets
  • Redefinition of variables (rather than aggregation)
  • Invalid use of automatic variables ($< with no deps, etc)