Emacs make-mode doesn't know that ?= is a valid macro assignment operator, so it doesn't know how to fontify it. I'll attach a patch.
Grr. Bugzilla is busted right now and won't let me attach the patch as a separate file. Here it is: --- /usr/share/emacs/20.7/lisp/progmodes/make-mode.el Sat Feb 6 23:01:34 1999 +++ /tmp/make-mode.el Wed Jul 25 14:12:16 2001 @@ -241,7 +241,7 @@ ;; that if you change this regexp you might have to fix the imenu ;; index in makefile-imenu-generic-expression. (defconst makefile-macroassign-regex - "^ *\\([^ \n\t][^:#= \t\n]*\\)[ \t]*[*:+]?:?=" + "^ *\\([^ \n\t][^:#= \t\n]*\\)[ \t]*[*:+]?[:?]?=" "Regex used to find macro assignment lines in a makefile.") (defconst makefile-ignored-files-in-pickup-regex
Will add. Bugs with patches are my preferred kind :)
Do you have any example makefiles using this?
Here's one: ---cut here--- FOO1 = bar FOO2 := bar FOO3 ?= bar ---cut here--- The first two lines will be colorized correctly without my fix. The third one won't.
Fixed in emacs 20.7-41