@@ write "t: p" instead of "t : p" or "t :p" @@ write $(call f,a) instead of $(call f, a) or $(call f , a) @@ Use '-' to separate words in function names (e.g. foo-bar); use 'define' to define functions. @@ Use '_' to separate words in variable names (e.g. foo_bar); use := to assign value to a variable. Use '=' if you know what you are doing. @@ Be careful with += in target-specific variables. @@ Action explicitly requested by the user (which should correspond to verbs, e.g. install, clean, configure) should perform without regards to up-to-dateness. @@ Use verbs for .PHONY targets. There is one notable exception:... @! maybe declare `__' variable prefix reserved? @@ Use directory name as a default phony target in directory makefiles. (explain why).