Check out my first novel, midnight's simulacra!

Makelint: Difference between revisions

From dankwiki
No edit summary
No edit summary
 
Line 6: Line 6:
* Unnecessary specification of tools (<tt>gcc</tt>, <tt>install</tt>, etc)
* Unnecessary specification of tools (<tt>gcc</tt>, <tt>install</tt>, etc)
* Use of hardcoded paths outside the tree
* 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)

Latest revision as of 05:55, 2 June 2010

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)