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.")