Variable assignment types in Makefiles
= or := or ?= or +=
http://stackoverflow.com/questions/448910/makefile-variable-assignment
Blunders of recursive variables
http://electric-cloud.com/blog/2009/03/makefile-performance-shell/
VPATH & vpath
http://www.cmcrossroads.com/article/basics-vpath-and-vpath
Running external commands using $(shell)
http://electric-cloud.com/blog/2009/03/makefile-performance-shell/