Hey everyone.

I found a bug in makefile-mode fontification.

Currently shell-commands/make-instructions within a target may get fontified as make-targets if they contain a : (colon) sign.

Consider the following make-target:

------- Makefile ------

run-docker: build-docker
docker run -p 8080:8080 imagename

--------------------------

This defined a make-target called "run-docker" which depends on "build-docker", which runs the command "docker run -p 8080:8080 imagename".

In the current code, since the command contains a ":" the whole text up to that point ("docker run -p 8080") gets fontified as a make-target, even though it's clearly not declared at the beginning of the line.

Based on my digging, this seems to be due to the matching criteria defined in makefile-dependency-regex.

A common pattern used in this regex is "[^\n$#]" (with slight variations), which (from how I read regexps) aims to match anything which is not a lineshift, a $-sign or a #-sign.

"Anything" in this case would then also include whitespace, which IMO is the source of the bug.

I've tried changing this part of the statement in parts of the regex to "[^\n\s$#]", like in the attached patch. Ie also exclude leading whitespace. From what I've tested, it does not seem to have any adverse effects, although I may not have tested all areas affected by this change.

Feel free to test the suggested changes, and let me know if they can be improved in any way.