Variable: makefile-dependency-regex
makefile-dependency-regex is a variable defined in make-mode.el.gz.
Value
"^\\(\\(?:\\$\\(?:[({]\\(?:\\$\\(?:[({]\\(?:\\$\\(?:[({][^\n$#})]+?[})]\\|[^({]\\)\\|[^\n$#)}]\\)+?[})]\\|[^({]\\)\\|[^\n$#)}]\\)+?[})]\\|[^({]\\)\\|[^\n$# :=]\\)+?\\)\\(:\\)\\(?:[ ]*$\\|[^=\n]\\(?:[^#\n]*?;[ ]*\\(.+\\)\\)?\\)"
Documentation
Regex used to find dependency lines in a makefile.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/make-mode.el.gz
;; Note that the first big subexpression is used by font lock. Note
;; that if you change this regexp you might have to fix the imenu
;; index in makefile-imenu-generic-expression.
(defvar makefile-dependency-regex
(letrec ((elems-re
(lambda (n &optional outer)
(if (< n 1)
"[^\n$#})]+?"
(concat "\\(?:\\$\\(?:"
"[({]" (funcall elems-re (- n 1)) "[})]"
"\\|[^({]\\)"
"\\|[^\n$#" (if outer "\t:=" ")}") "]\\)+?")))))
(concat
;; Allow for two nested levels $(v1:$(v2:$(v3:a=b)=c)=d)
"^\\(" (funcall elems-re 3 'outer)
"\\)\\(:\\)\\(?:[ \t]*$\\|[^=\n]\\(?:[^#\n]*?;[ \t]*\\(.+\\)\\)?\\)"))
"Regex used to find dependency lines in a makefile.")