syntax "Makefile" "([Mm]akefile|\.ma?k)$" header "^#!.*/(env +)?[bg]?make( |$)" color cyan "\<(ifeq|ifdef|ifneq|ifndef|else|endif)\>" color cyan "^(export|include|override)\>" color magenta "^[^:= ]+:" color magenta "^[^:+ ]+\+" color red "[=,%]" "\+=|\?=|:=|&&|\|\|" color blue "\$\((abspath|addprefix|addsuffix|and|basename|call|dir)[[:space:]]" color blue "\$\((error|eval|filter|filter-out|findstring|firstword)[[:space:]]" color blue "\$\((flavor|foreach|if|info|join|lastword|notdir|or)[[:space:]]" color blue "\$\((origin|patsubst|realpath|shell|sort|strip|suffix)[[:space:]]" color blue "\$\((value|warning|wildcard|word|wordlist|words)[[:space:]]" color black "[()$]" color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'" color yellow "\$+(\{[^} ]+\}|\([^) ]+\))" color yellow "\$[@^<*?%|+]|\$\([@^<*?%+-][DF]\)" color magenta "\$\$|\\.?" color black "(^|[[:space:]])#([^{].*)?$" color black "^ @#.*" # Show trailing whitespace color ,green "[[:space:]]+$"