;ELC   
;;; Compiled
;;; in Emacs version 30.2
;;; with all optimizations.


#@64 Face to use for highlighting leading spaces in Font-Lock mode.
(byte-code "\300\301!\210\302\303\304\305\306\307\310\311\312\313&	\207" [require subr-x custom-declare-group makefile nil "Makefile editing commands for Emacs." :link (custom-group-link :tag "Font Lock Faces group" font-lock-faces) :group tools :prefix "makefile-"] 10)
(custom-declare-face 'makefile-space '((((class color)) (:background "hotpink")) (t (:reverse-video t))) '(#$ . 83))#@75 Face to use for additionally highlighting rule targets in Font-Lock mode.
(custom-declare-face 'makefile-targets '((t (:inherit font-lock-function-name-face))) '(#$ . 539) :version "22.1")#@77 Face to use for additionally highlighting Shell commands in Font-Lock mode.
(custom-declare-face 'makefile-shell '((t (:inherit default))) '(#$ . 733) :version "22.1")#@72 Face to use for additionally highlighting Perl code in Font-Lock mode.
(custom-declare-face 'makefile-makepp-perl '((((class color) (background light)) (:background "LightBlue1")) (((class color) (background dark)) (:background "DarkBlue")) (t (:reverse-video t))) '(#$ . 906) :version "22.1")#@47 Name of the macro- and target browser buffer.#@2 #@107 String to append to all target names inserted by `makefile-insert-target'.
":" or "::" are common values.#@287 String to append to all macro names inserted by `makefile-insert-macro'.
The normal value should be " = ", since this is what
standard make expects.  However, newer makes such as dmake
allow a larger variety of different macro assignments, so you
might prefer to use " += " or " := " .#@80 If non-nil, Makefile mode should install electric keybindings.
Default is nil.#@166 Controls the style of generated macro references.
Non-nil means macro references should use curly braces, like `${this}'.
nil means use parentheses, like `$(this)'.#@98 If non-nil, insert a TAB after a target colon.
Otherwise, a space is inserted.
The default is t.#@61 Number of blanks to the left of the browser selection mark.#@77 Column the cursor goes to when it moves up or down in the Makefile browser.#@66 Column in which `makefile-backslash-region' inserts backslashes.#@65 If non-nil, `makefile-backslash-region' will align backslashes.#@63 String used to mark selected entries in the Makefile browser.#@65 String used to mark unselected entries in the Makefile browser.#@74 If non-nil, cursor will move after item is selected in Makefile browser.#@166 If non-nil, `makefile-pickup-everything' picks up filenames as targets.
This means it calls `makefile-pickup-filenames-as-targets'.
Otherwise filenames are omitted.#@312 If non-nil, automatically clean up continuation lines when saving.
A line is cleaned up by removing all whitespace following a trailing
backslash.  This is done silently.
IMPORTANT: Please note that enabling this option causes Makefile mode
to MODIFY A FILE WITHOUT YOUR CONFIRMATION when "it seems necessary".#@37 Normal hook run by `makefile-mode'.
(byte-code "\300\301\302\303#\210\304\301\305\306\307DD\310\311\312%\210\304\313\305\306\314DD\315\311\312%\210\304\316\305\306\317DD\320\311\312%\210\304\321\305\306\322DD\323\311\324%\210\304\325\305\306\326DD\327\311\324%\210\304\330\305\306\331DD\332\311\324%\210\300\333\302\303#\210\304\333\305\306\334DD\335\311\336%\210\300\337\302\303#\210\304\337\305\306\340DD\341\311\336%\210\304\342\305\306\343DD\344\311\336%\210\304\345\305\306\346DD\347\311\324%\210\300\350\302\303#\210\304\350\305\306\351DD\352\311\312%\210\300\353\302\303#\210\304\353\305\306\354DD\355\311\312%\210\300\356\302\303#\210\304\356\305\306\357DD\360\311\324%\210\304\361\305\306\362DD\363\311\324%\210\304\364\305\306\365DD\366\311\324%\210\304\367\305\306\370DD\371\311\372%\210\300\373\302\303#\207" [make-obsolete-variable makefile-browser-buffer-name nil "30.1" custom-declare-variable funcall function #[0 "\300\207" ["*Macros and Targets*"] 1 (#$ . 1255)] (#$ . 1205) :type string makefile-target-colon #[0 "\300\207" [":"] 1 (#$ . 1255)] (#$ . 1262) makefile-macro-assign #[0 "\300\207" [" = "] 1 (#$ . 1255)] (#$ . 1374) makefile-electric-keys #[0 "\300\207" [nil] 1 (#$ . 1255)] (#$ . 1665) boolean makefile-use-curly-braces-for-macros-p #[0 "\300\207" [nil] 1 (#$ . 1255)] (#$ . 1750) makefile-tab-after-target-colon #[0 "\300\207" [t] 1 (#$ . 1255)] (#$ . 1920) makefile-browser-leftmost-column #[0 "\300\207" [10] 1 (#$ . 1255)] (#$ . 2022) integer makefile-browser-cursor-column #[0 "\300\207" [10] 1 (#$ . 1255)] (#$ . 2087) makefile-backslash-column #[0 "\300\207" [48] 1 (#$ . 1255)] (#$ . 2168) makefile-backslash-align #[0 "\300\207" [t] 1 (#$ . 1255)] (#$ . 2238) makefile-browser-selected-mark #[0 "\300\207" ["+  "] 1 (#$ . 1255)] (#$ . 2307) makefile-browser-unselected-mark #[0 "\300\207" ["   "] 1 (#$ . 1255)] (#$ . 2374) makefile-browser-auto-advance-after-selection-p #[0 "\300\207" [t] 1 (#$ . 1255)] (#$ . 2443) makefile-pickup-everything-picks-up-filenames-p #[0 "\300\207" [nil] 1 (#$ . 1255)] (#$ . 2522) makefile-cleanup-continuations #[0 "\300\207" [nil] 1 (#$ . 1255)] (#$ . 2693) makefile-mode-hook #[0 "\300\207" [nil] 1 (#$ . 1255)] (#$ . 3009) hook makefile-browser-hook] 6)
(defvar makefile-browser-hook nil)#@164 List of special targets.
You will be offered to complete on one of those in the minibuffer whenever
you enter a "." at the beginning of a line in `makefile-mode'.#@238 List of macros that are resolved by make at runtime.
If you insert a macro reference using `makefile-insert-macro-ref', the name
of the macro is checked against this list.  If it can be found its name will
not be enclosed in { } or ( ).#@52 Regex used to find dependency lines in a makefile.
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\315%\207" [custom-declare-variable makefile-special-targets-list funcall function #[0 "\300\207" [("DEFAULT" "DONE" "ERROR" "EXPORT" "FAILED" "GROUPEPILOG" "GROUPPROLOG" "IGNORE" "IMPORT" "INCLUDE" "INCLUDEDIRS" "INIT" "KEEP_STATE" "MAKEFILES" "MAKE_VERSION" "NO_PARALLEL" "PARALLEL" "PHONY" "PRECIOUS" "REMOVE" "SCCS_GET" "SILENT" "SOURCE" "SUFFIXES" "WAIT" "c.o" "C.o" "m.o" "el.elc" "y.c" "s.o")] 1 (#$ . 1255)] (#$ . 5283) :type (repeat string) :risky t makefile-runtime-macros-list #[0 "\300\207" [(("@") ("&") (">") ("<") ("*") ("^") ("+") ("?") ("%") ("$"))] 1 (#$ . 1255)] (#$ . 5452) (repeat (list string))] 8)
(defvar makefile-dependency-regex "^\\(\\(?:\\$\\(?:[({]\\(?:\\$\\(?:[({]\\(?:\\$\\(?:[^({]\\|.[^\n$#})]+?[})]\\)\\|[^\n$#)}]\\)+?[})]\\|[^({]\\)\\|[^\n$#)}]\\)+?[})]\\|[^({]\\)\\|[^\n$#:=]\\)+?\\)\\(:\\)\\(?:[ 	]*$\\|[^=\n]\\(?:[^#\n]*?;[ 	]*\\(.+\\)\\)?\\)" (#$ . 5694))#@56 Regex used to find dependency lines in a BSD makefile.
(defconst makefile-bsdmake-dependency-regex (byte-code "\301\302\"\210\303\304\305\211$\207" [makefile-dependency-regex string-match "\\\\(:\\\\)" replace-match "\\([:!]\\)" t] 5) (#$ . 6734))#@63 Characters to skip to find a line that might be a dependency.
(defvar makefile-dependency-skip "^:" (#$ . 6989))#@62 Regex used to highlight rule action lines in font lock mode.
(defvar makefile-rule-action-regex "^	[ 	]*\\(?:\\([-@]+\\)[ 	]*\\)\\(.*\\(?:\\\\\n.*\\)*\\)" (#$ . 7107))#@69 Regex used to highlight makepp rule action lines in font lock mode.
(defconst makefile-makepp-rule-action-regex "^	[ 	]*\\(\\(?:\\(?:noecho\\|ignore[-_]error\\|[-@]+\\)[ 	]*\\)*\\)\\(\\(&\\S +\\)?\\(?:.*\\\\\n\\)*.*\\)" (#$ . 7280))#@66 Regex used to highlight BSD rule action lines in font lock mode.
(defconst makefile-bsdmake-rule-action-regex (string-replace "-@" "-+@" makefile-rule-action-regex) (#$ . 7518))#@58 Regex used to find macro assignment lines in a makefile.
(defconst makefile-macroassign-regex "\\(?:^\\|^export\\|^override\\|:\\|:[ 	]*override\\)[ 	]*\\([^ \n	][^:#= 	\n]*\\)[ 	]*\\(?:!=\\|[*:+]?[:?]?=\\)" (#$ . 7701))#@49 Regex used to find $(macro) uses in a makefile.
(defconst makefile-var-use-regex "\\(^\\|[^$]\\)\\$[({]\\([-a-zA-Z0-9_.]+\\|[@%<?^+*][FD]?\\)" (#$ . 7927))#@67 Regex for filenames that will NOT be included in the target list.
(defconst makefile-ignored-files-in-pickup-regex "\\(^\\..*\\)\\|\\(.*~$\\)\\|\\(.*,v$\\)\\|\\(\\.[chy]\\)" (#$ . 8088))
(defvar makefile-space 'makefile-space (#$ . 83))#@47 List of keywords understood by standard make.
(defconst makefile-statements '("include") (#$ . 8330))#@42 List of keywords understood by automake.
(defconst makefile-automake-statements (byte-code "\301\302\303BBB\207" [makefile-statements "if" "else" "endif"] 4) (#$ . 8437))#@39 List of keywords understood by gmake.
(defconst makefile-gmake-statements (byte-code "\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317ABBBBBBBBBBBBBBB\207" [makefile-automake-statements "-sinclude" "sinclude" "ifdef" "ifndef" "ifeq" "ifneq" "-include" "define" "endef" "export" "override define" "override" "unexport" "vpath" "undefine"] 16) (#$ . 8614))
(defconst makefile-makepp-statements (byte-code "\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377\201@ \201A \201B \201C AABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\207" [makefile-gmake-statements t "ifperl" "ifmakeperl" "ifsys" "ifnsys" "iftrue" "ifntrue" "and ifdef" "and ifndef" "and ifeq" "and ifneq" "and ifperl" "and ifmakeperl" "and ifsys" "and ifnsys" "and iftrue" "and ifntrue" "else ifdef" "else ifndef" "else ifeq" "else ifneq" "else ifperl" "else ifmakeperl" "else ifsys" "else ifnsys" "else iftrue" "else ifntrue" "or ifdef" "or ifndef" "or ifeq" "or ifneq" "or ifperl" "or ifmakeperl" "or ifsys" "or ifnsys" "or iftrue" "or ifntrue" "autoload" "build-cache" "build-check" "enddef" "export define" "global" "global build-cache" "global build-check" "global define" "global signature" "global override signature" "load-makefile" "make" "makeperl" "makesub" "no-implicit-load" "perl" "perl-begin" "perl-end" "prebuild" "override export" "override global" "register-parser" "register-command-parser" "register-input-suffix" "register-scanner" "repository" "runtime" "signature" "sub"] 68) (#$ . 8614))#@42 List of keywords understood by BSD make.
(defconst makefile-bsdmake-statements '("elif" "elifdef" "elifmake" "elifndef" "elifnmake" "else" "endfor" "endif" "for" "if" "ifdef" "ifmake" "ifndef" "ifnmake" "poison" "undef" "include") (#$ . 10330))#@64 

(fn VAR KEYWORDS SPACE &optional NEGATION &rest FL-KEYWORDS)
(defalias 'makefile-make-font-lock-keywords #[1155 "\301B\302\303B\304\305\306	\2054 \307\310\311\312@\313=\203) \310\314\315\316A\313\"#\202. \316\313\"#\317Q\320BC\205> \321BC\n\205D \322	\323%BBBBB\207" [makefile-macroassign-regex ((1 font-lock-variable-name-face) (2 'makefile-shell prepend t) (3 'font-lock-string-face prepend t)) (makefile-match-action (1 font-lock-type-face nil t) (2 'makefile-shell prepend) (3 font-lock-builtin-face prepend t)) (2 font-lock-variable-name-face prepend) ("[^$]\\$\\([@%<?^+*_]\\|[a-zA-Z0-9]\\>\\)" 1 font-lock-constant-face prepend) ("[^$]\\(\\$[@%*]\\)" 1 'makefile-targets append) append "^\\(?: [ 	]*\\)?" string-replace " " "[ 	]+" t "-" "[_-]" regexp-opt "\\>[ 	]*\\([^: 	\n#]*\\)" ((1 font-lock-keyword-face) (2 font-lock-variable-name-face)) ((1 font-lock-negation-char-face prepend) (2 font-lock-negation-char-face prepend t)) (("^[ 	]+$" . makefile-space) ("^	+#" 0 makefile-space t) ("^\\( +\\)	" 1 makefile-space)) ((makefile-match-dependency (1 'makefile-targets prepend) (3 'makefile-shell prepend t)))] 21 (#$ . 10580)])
(defconst makefile-font-lock-keywords (makefile-make-font-lock-keywords makefile-var-use-regex makefile-statements t))
(defconst makefile-automake-font-lock-keywords (makefile-make-font-lock-keywords makefile-var-use-regex makefile-automake-statements t))
(defconst makefile-gmake-font-lock-keywords (makefile-make-font-lock-keywords makefile-var-use-regex makefile-gmake-statements t "^\\(?: [ 	]*\\)?if\\(n\\)\\(?:def\\|eq\\)\\>" '("[^$]\\(\\$[({][@%*][DF][})]\\)" 1 'makefile-targets append) '("[^$]\\(\\$[@%*?+^|]\\)" 1 'makefile-targets append) '("[^$]\\$[({]\\([-a-zA-Z0-9_.]+\\s \\)" 1 font-lock-function-name-face prepend) '("[^$]\\$\\([({]\\)shell[ 	]+" makefile-match-function-end nil nil (1 'makefile-shell prepend t))))
(defconst makefile-makepp-font-lock-keywords (makefile-make-font-lock-keywords makefile-var-use-regex makefile-makepp-statements nil "^\\(?: [ 	]*\\)?\\(?:and[ 	]+\\|else[ 	]+\\|or[ 	]+\\)?if\\(n\\)\\(?:def\\|eq\\|sys\\|true\\)\\>" '("[^$]\\(\\$[({]\\(?:output\\|stem\\|target\\)s?\\_>.*?[})]\\)" 1 'makefile-targets append) '("\\(:\\s *\\)\\(build_c\\(?:ache\\|heck\\)\\|env\\(?:ironment\\)?\\|foreach\\|signature\\|scanner\\|quickscan\\|smartscan\\)\\>\\([^:\n]*\\)" (1 font-lock-type-face t) (2 font-lock-keyword-face t) (3 font-lock-variable-name-face t)) '("[^$]\\$\\(?:((?\\|{{?\\|\\[\\[?\\)\\([-a-zA-Z0-9_.]+\\s \\)" 1 font-lock-function-name-face prepend) '("[^$]\\$\\(((?\\|{{?\\|\\[\\[?\\)shell\\(?:[-_]\\(?:global[-_]\\)?once\\)?[ 	]+" makefile-match-function-end nil nil (1 'makefile-shell prepend t)) '("[^$]\\$\\(((?\\|{{?\\|\\[\\[?\\)makeperl[ 	]+" makefile-match-function-end nil nil (1 'makefile-makepp-perl prepend t)) '("[^$]\\$\\(((?\\|{{?\\)perl[ 	]+" makefile-match-function-end nil nil (1 'makefile-makepp-perl t t)) '("ifmakeperl\\s +\\(.*\\)" 1 'makefile-makepp-perl prepend) '("ifperl\\s +\\(.*\\)" 1 'makefile-makepp-perl t) '("\\<make\\(?:perl\\|sub\\s +\\S +\\)\\s *\n?\\s *{\\(?:{\\s *\n?\\(\\(?:.*\n\\)+?\\)\\s *}\\|\\s *\\(\\(?:.*?\\|\n?\\(?:.*\n\\)+?\\)\\)\\)}" (1 'makefile-makepp-perl prepend t) (2 'makefile-makepp-perl prepend t)) '("\\<\\(?:perl\\|sub\\s +\\S +\\)\\s *\n?\\s *{\\(?:{\\s *\n?\\(\\(?:.*\n\\)+?\\)\\s *}\\|\\s *\\(\\(?:.*?\\|\n?\\(?:.*\n\\)+?\\)\\)\\)}" (1 'makefile-makepp-perl t t) (2 'makefile-makepp-perl t t)) '("perl[-_]begin\\s *\\(?:\\s #.*\\)?\n\\(\\(?:.*\n\\)+?\\)\\s *perl[-_]end\\>" 1 'makefile-makepp-perl t)))
(defconst makefile-bsdmake-font-lock-keywords (byte-code "\302\303\304\305\306\307%\310\311	!\312Q\313BC\"\207" [makefile-var-use-regex makefile-bsdmake-statements append makefile-make-font-lock-keywords nil t "^\\(?: [ 	]*\\)?\\.\\(?:el\\)?if\\(n?\\)\\(?:def\\|make\\)?\\>[ 	]*\\(!?\\)" ("^[ 	]*\\.for[ 	].+[ 	]\\(in\\)\\>" 1 font-lock-keyword-face) "^\\. *" regexp-opt "\\>" (0 font-lock-keyword-face)] 7))
(defconst makefile-imake-font-lock-keywords (append '(("XCOMM.*$" . font-lock-comment-face) ("XVAR\\(?:use\\|def\\)[0-9]" 0 font-lock-keyword-face prepend) ("@@" . font-lock-preprocessor-face)) cpp-font-lock-keywords makefile-font-lock-keywords))#@18 

(fn START END)
(defconst makefile-syntax-propertize-function #[514 "b\210`W\2053 \300\301\302#\2053 \303\224\203\" \304\303\224\303\225\305\306$\210\202 \307\224\203 \304\307\224\307\225\305\310$\210\202 \207" [re-search-forward "[^|&;<>()`\\\"' 	\n]\\(#+\\)\\|\\(\\\\\n\\)" t 1 put-text-property syntax-table (3) 2 (1)] 7 (#$ . 14807)])#@78 Imenu generic expression for Makefile mode.  See `imenu-generic-expression'.
(defvar makefile-imenu-generic-expression (byte-code "\301\302\303BBD\207" [makefile-macroassign-regex ("Dependencies" makefile-previous-dependency 1) "Macro Assignment" (1)] 4) (#$ . 15158))#@122 How to invoke make, for `makefile-query-targets'.
This should identify a `make' command that can handle the `-q' option.#@531 Function to call to determine whether a make target is up to date.
The function must satisfy this calling convention:

* As its first argument, it must accept the name of the target to
  be checked, as a string.

* As its second argument, it may accept the name of a makefile
  as a string.  Depending on what you're going to do you may
  not need this.

* It must return the integer value 0 (zero) if the given target
  should be considered up-to-date in the context of the given
  makefile, any nonzero integer value otherwise.#@41 Name of the Up-to-date overview buffer.#@42 Abbrev table in use in Makefile buffers.#@43 The keymap that is used in Makefile mode.
(byte-code "\300\301\302\303\304DD\305\306\307%\210\310\311\312\313#\210\314\211\2032 \211@\311N\203- \312N\204- \315\312\311N#\210\210A\202 \210\316\311\312\317#\210\300\312\302\303\320DD\321\306\303%\210\300\322\302\303\323DD\324\306\307%\210\325\326\313\327#\207" [custom-declare-variable makefile-brave-make funcall function #[0 "\300\207" ["make"] 1 (#$ . 1255)] (#$ . 15434) :type string defvaralias makefile-query-one-target-method makefile-query-one-target-method-function nil (saved-value saved-variable-comment) put make-obsolete-variable "29.1" #[0 "\300\207" [makefile-query-by-make-minus-q] 1 (#$ . 1255)] (#$ . 15561) makefile-up-to-date-buffer-name #[0 "\300\207" ["*Makefile Up-to-date overview*"] 1 (#$ . 1255)] (#$ . 16096) define-abbrev-table makefile-mode-abbrev-table (#$ . 16141)] 7)
(defvar makefile-mode-map (define-keymap "C-c :" 'makefile-insert-target-ref "C-c C-f" 'makefile-pickup-filenames-as-targets "C-c C-b" 'makefile-switch-to-browser "C-c C-c" 'comment-region "C-c C-p" 'makefile-pickup-everything "C-c C-u" 'makefile-create-up-to-date-overview "C-c TAB" 'makefile-insert-gmake-function "C-c C-\\" 'makefile-backslash-region "C-c RET C-a" 'makefile-automake-mode "C-c RET C-b" 'makefile-bsdmake-mode "C-c RET C-g" 'makefile-gmake-mode "C-c RET TAB" 'makefile-imake-mode "C-c RET RET" 'makefile-mode "C-c RET C-p" 'makefile-makepp-mode "M-p" 'makefile-previous-dependency "M-n" 'makefile-next-dependency "M-q" 'fill-paragraph "C-M-i" 'completion-at-point) (#$ . 16187))#@25 Menu for Makefile mode.
(byte-code "\203 \302	\303\304#\210\302	\305\306#\210\302	\307\310#\210\302	\311\312#\210\302\207" [makefile-electric-keys makefile-mode-map define-key "$" makefile-insert-macro-ref ":" makefile-electric-colon "=" makefile-electric-equal "." makefile-electric-dot] 4)
(defvar makefile-mode-menu nil (#$ . 17743))#@59 The keymap that is used in the macro- and target browser.
(byte-code "\301\302\303\304$\210\305\306\307\310#\207" [makefile-mode-map easy-menu-do-define makefile-mode-menu "Menu for Makefile mode." ("Makefile" ["Move to Next Dependency" makefile-next-dependency :help "Move point to the beginning of the next dependency line"] ["Move to Previous Dependency" makefile-previous-dependency :help "Move point to the beginning of the previous dependency line"] "----" ["Backslash Region" makefile-backslash-region :help "Insert, align, or delete end-of-line backslashes on the lines in the region"] ["Complete Target or Macro" completion-at-point :help "Perform completion on Makefile construct preceding point"] ["Find Targets and Macros" makefile-pickup-everything :help "Notice names of all macros and targets in Makefile"] ["Insert GNU make function" makefile-insert-gmake-function :help "Insert a GNU make function call"] ["Pick File Name as Target" makefile-pickup-filenames-as-targets :help "Scan the current directory for filenames to use as targets"] "----" ["Up To Date Overview" makefile-create-up-to-date-overview :help "Create a buffer containing an overview of the state of all known targets"] ("Switch Makefile Type" ["GNU make" makefile-gmake-mode :help "An adapted `makefile-mode' that knows about GNU make" :style radio :selected (eq major-mode 'makefile-gmake-mode)] ["Automake" makefile-automake-mode :help "An adapted `makefile-mode' that knows about automake" :style radio :selected (eq major-mode 'makefile-automake-mode)] ["BSD" makefile-bsdmake-mode :help "An adapted `makefile-mode' that knows about BSD make" :style radio :selected (eq major-mode 'makefile-bsdmake-mode)] ["Classic" makefile-mode :help "`makefile-mode' with no special functionality" :style radio :selected (eq major-mode 'makefile-mode)] ["Imake" makefile-imake-mode :help "An adapted `makefile-mode' that knows about imake" :style radio :selected (eq major-mode 'makefile-imake-mode)] ["Makepp" makefile-makepp-mode :help "An adapted `makefile-mode' that knows about makepp" :style radio :selected (eq major-mode 'makefile-makepp-mode)])) make-obsolete-variable makefile-browser-map nil "30.1"] 5)
(defvar makefile-browser-map (define-keymap "n" 'makefile-browser-next-line "C-n" 'makefile-browser-next-line "p" 'makefile-browser-previous-line "C-p" 'makefile-browser-previous-line "SPC" 'makefile-browser-toggle "i" 'makefile-browser-insert-selection "I" 'makefile-browser-insert-selection-and-quit "C-c RET" 'makefile-browser-insert-continuation "q" 'makefile-browser-quit "C-b" 'undefined "C-f" 'undefined) (#$ . 18087))#@39 Syntax table used in `makefile-mode'.
(defvar makefile-mode-syntax-table (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\301\312\313#\210\301\314\315#\210\301\316\317#\210\301\320\317#\210\301\321\322#\210\301\323\324#\210\301\325\326#\210\301\327\326#\210\207" [make-syntax-table modify-syntax-entry 40 "()    " 41 ")(    " 91 "(]    " 93 ")[    " 123 "(}    " 125 "){    " 39 "\"    " 96 35 "<     " 10 ">     " 61 "." 36] 5) (#$ . 20708))
(defvar makefile-imake-mode-syntax-table (byte-code "\301!\302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\312#\210\207" [makefile-mode-syntax-table make-syntax-table modify-syntax-entry 47 ". 14" 42 ". 23" 35 "'" 10 ". b"] 5))#@50 Table of all target names known for this buffer.
(defvar makefile-target-table nil (#$ . 21449))#@49 Table of all macro names known for this buffer.
(put 'makefile-target-table 'risky-local-variable t)
(defvar makefile-macro-table nil (#$ . 21551))#@64 A buffer in Makefile mode that is currently using the browser.
(byte-code "\300\301\302\303#\210\304\305\306\307#\207" [put makefile-macro-table risky-local-variable t make-obsolete-variable makefile-browser-client nil "30.1"] 4)
(defvar makefile-browser-client nil (#$ . 21704))
(make-obsolete-variable 'makefile-browser-selection-vector nil "30.1")
(defvar makefile-browser-selection-vector nil)
(defvar makefile-has-prereqs nil)
(defvar makefile-need-target-pickup t)
(defvar makefile-need-macro-pickup t)
(defvar makefile-mode-hook nil)
(defconst makefile-gnumake-functions-alist '(("subst" "From" "To" "In") ("patsubst" "Pattern" "Replacement" "In") ("strip" "Text") ("findstring" "Find what" "In") ("filter" "Pattern" "Text") ("filter-out" "Pattern" "Text") ("sort" "List") ("dir" "Names") ("notdir" "Names") ("suffix" "Names") ("basename" "Names") ("addprefix" "Prefix" "Names") ("addsuffix" "Suffix" "Names") ("join" "List 1" "List 2") ("word" "Index" "Text") ("words" "Text") ("firstword" "Text") ("wildcard" "Pattern") ("foreach" "Variable" "List" "Text") ("origin" "Variable") ("shell" "Command")))
(defvar makefile-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [makefile-mode-hook variable-documentation put "Hook run after entering `makefile-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp makefile-mode-map definition-name makefile-mode] 4)
(defvar makefile-mode-map (make-sparse-keymap))#@2316 Major mode for editing standard Makefiles.

If you are editing a file for a different make, try one of the
variants `makefile-automake-mode', `makefile-gmake-mode',
`makefile-makepp-mode', `makefile-bsdmake-mode' or,
`makefile-imake-mode'.  All but the last should be correctly
chosen based on the file name, except if it is *.mk.  This
function ends by invoking the function(s) `makefile-mode-hook'.

It is strongly recommended to use `font-lock-mode', because that
provides additional parsing information.  This is used for
example to see that a rule action `echo foo: bar' is a not rule
dependency, despite the colon.

\{makefile-mode-map}

Makefile mode can be configured by modifying the following variables:

`makefile-target-colon':
    The string that gets appended to all target names
    inserted by `makefile-insert-target'.
    ":" or "::" are quite common values.

`makefile-macro-assign':
   The string that gets appended to all macro names
   inserted by `makefile-insert-macro'.
   The normal value should be " = ", since this is what
   standard make expects.  However, newer makes such as dmake
   allow a larger variety of different macro assignments, so you
   might prefer to use " += " or " := " .

`makefile-tab-after-target-colon':
   If you want a TAB (instead of a space) to be appended after the
   target colon, then set this to a non-nil value.

`makefile-pickup-everything-picks-up-filenames-p':
   If this variable is set to a non-nil value then
   `makefile-pickup-everything' also picks up filenames as targets
   (i.e. it calls `makefile-pickup-filenames-as-targets'), otherwise
   filenames are omitted.

`makefile-cleanup-continuations':
   If this variable is set to a non-nil value then Makefile mode
   will assure that no line in the file ends with a backslash
   (the continuation character) followed by any whitespace.
   This is done by silently removing the trailing whitespace, leaving
   the backslash itself intact.
   IMPORTANT: Please note that enabling this option causes Makefile mode
   to MODIFY A FILE WITHOUT YOUR CONFIRMATION when "it seems necessary".

`makefile-special-targets-list':
   List of special targets.  You will be offered to complete
   on one of those in the minibuffer whenever you enter a `.'.
   at the beginning of a line in Makefile mode.
(byte-code "\301\302N\204 \303\301\302\304\305!#\210\306\307!\204* \303\307\310\311#\210\312\307\306\307!\203& \313\202( \314 \"\210\307\302N\2048 \303\307\302\304\315!#\210\306\300!\204X \303\300\310\311#\210\312\300\306\300!\203P \313\202V \316\300\313\"\210\"\210\300\302N\204f \303\300\302\304\317!#\210\320\321!\203t \321\311\322\"\210\202z \303\311\323\322#\210\313\207" [makefile-mode-abbrev-table makefile-mode-map variable-documentation put purecopy "Keymap for `makefile-mode'." boundp makefile-mode-syntax-table definition-name makefile-mode defvar-1 nil make-syntax-table "Syntax table for `makefile-mode'." define-abbrev-table "Abbrev table for `makefile-mode'." fboundp derived-mode-set-parent prog-mode derived-mode-parent] 5)
(defalias 'makefile-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203 \314\311\313\310\313N#\210\315!\204' \316\317 \"\210\320\f!\211\2035 \211\321 =\203; \322\f\323 \"\210\210\324\325\"\204R :=\204R \326\325:C#\210\327!\210\330\f!\210:\331\332\333\334\307$\210\331\335\336\334\307$\210\331\335\337\334\307$\210\331\335\340\334\307$\210\306\341!\210\306\342!\210\306\343!\210\306\344!\210\306\345!\210\306\346!\210\347&\306\350!\210;(\306\351!\210\352)\306\353!\210<+\306\354!\210\355,:\306\356!\210\357.\306\360!\210\3610\306\362!\210\3632\306\364!\210\3654\306\366!\210\3676\307=)\370\371!\207" [delay-mode-hooks major-mode mode-name makefile-mode-map makefile-mode-syntax-table makefile-mode-abbrev-table make-local-variable t prog-mode makefile-mode "Makefile" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table add-hook completion-at-point-functions makefile-completions-at-point nil write-file-functions makefile-warn-suspicious-lines makefile-warn-continuations makefile-cleanup-continuations makefile-target-table makefile-macro-table makefile-has-prereqs makefile-need-target-pickup makefile-need-macro-pickup font-lock-defaults (makefile-font-lock-keywords nil nil ((36 . ".")) backward-paragraph) syntax-propertize-function add-log-current-defun-function makefile-add-log-defun imenu-generic-expression dabbrev-abbrev-skip-leading-regexp "\\$" fill-paragraph-function makefile-fill-paragraph comment-start "#" comment-end "" comment-start-skip "#+[ 	]*" indent-line-function indent-to-left-margin run-mode-hooks makefile-mode-hook local-abbrev-table makefile-syntax-propertize-function makefile-imenu-generic-expression indent-tabs-mode] 5 (#$ . 23272) nil])
(defvar makefile-automake-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [makefile-automake-mode-hook variable-documentation put "Hook run after entering `makefile-automake-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp makefile-automake-mode-map definition-name makefile-automake-mode] 4)
(defvar makefile-automake-mode-map (make-sparse-keymap))#@255 An adapted `makefile-mode' that knows about automake.

In addition to any hooks its parent mode might have run, this mode runs
the hook `makefile-automake-mode-hook', as the final or penultimate step
during initialization.

\{makefile-automake-mode-map}
(byte-code "\301\302N\204 \303\301\302\304\305!#\210\306\307!\204* \303\307\310\311#\210\312\307\306\307!\203& \313\202( \314 \"\210\307\302N\2048 \303\307\302\304\315!#\210\306\300!\204X \303\300\310\311#\210\312\300\306\300!\203P \313\202V \316\300\313\"\210\"\210\300\302N\204f \303\300\302\304\317!#\210\320\321!\203t \321\311\322\"\210\202z \303\311\323\322#\210\313\207" [makefile-automake-mode-abbrev-table makefile-automake-mode-map variable-documentation put purecopy "Keymap for `makefile-automake-mode'." boundp makefile-automake-mode-syntax-table definition-name makefile-automake-mode defvar-1 nil make-syntax-table "Syntax table for `makefile-automake-mode'." define-abbrev-table "Abbrev table for `makefile-automake-mode'." fboundp derived-mode-set-parent makefile-mode derived-mode-parent] 5)
(defalias 'makefile-automake-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203 \314\311\313\310\313N#\210\315!\204' \316\317 \"\210\320\f!\211\2035 \211\321 =\203; \322\f\323 \"\210\210\324\325\"\204R =\204R \326\325C#\210\327!\210\330\f!\210\331AB)\332\333!\207" [delay-mode-hooks major-mode mode-name makefile-automake-mode-map makefile-automake-mode-syntax-table makefile-automake-mode-abbrev-table make-local-variable t makefile-mode makefile-automake-mode "Makefile.am" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table makefile-automake-font-lock-keywords run-mode-hooks makefile-automake-mode-hook local-abbrev-table font-lock-defaults] 5 (#$ . 28712) nil])
(defvar makefile-gmake-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [makefile-gmake-mode-hook variable-documentation put "Hook run after entering `makefile-gmake-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp makefile-gmake-mode-map definition-name makefile-gmake-mode] 4)
(defvar makefile-gmake-mode-map (make-sparse-keymap))#@246 An adapted `makefile-mode' that knows about gmake.

In addition to any hooks its parent mode might have run, this mode runs
the hook `makefile-gmake-mode-hook', as the final or penultimate step
during initialization.

\{makefile-gmake-mode-map}
(byte-code "\301\302N\204 \303\301\302\304\305!#\210\306\307!\204* \303\307\310\311#\210\312\307\306\307!\203& \313\202( \314 \"\210\307\302N\2048 \303\307\302\304\315!#\210\306\300!\204X \303\300\310\311#\210\312\300\306\300!\203P \313\202V \316\300\313\"\210\"\210\300\302N\204f \303\300\302\304\317!#\210\320\321!\203t \321\311\322\"\210\202z \303\311\323\322#\210\313\207" [makefile-gmake-mode-abbrev-table makefile-gmake-mode-map variable-documentation put purecopy "Keymap for `makefile-gmake-mode'." boundp makefile-gmake-mode-syntax-table definition-name makefile-gmake-mode defvar-1 nil make-syntax-table "Syntax table for `makefile-gmake-mode'." define-abbrev-table "Abbrev table for `makefile-gmake-mode'." fboundp derived-mode-set-parent makefile-mode derived-mode-parent] 5)
(defalias 'makefile-gmake-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203 \314\311\313\310\313N#\210\315!\204' \316\317 \"\210\320\f!\211\2035 \211\321 =\203; \322\f\323 \"\210\210\324\325\"\204R =\204R \326\325C#\210\327!\210\330\f!\210\331AB)\332\333!\207" [delay-mode-hooks major-mode mode-name makefile-gmake-mode-map makefile-gmake-mode-syntax-table makefile-gmake-mode-abbrev-table make-local-variable t makefile-mode makefile-gmake-mode "GNUmakefile" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table makefile-gmake-font-lock-keywords run-mode-hooks makefile-gmake-mode-hook local-abbrev-table font-lock-defaults] 5 (#$ . 31128) nil])
(defvar makefile-makepp-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [makefile-makepp-mode-hook variable-documentation put "Hook run after entering `makefile-makepp-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp makefile-makepp-mode-map definition-name makefile-makepp-mode] 4)
(defvar makefile-makepp-mode-map (make-sparse-keymap))#@249 An adapted `makefile-mode' that knows about makepp.

In addition to any hooks its parent mode might have run, this mode runs
the hook `makefile-makepp-mode-hook', as the final or penultimate step
during initialization.

\{makefile-makepp-mode-map}
(byte-code "\301\302N\204 \303\301\302\304\305!#\210\306\307!\204* \303\307\310\311#\210\312\307\306\307!\203& \313\202( \314 \"\210\307\302N\2048 \303\307\302\304\315!#\210\306\300!\204X \303\300\310\311#\210\312\300\306\300!\203P \313\202V \316\300\313\"\210\"\210\300\302N\204f \303\300\302\304\317!#\210\320\321!\203t \321\311\322\"\210\202z \303\311\323\322#\210\313\207" [makefile-makepp-mode-abbrev-table makefile-makepp-mode-map variable-documentation put purecopy "Keymap for `makefile-makepp-mode'." boundp makefile-makepp-mode-syntax-table definition-name makefile-makepp-mode defvar-1 nil make-syntax-table "Syntax table for `makefile-makepp-mode'." define-abbrev-table "Abbrev table for `makefile-makepp-mode'." fboundp derived-mode-set-parent makefile-mode derived-mode-parent] 5)
(defalias 'makefile-makepp-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203 \314\311\313\310\313N#\210\315!\204' \316\317 \"\210\320\f!\211\2035 \211\321 =\203; \322\f\323 \"\210\210\324\325\"\204R =\204R \326\325C#\210\327!\210\330\f!\210\306\331!\210\332 AB \333!B!)\334\335!\207" [delay-mode-hooks major-mode mode-name makefile-makepp-mode-map makefile-makepp-mode-syntax-table makefile-makepp-mode-abbrev-table make-local-variable t makefile-mode makefile-makepp-mode "Makeppfile" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table makefile-rule-action-regex makefile-makepp-font-lock-keywords ("Functions" "^[ 	]*\\(?:make\\)?sub[ 	]+\\([A-Za-z0-9_]+\\)" 1) run-mode-hooks makefile-makepp-mode-hook local-abbrev-table makefile-makepp-rule-action-regex font-lock-defaults imenu-generic-expression] 5 (#$ . 33499) nil])
(defvar makefile-bsdmake-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [makefile-bsdmake-mode-hook variable-documentation put "Hook run after entering `makefile-bsdmake-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp makefile-bsdmake-mode-map definition-name makefile-bsdmake-mode] 4)
(defvar makefile-bsdmake-mode-map (make-sparse-keymap))#@253 An adapted `makefile-mode' that knows about BSD make.

In addition to any hooks its parent mode might have run, this mode runs
the hook `makefile-bsdmake-mode-hook', as the final or penultimate step
during initialization.

\{makefile-bsdmake-mode-map}
(byte-code "\301\302N\204 \303\301\302\304\305!#\210\306\307!\204* \303\307\310\311#\210\312\307\306\307!\203& \313\202( \314 \"\210\307\302N\2048 \303\307\302\304\315!#\210\306\300!\204X \303\300\310\311#\210\312\300\306\300!\203P \313\202V \316\300\313\"\210\"\210\300\302N\204f \303\300\302\304\317!#\210\320\321!\203t \321\311\322\"\210\202z \303\311\323\322#\210\313\207" [makefile-bsdmake-mode-abbrev-table makefile-bsdmake-mode-map variable-documentation put purecopy "Keymap for `makefile-bsdmake-mode'." boundp makefile-bsdmake-mode-syntax-table definition-name makefile-bsdmake-mode defvar-1 nil make-syntax-table "Syntax table for `makefile-bsdmake-mode'." define-abbrev-table "Abbrev table for `makefile-bsdmake-mode'." fboundp derived-mode-set-parent makefile-mode derived-mode-parent] 5)
(defalias 'makefile-bsdmake-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203 \314\311\313\310\313N#\210\315!\204' \316\317 \"\210\320\f!\211\2035 \211\321 =\203; \322\f\323 \"\210\210\324\325\"\204R  =\204R \326\325 C#\210\327!\210\330\f!\210 \306\331!\210!\306\332!\210\333\306\334!\210\"\335#AB#)\336\337!\207" [delay-mode-hooks major-mode mode-name makefile-bsdmake-mode-map makefile-bsdmake-mode-syntax-table makefile-bsdmake-mode-abbrev-table make-local-variable t makefile-mode makefile-bsdmake-mode "BSDmakefile" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table makefile-dependency-regex makefile-dependency-skip "^:!" makefile-rule-action-regex makefile-bsdmake-font-lock-keywords run-mode-hooks makefile-bsdmake-mode-hook local-abbrev-table makefile-bsdmake-dependency-regex makefile-bsdmake-rule-action-regex font-lock-defaults] 5 (#$ . 36069) nil])
(defvar makefile-imake-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [makefile-imake-mode-hook variable-documentation put "Hook run after entering `makefile-imake-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp makefile-imake-mode-map definition-name makefile-imake-mode] 4)
(defvar makefile-imake-mode-map (make-sparse-keymap))#@246 An adapted `makefile-mode' that knows about imake.

In addition to any hooks its parent mode might have run, this mode runs
the hook `makefile-imake-mode-hook', as the final or penultimate step
during initialization.

\{makefile-imake-mode-map}
(byte-code "\301\302N\204 \303\301\302\304\305!#\210\306\300!\204. \303\300\307\310#\210\311\300\306\300!\203& \312\202, \313\300\312\"\210\"\210\300\302N\204< \303\300\302\304\314!#\210\315\316!\203J \316\310\317\"\210\202P \303\310\320\317#\210\312\207" [makefile-imake-mode-abbrev-table makefile-imake-mode-map variable-documentation put purecopy "Keymap for `makefile-imake-mode'." boundp definition-name makefile-imake-mode defvar-1 nil define-abbrev-table "Abbrev table for `makefile-imake-mode'." fboundp derived-mode-set-parent makefile-mode derived-mode-parent] 5)
(defalias 'makefile-imake-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203 \314\311\313\310\313N#\210\315!\204' \316\317 \"\210\320\f\321\"\204; \f=\204; \322\f\321C#\210\323!\210\324!\210\f\306\325!\210\326\327AB\306\330!\210\331\306\332!\210\333)\334\335!\207" [delay-mode-hooks major-mode mode-name makefile-imake-mode-map makefile-imake-mode-abbrev-table local-abbrev-table make-local-variable t makefile-mode makefile-imake-mode "Imakefile" mode-class put keymap-parent set-keymap-parent current-local-map abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table syntax-propertize-function nil makefile-imake-font-lock-keywords comment-start "XCOMM" comment-start-skip "XCOMM[ 	]*" run-mode-hooks makefile-imake-mode-hook makefile-imake-mode-syntax-table font-lock-defaults] 5 (#$ . 38676) nil])#@58 Move point to the beginning of the next dependency line.
(defalias 'makefile-next-dependency #[0 "`\300\210\301\300!\203 \302 \303\207\211b\300\207" [nil makefile-match-dependency beginning-of-line t] 4 (#$ . 40351) nil])#@62 Move point to the beginning of the previous dependency line.
(defalias 'makefile-previous-dependency #[0 "`\302 \210\3032H \304x\210o\204C \304f\305=\306u\210\204 \307`\310\"\204 \302 \210`e\311\\V\2035 `SSf\312=\204 \313	!\203 \314\303\315\"\210\202 \211b\210\3040\207" [makefile-dependency-skip makefile-dependency-regex beginning-of-line found nil 61 -1 get-text-property face 2 92 looking-at throw t] 4 (#$ . 40580) nil])#@146 Prompt for the name of a special target to insert.
Only does electric insertion at beginning of line.
Anywhere else just self-inserts.

(fn ARG)
(defalias 'makefile-electric-dot #[257 "n\203 \300 \207\301!\207" [makefile-insert-special-target self-insert-command] 3 (#$ . 41018) "p"])#@84 Prompt for and insert a special target name.
Uses `makefile-special-targets' list.
(defalias 'makefile-insert-special-target #[0 "\301 \210\302\303\304\211\211%\211G\305U?\205 \306\307\261\210\310 \207" [makefile-special-targets-list makefile-pickup-targets completing-read "Special target: " nil 0 "." ":" makefile-forward-after-target-colon] 6 (#$ . 41310) nil])#@136 Prompt for name of a macro to insert.
Only does prompting if point is at beginning of line.
Anywhere else just self-inserts.

(fn ARG)
(defalias 'makefile-electric-equal #[257 "\300 \210n\203 \301\302!\207\303!\207" [makefile-pickup-macros call-interactively makefile-insert-macro self-insert-command] 3 (#$ . 41685) "p"])#@119 Prepare definition of a new macro named MACRO-NAME.
Interactively, prompt for the name of the macro.

(fn MACRO-NAME)
(defalias 'makefile-insert-macro #[257 "\302 \210\211G\303U?\205 \304 \210\211\261\210\305\306!\207" [makefile-macro-assign makefile-need-macro-pickup makefile-pickup-macros 0 beginning-of-line t makefile-remember-macro] 3 (#$ . 42016) "sMacro Name: "])#@89 Complete on a list of known macros, then insert complete ref at point.

(fn MACRO-NAME)
(defalias 'makefile-insert-macro-ref #[257 "\300!\207" [makefile-do-macro-insertion] 3 (#$ . 42398) (byte-code "\301 \210\302\303\304\211\211%C\207" [makefile-macro-table makefile-pickup-macros completing-read "Refer to macro: " nil] 6)])#@73 Prepare definition of a new target (dependency line).

(fn TARGET-NAME)
(defalias 'makefile-insert-target #[257 "\211G\302U?\205 \303 \210\211\261\210\304 \210\305\210\306\307!\207" [makefile-target-colon makefile-need-target-pickup 0 beginning-of-line makefile-forward-after-target-colon nil t makefile-remember-target] 3 (#$ . 42732) "sTarget: "])#@90 Complete on a list of known targets, then insert TARGET-NAME at point.

(fn TARGET-NAME)
(defalias 'makefile-insert-target-ref #[257 "\211G\300U?\205\f \211\301\261\207" [0 " "] 3 (#$ . 43093) (byte-code "\301 \210\302\303\304\211\211%C\207" [makefile-target-table makefile-pickup-targets completing-read "Refer to target: " nil] 6)])#@120 Prompt for name of new target.
Prompting only happens at beginning of line.
Anywhere else just self-inserts.

(fn ARG)
(defalias 'makefile-electric-colon #[257 "n\203 \300\301!\207\302!\207" [call-interactively makefile-insert-target self-insert-command] 3 (#$ . 43436) "p"])#@53 Notice names of all target definitions in Makefile.
(defalias 'makefile-pickup-targets #[0 "\205M \303\211\303\212eb\210\304\303!\203I \305\224b\210\306`\307\303w\210`\"\310\311!?\312\"\2032 \313\314\315 #\210\316\303w\210l\206> \303f\317=\266\202\203 \303y\210\202 )\313\320!\207" [makefile-need-target-pickup makefile-target-table makefile-has-prereqs nil makefile-match-dependency 1 buffer-substring-no-properties "^ 	:#" looking-at ":[ 	]*$" makefile-remember-target message "Picked up target \"%s\" from line %d" line-number-at-pos " 	" 58 "Read targets OK"] 7 (#$ . 43719) nil])#@52 Notice names of all macro definitions in Makefile.
(defalias 'makefile-pickup-macros #[0 "\2058 \303\211\212eb\210\304\n\303\305#\2034 \306\224b\210\307`\310\303w\210`\"\311!\203- \312\313\314 #\210\210\303y\210\202\f )\312\315!\207" [makefile-need-macro-pickup makefile-macro-table makefile-macroassign-regex nil re-search-forward t 1 buffer-substring-no-properties "^ 	:#=*" makefile-remember-macro message "Picked up macro \"%s\" from line %d" line-number-at-pos "Read macros OK"] 6 (#$ . 44318) nil])#@117 Notice names of all macros and targets in Makefile.
Prefix argument ARG means force pickups to be redone.

(fn ARG)
(defalias 'makefile-pickup-everything #[257 "\211\203 \303\211\304 \210\305 \210\n\205 \306 \207" [makefile-need-target-pickup makefile-need-macro-pickup makefile-pickup-everything-picks-up-filenames-p t makefile-pickup-macros makefile-pickup-targets makefile-pickup-filenames-as-targets] 3 (#$ . 44834) "P"])#@191 Scan the current directory for filenames to use as targets.
Checks each filename against `makefile-ignored-files-in-pickup-regex'
and adds all qualifying names to the list of known targets.#@13 

(fn NAME)
(defalias 'makefile-pickup-filenames-as-targets #[0 "\300\301\302\303\304\305 !\206\f \303\"\"\207" [mapc #[257 "\301!\206 \302\"\206 \303!\205 \304\305\"\207" [makefile-ignored-files-in-pickup-regex file-directory-p string-match makefile-remember-target message "Picked up file \"%s\" as target"] 4 (#$ . 45465)] file-name-all-completions "" file-name-directory buffer-file-name] 6 (#$ . 45270) nil])#@19 

(fn S FINISHED)
(defalias 'makefile-completions-at-point #[0 "\212\302\303x\210`)\303\212b\210h\211\304U\203 \210\305\2027 \211\306>\2055 \211\307=\203( \310\202) \311\262\312u\210h\304U\2055 \305\262)\211\203F \205T \313!\202T \212b\210n)\203S \314\202T \315`\316?\205] 	\"\317\205i \320\321\"\257\207" [makefile-target-table makefile-macro-table "^$(){}:#= 	\n" nil 36 t (123 40) 123 125 41 -1 string ":" " " append :exit-function make-closure #[514 "\211\301>\205 \302\303\300!!\203 \304\225b\207\300c\207" [V0 (sole finished) looking-at regexp-quote 0] 5 (#$ . 45892)]] 11])#@490 Insert, align, or delete end-of-line backslashes on the lines in the region.
With no argument, insert backslashes and align existing backslashes.
With an argument, delete the backslashes.

This function does not modify the last line of the region if the region ends
right at the start of the following line; it does not modify blank lines
at the start of the region.  So you can put the region around an entire macro
definition and conveniently use this command.

(fn FROM TO DELETE-FLAG)
(defalias 'makefile-backslash-region #[771 "\212b\210\303!	\203M \204M `W\2032 \304\210h\305U\203& \306u\210\307\304x\210iT]\262\310y\210\202 \n\246\311V\203M \n\\S\n\245\n_\211\312 W\203L \211\262\210b\210`W\203` l\203` \310y\210\202P `W\203\205 \212\310y\210`W)\203\205 \204| \313!\210\202 \314 \210\310y\210\202` \211\304\211\223)\207" [makefile-backslash-column makefile-backslash-align tab-width copy-marker nil 92 -1 " 	" 1 0 window-width makefile-append-backslash makefile-delete-backslash] 8 (#$ . 46495) "r\nP"])#@15 

(fn COLUMN)
(defalias 'makefile-append-backslash #[257 "\301\210h\302U\203 \303u\210\304 \210\305?\205 \306\"\207\305?\205! \306\"\210\307c\207" [makefile-backslash-align nil 92 -1 delete-horizontal-space indent-to 1 "\\"] 4 (#$ . 47530)])
(defalias 'makefile-delete-backslash #[0 "\300\210n\206 \301u\210\302\303!\205 `T\304\300x\210`|\207" [nil -1 looking-at "\\\\" " 	"] 3])#@147 Function used for `fill-paragraph-function' in Makefile mode.
Fill comments, backslashed lines, and variable definitions specially.

(fn JUSTIFY)
(defalias 'makefile-fill-paragraph #[257 "\212\303 \210\304\305!\203 \306\202\251 \307\310!Sf\311=\204\" \307\312!Sf\311=\203\212 \306\210\212\312\210h\311U\2035 \312\210\202) l\203> `T\202? `)\212h\311U\203Q m\204Q \313\210\202A `)\214}\210\314ed\315#\210\316ed\317#\210\306S\320\306!*\210\314ed\306#\210db\210\321\306x\312W\203\203 `d|\210)\266\315\202\251 \304\n!\203\250 \214`\322\313!}\210\306S\320\306!*\210\314ed\306#)\210\315)\207" [fill-column fill-paragraph-function makefile-macroassign-regex beginning-of-line looking-at "^[ 	]*#+\\s-*" nil line-end-position 1 92 0 2 makefile-backslash-region t remove-text-properties (syntax-table nil) fill-paragraph "\n" line-beginning-position] 7 (#$ . 47926)])#@24 

(fn TARGET SELECTED)
(defalias 'makefile-browser-format-target-line #[514 "\304\305\306\"\203 	\202 \n\307Q#\207" [makefile-browser-leftmost-column makefile-browser-selected-mark makefile-browser-unselected-mark makefile-target-colon format make-string 32 "%s%s"] 6 (#$ . 48803)])#@23 

(fn MACRO SELECTED)
(make-obsolete 'makefile-browser-format-target-line nil "30.1")
(defalias 'makefile-browser-format-macro-line #[514 "\303\304\305\"\203 	\202 \n\306!Q!\207" [makefile-browser-leftmost-column makefile-browser-selected-mark makefile-browser-unselected-mark format make-string 32 makefile-format-macro-ref] 7 (#$ . 49097)])#@23 

(fn TARGETS MACROS)#@13 

(fn ITEM)
(make-obsolete 'makefile-browser-format-macro-line nil "30.1")
(defalias 'makefile-browser-fill #[514 "\302eb\210\303 \210\304\305\"\210\304\306\"\210\307\310ed#\210dSb\210\311\312!\210eb\210	u)\207" [inhibit-read-only makefile-browser-cursor-column t erase-buffer mapc #[257 "\300@\301\"\302\261\207" [makefile-browser-format-target-line nil "\n"] 4 (#$ . 49477)] #[257 "\300@\301\"\302\261\207" [makefile-browser-format-macro-line nil "\n"] 4 (#$ . 49477)] sort-lines nil delete-char 1] 6 (#$ . 49450)])#@53 Move the browser selection cursor to the next line.
(make-obsolete 'makefile-browser-fill nil "30.1")
(defalias 'makefile-browser-next-line #[0 "\301 ?\205 \302y\210u\207" [makefile-browser-cursor-column makefile-last-line-p 1] 1 (#$ . 50007) nil])#@57 Move the browser selection cursor to the previous line.
(make-obsolete 'makefile-browser-next-line nil "30.1")
(defalias 'makefile-browser-previous-line #[0 "\301 ?\205 \302y\210u\207" [makefile-browser-cursor-column makefile-first-line-p -1] 1 (#$ . 50263) nil])#@54 Leave the browser and return to the makefile buffer.
(make-obsolete 'makefile-browser-previous-line nil "30.1")
(defalias 'makefile-browser-quit #[0 "\301\302\301!\210\303\304!\210\305!\207" [makefile-browser-client nil set-buffer-modified-p quit-window t pop-to-buffer] 3 (#$ . 50534) nil])#@72 Toggle the selection state of the browser item at the cursor position.
(make-obsolete 'makefile-browser-quit nil "30.1")
(defalias 'makefile-browser-toggle #[0 "\303e`\"\304]\262\305!\210eb\210\211Sy\210\306\307 \210\310 \2033 \311 `\312\210`|\210\313\314!\"c\266\202E \315 `\312\210`|\210\316\314!\"c\266)\307 \210	u\210\n\205R \317 \207" [inhibit-read-only makefile-browser-cursor-column makefile-browser-auto-advance-after-selection-p count-lines 1 makefile-browser-toggle-state-for-line t beginning-of-line makefile-browser-on-macro-line-p makefile-browser-this-line-macro-name nil makefile-browser-format-macro-line makefile-browser-get-state-for-line makefile-browser-this-line-target-name makefile-browser-format-target-line makefile-browser-next-line] 6 (#$ . 50834) nil])#@351 Insert a makefile continuation.
In the makefile buffer, go to (end-of-line), insert a `\'
character, insert a new blank line, go to that line and indent by one TAB.
This is most useful in the process of creating continued lines when copying
large dependencies from the browser to the client buffer.
(point) advances accordingly in the client buffer.
(make-obsolete 'makefile-browser-toggle nil "30.1")
(defalias 'makefile-browser-insert-continuation #[0 "rq\210\301\210\302c)\207" [makefile-browser-client nil "\\\n	"] 1 (#$ . 51633) nil])#@99 Insert all selected targets and/or macros in the makefile buffer.
Insertion takes place at point.
(make-obsolete 'makefile-browser-insert-continuation nil "30.1")
(defalias 'makefile-browser-insert-selection #[0 "\212eb\210\300m?\205 \301!\203 \302 \210\300y\210T\202 )\207" [1 makefile-browser-get-state-for-line makefile-browser-send-this-line-item] 3 (#$ . 52180) nil])
(make-obsolete 'makefile-browser-insert-selection nil "30.1")
(defalias 'makefile-browser-insert-selection-and-quit #[0 "\300 \210\301 \207" [makefile-browser-insert-selection makefile-browser-quit] 1 nil nil])
(make-obsolete 'makefile-browser-insert-selection-and-quit nil "30.1")
(defalias 'makefile-browser-send-this-line-item #[0 "\301 \203 \212\302 q\210\303!\304\261)\207\212\305 q\210\211\304\261)\207" [makefile-browser-client makefile-browser-on-macro-line-p makefile-browser-this-line-macro-name makefile-format-macro-ref " " makefile-browser-this-line-target-name] 3])
(make-obsolete 'makefile-browser-send-this-line-item nil "30.1")
(defalias 'makefile-browser-start-interaction #[0 "\302!\210\303\211\207" [makefile-browser-map buffer-read-only use-local-map t] 2])
(make-obsolete 'makefile-browser-start-interaction nil "30.1")
(defalias 'makefile-browse #[514 "GG\\\302U\203 \303 \210\304\305\306!!\207\307!\310!\210\311\"\210\312 \210\313\301!\210\314GG\\\315\"\316 \207" [makefile-browser-buffer-name makefile-browser-selection-vector 0 beep message substitute-command-keys "No macros or targets to browse!  Consider running \\[makefile-pickup-everything]" get-buffer-create pop-to-buffer makefile-browser-fill shrink-window-if-larger-than-buffer make-local-variable make-vector nil makefile-browser-start-interaction] 6 (#$ . 49450)])
(make-obsolete 'makefile-browse 'imenu "30.1")
(defalias 'makefile-switch-to-browser #[0 "\303\304!\210p\305 \210\306 \210\307	\n\"\207" [makefile-browser-client makefile-target-table makefile-macro-table run-hooks makefile-browser-hook makefile-pickup-targets makefile-pickup-macros makefile-browse] 3 nil nil])#@242 Create a buffer containing an overview of the state of all known targets.
Known targets are targets that are explicitly defined in that makefile;
in other words, all targets that appear on the left hand side of a
dependency in the makefile.
(make-obsolete 'makefile-switch-to-browser 'imenu "30.1")
(defalias 'makefile-create-up-to-date-overview #[0 "\304\305!\205T p\306	!\307 \310 \210\n\311\312\"\216q\210\313\314 \210\315#\210\316 \317U\2034 \320p!\210\321\322!\210q\210\323	!\205Q \324\323	!!\210\325 \210\326\313ed#\210\327\211)\266\206\207" [makefile-target-table makefile-up-to-date-buffer-name makefile-has-prereqs buffer-read-only y-or-n-p "Are you sure that the makefile being edited is consistent? " get-buffer-create makefile-save-temporary makefile-pickup-targets make-closure #[0 "\3011	 \302\300!0\207\303\207" [V0 (error) delete-file nil] 3] nil erase-buffer makefile-query-targets buffer-size 0 kill-buffer message "No overview created!" get-buffer pop-to-buffer shrink-window-if-larger-than-buffer sort-lines t] 10 (#$ . 54248) nil])#@59 Create a temporary file from the current makefile buffer.
(defalias 'makefile-save-temporary #[0 "\300\301!\302ed\303\304%\210\207" [make-temp-name "mktmp." write-region nil 0] 7 (#$ . 55318)])#@217 Fill the up-to-date overview buffer.
Checks each target in TARGET-TABLE using
`makefile-query-one-target-method-function'
and generates the overview, one line per target name.

(fn FILENAME TARGET-TABLE PREREQ-LIST)
(defalias 'makefile-query-targets #[771 "\300\301\302#\303#c\210eb\210\304!\207" [mapconcat make-closure #[257 "\211@\211\300\235?\211\206 \n\301\"\303\304\203 \305\202\" \203! \306\202\" \307#\207" [V0 V1 makefile-query-one-target-method-function format "	%s%s" "  .. has no prerequisites" "  .. NEEDS REBUILD" "  .. is up to date"] 8 (#$ . 49477)] "\n" delete-file] 8 (#$ . 55519)])#@34 

(fn TARGET &optional FILENAME)
(defalias 'makefile-query-by-make-minus-q #[513 "\301\302\211\211\303\304	&\305=?\207" [makefile-brave-make call-process nil "-f" "-q" 0] 11 (#$ . 56136)])
(defalias 'makefile-cleanup-continuations #[0 "\302\303!\205% \205% 	?\205% \212eb\210\304\305\306\307#\205$ \310\311\307\211#\210\202 )\207" [makefile-cleanup-continuations buffer-read-only derived-mode-p makefile-mode re-search-forward "\\\\[ 	]+$" nil t replace-match "\\"] 4])
(defalias 'makefile-warn-suspicious-lines #[0 "\300\301!\205 \212eb\210\302\303\304\305#\205 \306\307\310\311e`\"\"!?)\207" [derived-mode-p makefile-mode re-search-forward "^\\(	+$\\| +	\\)" nil t y-or-n-p format "Suspicious line %d.  Save anyway?" count-lines] 6])
(defalias 'makefile-warn-continuations #[0 "\300\301!\205 \212eb\210\302\303\304\305#\205 \306\307\310\311e`\"\"!?)\207" [derived-mode-p makefile-mode re-search-forward "\\\\[ 	]+$" nil t y-or-n-p format "Suspicious continuation in line %d.  Save anyway?" count-lines] 6])#@136 Insert a GNU make function call.
Asks for the name of the function to use (with completion).
Then prompts for all required parameters.
(defalias 'makefile-insert-gmake-function #[0 "\301\302\303\304\303%\305\"AG\306U?\205  \307\310\311\"Q!\310\261\207" [makefile-gnumake-functions-alist completing-read "Function: " nil t assoc 0 makefile-format-macro-ref " " makefile-prompt-for-gmake-funargs] 8 (#$ . 57162) nil])#@34 

(fn FUNCTION-NAME PROMPT-LIST)#@19 

(fn ONE-PROMPT)
(defalias 'makefile-prompt-for-gmake-funargs #[514 "\300\301\302\"\303#\207" [mapconcat make-closure #[257 "\301\302\303\300#\304\"\207" [V0 read-string format "[%s] %s: " nil] 6 (#$ . 57629)] ","] 6 (#$ . 57591)])#@129 To be called as an anchored matcher by font-lock.
The anchor must have matched the opening parens in the first group.

(fn END)
(defalias 'makefile-match-function-end #[257 "\300\301!\211\302\230\203 \303\202< \211\304\230\203 \305\202< \211\306\230\203! \307\202< \211\310\230\203+ \311\202< \211\312\230\2035 \313\202< \211\314\230\205< \315\211\262\205J \316\317P\320 \321#\207" [match-string-no-properties 1 "(" ")" "{" "}" "[" "]" "((" "))" "{{" "}}" "[[" "]]" re-search-forward "\\(.*\\)[ 	]*" line-end-position t] 6 (#$ . 57871)])#@153 Search for `makefile-dependency-regex' up to BOUND.
Checks that the colon has not already been fontified, else we
matched in a rule action.

(fn BOUND)
(defalias 'makefile-match-dependency #[257 "\3022| `w\210`\206 dW\203v \303u\210\304\305!\204 \306`S\307\"\204 \310 e\311\\V\2037 \312\313!Sf\314=\204 \212\315 \210\304	!)\203 \212\316\225\317 b\210\320\303x\210`\262\315 \210\320\303w\210\211AA`\240\210\211AAA\240\210\321!)\266\303\210\322\302`\"\210\202 \211b\266\3030\207" [makefile-dependency-skip makefile-dependency-regex found nil looking-at ":?=" get-text-property face line-beginning-position 2 line-end-position 0 92 beginning-of-line 1 match-data " 	" store-match-data throw] 6 (#$ . 58419)])#@14 

(fn BOUND)
(defalias 'makefile-match-action #[257 "\3012 \302\303#\205 \304\224\305Zf\306=\204 \307\301\303\"\210\202 0\207" [makefile-rule-action-regex found re-search-forward t 0 2 92 throw] 5 (#$ . 59146)])#@44 Insert a macro reference.

(fn MACRO-NAME)
(defalias 'makefile-do-macro-insertion #[257 "\211G\301U?\205 \302\"\203 \303\261\207\304!c\207" [makefile-runtime-macros-list 0 assoc "$" makefile-format-macro-ref] 4 (#$ . 59369)])#@114 Remember a given target if it is not already remembered for this buffer.

(fn TARGET-NAME &optional HAS-PREREQS)
(defalias 'makefile-remember-target #[513 "G\302U?\205 \303\"\204 CB\211\205 	B\211\207" [makefile-target-table makefile-has-prereqs 0 assoc] 5 (#$ . 59608)])#@90 Remember a given macro if it is not already remembered for this buffer.

(fn MACRO-NAME)
(defalias 'makefile-remember-macro #[257 "\211G\301U?\205 \302\"?\205 \211CB\211\207" [makefile-macro-table 0 assoc] 4 (#$ . 59896)])#@142 Move point forward after inserting the terminating colon of a target.
This acts according to the value of `makefile-tab-after-target-colon'.
(defalias 'makefile-forward-after-target-colon #[0 "\203 \301c\207\302c\207" [makefile-tab-after-target-colon "	" " "] 1 (#$ . 60131)])#@55 Determine if point is on a macro line in the browser.
(defalias 'makefile-browser-on-macro-line-p #[0 "\212\300 \210\301\302\303 \304#)\207" [beginning-of-line re-search-forward "\\$[{(]" line-end-position t] 4 (#$ . 60415)])#@53 Extract the target name from a line in the browser.
(make-obsolete 'makefile-browser-on-macro-line-p nil "30.1")
(defalias 'makefile-browser-this-line-target-name #[0 "\212\300\210\301\300x\210`\302 S{)\207" [nil "^ 	" line-end-position] 2 (#$ . 60646)])#@52 Extract the macro name from a line in the browser.
(make-obsolete 'makefile-browser-this-line-target-name nil "30.1")
(defalias 'makefile-browser-this-line-macro-name #[0 "\212\300 \210\301\302\303 \304#\210`\305\306w\210\211`{)\207" [beginning-of-line re-search-forward "\\$[{(]" line-end-position t "^})" nil] 4 (#$ . 60907)])#@91 Format a macro reference.
Uses `makefile-use-curly-braces-for-macros-p'.

(fn MACRO-NAME)
(make-obsolete 'makefile-browser-this-line-macro-name nil "30.1")
(defalias 'makefile-format-macro-ref #[257 "\301\302\303!\"\204 \301\304\303!\"\203 \305\306\"\207\203  \305\307\"\207\305\310\"\207" [makefile-use-curly-braces-for-macros-p char-equal 40 string-to-char 123 format "$%s" "${%s}" "$(%s)"] 5 (#$ . 61241)])#@10 

(fn N)
(defalias 'makefile-browser-get-state-for-line #[257 "SH\207" [makefile-browser-selection-vector] 3 (#$ . 61664)])#@19 

(fn N TO-STATE)
(make-obsolete 'makefile-browser-get-state-for-line nil "30.1")
(defalias 'makefile-browser-set-state-for-line #[514 "SI\207" [makefile-browser-selection-vector] 5 (#$ . 61795)])
(make-obsolete 'makefile-browser-set-state-for-line nil "30.1")
(defalias 'makefile-browser-toggle-state-for-line #[257 "\300\301!?\"\207" [makefile-browser-set-state-for-line makefile-browser-get-state-for-line] 5 (#$ . 61664)])
(make-obsolete 'makefile-browser-toggle-state-for-line nil "30.1")
(defalias 'makefile-last-line-p #[0 "\300 dU\207" [line-end-position] 2])
(defalias 'makefile-first-line-p #[0 "\300 eU\207" [line-beginning-position] 2])#@96 Return name of target or variable assignment that point is in.
If it isn't in one, return nil.
(defalias 'makefile-add-log-defun #[0 "\212\302\303 \210\304!\204 \304	!\205 \305\306!\211\262\204' \304\307!\204' \310y\311U\204 \211\2039 \312\313\314#\262\312\315\314#\262)\207" [makefile-macroassign-regex makefile-dependency-regex nil beginning-of-line looking-at match-string-no-properties 1 "$\\|#" -1 0 replace-regexp-in-string "[ 	]+\\'" "" "\\`[ 	]+"] 5 (#$ . 62454)])#@66 Create a filename suitable for use in `makefile-save-temporary'.
(defalias 'makefile-generate-temporary-filename #[0 "\300\301\302\303 \304\"\302\305\306 !\304\"#\207" [format "mktmp%s.%s" string-limit user-login-name 3 int-to-string user-uid] 6 (#$ . 62941)])
(byte-code "\300\301\302\303#\210\304\305!\207" [make-obsolete makefile-generate-temporary-filename make-temp-name "29.1" provide make-mode] 4)
