;ELC ;;; Compiled by cyd@localhost on Mon Apr 23 22:25:06 2007 ;;; from file /home/cyd/emacs/lisp/progmodes/make-mode.el ;;; in Emacs version 22.0.99 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19.29"))) (error "`make-mode.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301\302\303\304\305\306\307\310\311& \210\312\313\314\315\306\301%\210\316\317\320\313#\210\312\321\322\323\306\301\324\325&\210\312\326\302\327\306\301\324\325&\210\312\330\331\332\306\301\324\325&\207" [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-" custom-declare-face makefile-space ((((class color)) (:background "hotpink")) (t (:reverse-video t))) "Face to use for highlighting leading spaces in Font-Lock mode." put makefile-space-face face-alias makefile-targets ((t (:inherit font-lock-function-name-face))) "Face to use for additionally highlighting rule targets in Font-Lock mode." :version "22.1" makefile-shell "Face to use for additionally highlighting Shell commands in Font-Lock mode." makefile-makepp-perl ((((class color) (background light)) (:background "LightBlue1")) (((class color) (background dark)) (:background "DarkBlue")) (t (:reverse-video t))) "Face to use for additionally highlighting Perl code in Font-Lock mode."] 10) #@48 *Name of the macro- and target browser buffer. (custom-declare-variable 'makefile-browser-buffer-name '"*Macros and Targets*" '(#$ . -1676) :type 'string :group 'makefile) #@108 *String to append to all target names inserted by `makefile-insert-target'. ":" or "::" are common values. (custom-declare-variable 'makefile-target-colon '":" '(#$ . -1855) :type 'string :group 'makefile) #@288 *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 " := " . (custom-declare-variable 'makefile-macro-assign '" = " '(#$ . -2068) :type 'string :group 'makefile) #@81 *If non-nil, Makefile mode should install electric keybindings. Default is nil. (custom-declare-variable 'makefile-electric-keys 'nil '(#$ . -2462) :type 'boolean :group 'makefile) #@167 *Controls the style of generated macro references. Non-nil means macro references should use curly braces, like `${this}'. nil means use parentheses, like `$(this)'. (custom-declare-variable 'makefile-use-curly-braces-for-macros-p 'nil '(#$ . -2650) :type 'boolean :group 'makefile) #@99 *If non-nil, insert a TAB after a target colon. Otherwise, a space is inserted. The default is t. (custom-declare-variable 'makefile-tab-after-target-colon 't '(#$ . -2939) :type 'boolean :group 'makefile) #@62 *Number of blanks to the left of the browser selection mark. (custom-declare-variable 'makefile-browser-leftmost-column '10 '(#$ . -3151) :type 'integer :group 'makefile) #@78 *Column the cursor goes to when it moves up or down in the Makefile browser. (custom-declare-variable 'makefile-browser-cursor-column '10 '(#$ . -3328) :type 'integer :group 'makefile) #@67 *Column in which `makefile-backslash-region' inserts backslashes. (custom-declare-variable 'makefile-backslash-column '48 '(#$ . -3519) :type 'integer :group 'makefile) #@66 *If non-nil, `makefile-backslash-region' will align backslashes. (custom-declare-variable 'makefile-backslash-align 't '(#$ . -3694) :type 'boolean :group 'makefile) #@64 *String used to mark selected entries in the Makefile browser. (custom-declare-variable 'makefile-browser-selected-mark '"+ " '(#$ . -3866) :type 'string :group 'makefile) #@66 *String used to mark unselected entries in the Makefile browser. (custom-declare-variable 'makefile-browser-unselected-mark '" " '(#$ . -4045) :type 'string :group 'makefile) #@75 *If non-nil, cursor will move after item is selected in Makefile browser. (custom-declare-variable 'makefile-browser-auto-advance-after-selection-p 't '(#$ . -4228) :type 'boolean :group 'makefile) #@167 *If non-nil, `makefile-pickup-everything' picks up filenames as targets. This means it calls `makefile-pickup-filenames-as-targets'. Otherwise filenames are omitted. (custom-declare-variable 'makefile-pickup-everything-picks-up-filenames-p 'nil '(#$ . -4433) :type 'boolean :group 'makefile) #@313 *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". (custom-declare-variable 'makefile-cleanup-continuations 'nil '(#$ . -4732) :type 'boolean :group 'makefile) #@38 *Normal hook run by `makefile-mode'. (custom-declare-variable 'makefile-mode-hook 'nil '(#$ . -5159) :type 'hook :group 'makefile) (byte-code "\301B\302\301!\204\303\301\304\"\210\304\207" [current-load-list makefile-browser-hook default-boundp set-default nil] 3) #@165 *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'. (custom-declare-variable 'makefile-special-targets-list ''(("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")) '(#$ . -5435) :type '(repeat (list string)) :group 'makefile) (put 'makefile-special-targets-list 'risky-local-variable t) #@239 *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 ( ). (custom-declare-variable 'makefile-runtime-macros-list ''(("@") ("&") (">") ("<") ("*") ("^") ("+") ("?") ("%") ("$")) '(#$ . -6150) :type '(repeat (list string)) :group 'makefile) #@52 Regex used to find dependency lines in a makefile. (defvar makefile-dependency-regex "^\\(\\(?:\\$\\(?:[({]\\(?:\\$\\(?:[({]\\(?:\\$\\(?:[^({]\\|.[^\n$#})]+?[})]\\)\\|[^\n$#)}]\\)+?[})]\\|[^({]\\)\\|[^\n$#)}]\\)+?[})]\\|[^({]\\)\\|[^\n$#:=]\\)+?\\)\\(:\\)\\(?:[ ]*$\\|[^=\n]\\(?:[^#\n]*?;[ ]*\\(.+\\)\\)?\\)" (#$ . 6575)) #@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) (#$ . 6905)) #@63 Characters to skip to find a line that might be a dependency. (defvar makefile-dependency-skip "^:" (#$ . 7161)) #@62 Regex used to highlight rule action lines in font lock mode. (defvar makefile-rule-action-regex "^ [ ]*\\([-@]*\\)[ ]*\\(\\(?:.*\\\\\n\\)*.*\\)" (#$ . 7280)) #@69 Regex used to highlight makepp rule action lines in font lock mode. (defconst makefile-makepp-rule-action-regex "^ [ ]*\\(\\(?:\\(?:noecho\\|ignore[-_]error\\|[-@]+\\)[ ]*\\)*\\)\\(\\(&\\S +\\)?\\(?:.*\\\\\n\\)*.*\\)" (#$ . 7446)) #@66 Regex used to highlight BSD rule action lines in font lock mode. (defconst makefile-bsdmake-rule-action-regex (byte-code "\301\302\"\210\303\304\305\211$\207" [makefile-rule-action-regex string-match "-@" replace-match "-+@" t] 5) (#$ . 7685)) #@58 Regex used to find macro assignment lines in a makefile. (defconst makefile-macroassign-regex "\\(?:^\\|^export\\|^override\\|:\\|: *override\\) *\\([^ \n ][^:#= \n]*\\)[ ]*\\(?:!=\\|[*:+]?[:?]?=\\)" (#$ . 7937)) #@49 Regex used to find $(macro) uses in a makefile. (defconst makefile-var-use-regex "[^$]\\$[({]\\([-a-zA-Z0-9_.]+\\|[@%\\)" 1 font-lock-constant-face prepend) ("[^$]\\(\\$[@%*]\\)" 1 'makefile-targets append) "^\\(?: [ ]*\\)?" regexp-opt t "\\>[ ]*\\([^: \n#]*\\)" ((1 font-lock-keyword-face) (2 font-lock-variable-name-face)) append ((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)))] 11]) (byte-code "\306B\307\310 \n\311#!\210\312B\313\310 \311#!\210\314B\315\310 \f\311\316\317\320\321&!\210\322B\323\310 \324\325\326\327\330\331\332\333\334\335\336\337\340&!\210\341B\342\310 .\311\343\344%!\210\345B\346\347\310 \n\311\324\350\351\352&/\"!\210\353B\354\355!\207" [current-load-list makefile-var-use-regex makefile-statements makefile-automake-statements makefile-gmake-statements makefile-makepp-statements makefile-font-lock-keywords (lambda (#1=#:defconst-tmp-var) (defconst makefile-font-lock-keywords #1#)) makefile-make-font-lock-keywords t makefile-automake-font-lock-keywords (lambda (#2=#:defconst-tmp-var) (defconst makefile-automake-font-lock-keywords #2#)) makefile-gmake-font-lock-keywords (lambda (#3=#:defconst-tmp-var) (defconst makefile-gmake-font-lock-keywords #3#)) "^\\(?: [ ]*\\)?if\\(n\\)\\(?:def\\|eq\\)\\>" ("[^$]\\(\\$[({][@%*][DF][})]\\)" 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)) makefile-makepp-font-lock-keywords (lambda (#4=#:defconst-tmp-var) (defconst makefile-makepp-font-lock-keywords #4#)) nil "^\\(?: [ ]*\\)?\\(?:and[ ]+\\|else[ ]+\\|or[ ]+\\)?if\\(n\\)\\(?:def\\|eq\\|sys\\)\\>" ("[^$]\\(\\$[({]\\(?: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) ("\\" 1 'makefile-makepp-perl t) makefile-bsdmake-font-lock-keywords (lambda (#5=#:defconst-tmp-var) (defconst makefile-bsdmake-font-lock-keywords #5#)) "^\\(?: [ ]*\\)?\\.\\(?:el\\)?if\\(n?\\)\\(?:def\\|make\\)?\\>[ ]*\\(!?\\)" ("^[ ]*\\.for[ ].+[ ]\\(in\\)\\>" 1 font-lock-keyword-face) makefile-imake-font-lock-keywords (lambda (#6=#:defconst-tmp-var) (defconst makefile-imake-font-lock-keywords #6#)) append ("^XCOMM.*$" . font-lock-comment-face) ("XVAR\\(?:use\\|def\\)[0-9]" 0 font-lock-keyword-face prepend) ("@@" . font-lock-preprocessor-face) makefile-font-lock-syntactic-keywords (lambda (#7=#:defconst-tmp-var) (defconst makefile-font-lock-syntactic-keywords #7#)) (("[^|&;<>()`\\\"' \n]\\(#+\\)" 1 "_") ("\\\\\n" 0 ".")) makefile-bsdmake-statements cpp-font-lock-keywords] 17) #@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) (#$ . 15130)) #@123 *How to invoke make, for `makefile-query-targets'. This should identify a `make' command that can handle the `-q' option. (custom-declare-variable 'makefile-brave-make '"make" '(#$ . -15407) :type 'string :group 'makefile) #@532 *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. (custom-declare-variable 'makefile-query-one-target-method-function ''makefile-query-by-make-minus-q '(#$ . -15637) :type 'function :group 'makefile) (defvaralias 'makefile-query-one-target-method 'makefile-query-one-target-method-function) #@42 *Name of the Up-to-date overview buffer. (custom-declare-variable 'makefile-up-to-date-buffer-name '"*Makefile Up-to-date overview*" '(#$ . -16415) :type 'string :group 'makefile) #@42 Abbrev table in use in Makefile buffers. (defvar makefile-mode-abbrev-table nil (#$ . 16601)) (byte-code "\204 \301\300\302\"\210\302\207" [makefile-mode-abbrev-table define-abbrev-table nil] 3) #@43 The keymap that is used in Makefile mode. (defvar makefile-mode-map (byte-code "\302 \303\304\305#\210 \203%\303\306\307#\210\303\310\311#\210\303\312\313#\210\303\314\315#\210\303\316\317#\210\303\320\321#\210\303\322\323#\210\303\324\325#\210\303\326\327#\210\303\330\331#\210\303\332\333#\210\303\334\335#\210\303\336\337#\210\303\340\341#\210\303\342\343#\210\303\344\345#\210\303\346\347#\210\303\350\351#\210\303\352\353#\210\303\354\355#\210\303\356\357\302\357!B#\210\303\360\361#\210\303\362\363#\210\303\364\365#\210\303\366\367#\210\303\370\371#\210)\207" [map makefile-electric-keys make-sparse-keymap define-key ":" makefile-insert-target-ref "$" makefile-insert-macro-ref ":" makefile-electric-colon "=" makefile-electric-equal "." makefile-electric-dot "" makefile-pickup-filenames-as-targets "" makefile-switch-to-browser "" comment-region "" makefile-pickup-everything "" makefile-create-up-to-date-overview " " makefile-insert-gmake-function "" makefile-backslash-region " " makefile-automake-mode " " makefile-bsdmake-mode " " makefile-gmake-mode " " makefile-imake-mode " " makefile-mode " " makefile-makepp-mode "\360" makefile-previous-dependency "\356" makefile-next-dependency " " makefile-complete [menu-bar makefile-mode] "Makefile" [menu-bar makefile-mode browse] ("Pop up Makefile Browser" . makefile-switch-to-browser) [menu-bar makefile-mode complete] ("Complete Target or Macro" . makefile-complete) [menu-bar makefile-mode pickup] ("Find Targets and Macros" . makefile-pickup-everything) [menu-bar makefile-mode prev] ("Move to Previous Dependency" . makefile-previous-dependency) [menu-bar makefile-mode next] ("Move to Next Dependency" . makefile-next-dependency)] 6) (#$ . 16804)) #@59 The keymap that is used in the macro- and target browser. (defvar makefile-browser-map (byte-code "\301 \302\303\304#\210\302\305\304#\210\302\306\307#\210\302\310\307#\210\302\311\312#\210\302\313\314#\210\302\315\316#\210\302\317\320#\210\302\321\322#\210\302\323\324#\210\302\325\324#\210)\207" [map make-sparse-keymap define-key "n" makefile-browser-next-line "" "p" makefile-browser-previous-line "" " " makefile-browser-toggle "i" makefile-browser-insert-selection "I" makefile-browser-insert-selection-and-quit " " makefile-browser-insert-continuation "q" makefile-browser-quit "" undefined ""] 4) (#$ . 18583)) (byte-code "\302B\304\302!\204O\305\302\306 \307\310\311 #\210\307\312\313 #\210\307\314\315 #\210\307\316\317 #\210\307\320\321 #\210\307\322\323 #\210\307\324\325 #\210\307\326\325 #\210\307\327\330 #\210\307\331\332 #\210 )\"\210\303B\304\303!\204`\305\303\333\n!\"\210 \204|\307\334\335 #\210\307\336\337 #\210\307\327\340 #\210\307\331\341 #\210\302\207" [current-load-list st makefile-mode-syntax-table makefile-imake-mode-syntax-table default-boundp set-default make-syntax-table modify-syntax-entry 40 "() " 41 ")( " 91 "(] " 93 ")[ " 123 "(} " 125 "){ " 39 "\" " 96 35 "< " 10 "> " copy-syntax-table 47 ". 14" 42 ". 23" "'" ". b"] 6) #@50 Table of all target names known for this buffer. (defvar makefile-target-table nil (#$ . 19906)) (put 'makefile-target-table 'risky-local-variable t) #@49 Table of all macro names known for this buffer. (defvar makefile-macro-table nil (#$ . 20062)) (byte-code "\301\302\303\304#\210\305B\306\305!\204\307\305\310\"\210\311B\306\311!\204$\307\311\312\"\210\313B\306\313!\2043\307\313\312\"\210\314B\306\314!\204B\307\314\304\"\210\315B\306\315!\204Q\307\315\304\"\210\316B\306\316!\204`\307\316\312\"\210\317B\320\321!\207" [current-load-list put makefile-macro-table risky-local-variable t makefile-browser-client default-boundp set-default "A buffer in Makefile mode that is currently using the browser." makefile-browser-selection-vector nil makefile-has-prereqs makefile-need-target-pickup makefile-need-macro-pickup makefile-mode-hook makefile-gnumake-functions-alist (lambda (#1=#:defconst-tmp-var) (defconst makefile-gnumake-functions-alist #1#)) (("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"))] 4) #@3234 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} In the browser, use the following keys: \{makefile-browser-map} Makefile mode can be configured by modifying the following variables: `makefile-browser-buffer-name': Name of the macro- and target browser buffer. `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-browser-leftmost-column': Number of blanks to the left of the browser selection mark. `makefile-browser-cursor-column': Column in which the cursor is positioned when it moves up or down in the browser. `makefile-browser-selected-mark': String used to mark selected entries in the browser. `makefile-browser-unselected-mark': String used to mark unselected entries in the browser. `makefile-browser-auto-advance-after-selection-p': If this variable is set to a non-nil value the cursor will automagically advance to the next line after an item has been selected in the browser. `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-browser-hook': A function or list of functions to be called just before the browser is entered. This is executed in the makefile buffer. `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. (defalias 'makefile-mode #[nil "\306 \210\307\310\311\312\313$\210\307\310\314\312\313$\210\307\310\315\312\313$\210\316\317!\210\316\320!\210\316\321!\210\316\322!\210\316\323!\210\316\300!\210\324\316\301!\210\325\316\303!\210\n\316\304!\210\326 '\316\327!\210\330\316\331!\210\332\316\333!\210\334\316\335!\210\336\316\337!\210\340\341(\342)\343*!\210\344+!\210\313,\345\346!\207" [font-lock-defaults add-log-current-defun-function makefile-imenu-generic-expression imenu-generic-expression dabbrev-abbrev-skip-leading-regexp makefile-mode-abbrev-table kill-all-local-variables add-hook write-file-functions makefile-warn-suspicious-lines nil t makefile-warn-continuations makefile-cleanup-continuations make-local-variable makefile-target-table makefile-macro-table makefile-has-prereqs makefile-need-target-pickup makefile-need-macro-pickup (makefile-font-lock-keywords nil nil ((36 . ".")) backward-paragraph (font-lock-syntactic-keywords . makefile-font-lock-syntactic-keywords)) makefile-add-log-defun "\\$" fill-paragraph-function makefile-fill-paragraph comment-start "#" comment-end "" comment-start-skip "#+[ ]*" indent-line-function indent-to-left-margin makefile-mode "Makefile" use-local-map set-syntax-table run-mode-hooks makefile-mode-hook local-abbrev-table major-mode mode-name makefile-mode-map makefile-mode-syntax-table indent-tabs-mode] 5 (#$ . 21418) nil]) (byte-code "\302\303N\204\f\304\302\303\305#\210\306\307!\204\304\307\310\311#\210\307B\312\307!\204(\313\307\314 \"\210\306\315!\2044\304\315\310\311#\210\315B\312\315!\204D\313\315\316 \"\210\304\301\310\311#\210\301B\312\301!\204^\313\301\317\301\320\"\210 \"\210\304\311\321\322#\207" [current-load-list makefile-automake-mode-abbrev-table makefile-automake-mode-hook variable-documentation put "Hook run when entering Makefile.am 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 default-boundp set-default make-sparse-keymap makefile-automake-mode-syntax-table make-syntax-table define-abbrev-table nil derived-mode-parent makefile-mode] 5) #@240 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 step during initialization. \{makefile-automake-mode-map} (defalias 'makefile-automake-mode #[nil "\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\2036 \321 =\203<\322\f\323 \"\210)\324 !\210\325\f!\210\326AB)\327\330!\203[\330\331!\207\332\331!\207" [delay-mode-hooks major-mode mode-name makefile-automake-mode-map makefile-automake-mode-syntax-table parent 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 use-local-map set-syntax-table makefile-automake-font-lock-keywords fboundp run-mode-hooks makefile-automake-mode-hook run-hooks makefile-automake-mode-abbrev-table local-abbrev-table font-lock-defaults] 6 (#$ . 26878) nil]) (byte-code "\302\303N\204\f\304\302\303\305#\210\306\307!\204\304\307\310\311#\210\307B\312\307!\204(\313\307\314 \"\210\306\315!\2044\304\315\310\311#\210\315B\312\315!\204D\313\315\316 \"\210\304\301\310\311#\210\301B\312\301!\204^\313\301\317\301\320\"\210 \"\210\304\311\321\322#\207" [current-load-list makefile-gmake-mode-abbrev-table makefile-gmake-mode-hook variable-documentation put "Hook run when entering GNUmakefile 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 default-boundp set-default make-sparse-keymap makefile-gmake-mode-syntax-table make-syntax-table define-abbrev-table nil derived-mode-parent makefile-mode] 5) #@231 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 step during initialization. \{makefile-gmake-mode-map} (defalias 'makefile-gmake-mode #[nil "\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\2036 \321 =\203<\322\f\323 \"\210)\324 !\210\325\f!\210\326AB)\327\330!\203[\330\331!\207\332\331!\207" [delay-mode-hooks major-mode mode-name makefile-gmake-mode-map makefile-gmake-mode-syntax-table parent 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 use-local-map set-syntax-table makefile-gmake-font-lock-keywords fboundp run-mode-hooks makefile-gmake-mode-hook run-hooks makefile-gmake-mode-abbrev-table local-abbrev-table font-lock-defaults] 6 (#$ . 28748) nil]) (byte-code "\302\303N\204\f\304\302\303\305#\210\306\307!\204\304\307\310\311#\210\307B\312\307!\204(\313\307\314 \"\210\306\315!\2044\304\315\310\311#\210\315B\312\315!\204D\313\315\316 \"\210\304\301\310\311#\210\301B\312\301!\204^\313\301\317\301\320\"\210 \"\210\304\311\321\322#\207" [current-load-list makefile-makepp-mode-abbrev-table makefile-makepp-mode-hook variable-documentation put "Hook run when entering Makeppfile 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 default-boundp set-default make-sparse-keymap makefile-makepp-mode-syntax-table make-syntax-table define-abbrev-table nil derived-mode-parent makefile-mode] 5) #@234 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 step during initialization. \{makefile-makepp-mode-map} (defalias 'makefile-makepp-mode #[nil "\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\2036 \321 =\203<\322\f\323 \"\210)\324 !\210\325\f!\210\306\326!\210\327 AB \330!B!)\331\332!\203i\332\333!\207\334\333!\207" [delay-mode-hooks major-mode mode-name makefile-makepp-mode-map makefile-makepp-mode-syntax-table parent 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 use-local-map set-syntax-table makefile-rule-action-regex makefile-makepp-font-lock-keywords ("Functions" "^[ ]*\\(?:make\\)?sub[ ]+\\([A-Za-z0-9_]+\\)" 1) fboundp run-mode-hooks makefile-makepp-mode-hook run-hooks makefile-makepp-mode-abbrev-table local-abbrev-table makefile-makepp-rule-action-regex font-lock-defaults imenu-generic-expression] 6 (#$ . 30592) nil]) (byte-code "\302\303N\204\f\304\302\303\305#\210\306\307!\204\304\307\310\311#\210\307B\312\307!\204(\313\307\314 \"\210\306\315!\2044\304\315\310\311#\210\315B\312\315!\204D\313\315\316 \"\210\304\301\310\311#\210\301B\312\301!\204^\313\301\317\301\320\"\210 \"\210\304\311\321\322#\207" [current-load-list makefile-bsdmake-mode-abbrev-table makefile-bsdmake-mode-hook variable-documentation put "Hook run when entering BSDmakefile 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 default-boundp set-default make-sparse-keymap makefile-bsdmake-mode-syntax-table make-syntax-table define-abbrev-table nil derived-mode-parent makefile-mode] 5) #@238 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 step during initialization. \{makefile-bsdmake-mode-map} (defalias 'makefile-bsdmake-mode #[nil "\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\2036 \321 =\203<\322\f\323 \"\210)\324 !\210\325\f!\210 \306\326!\210!\306\327!\210\330\306\331!\210\"\332#AB#)\333\334!\203r\334\335!\207\336\335!\207" [delay-mode-hooks major-mode mode-name makefile-bsdmake-mode-map makefile-bsdmake-mode-syntax-table parent 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 use-local-map set-syntax-table makefile-dependency-regex makefile-dependency-skip "^:!" makefile-rule-action-regex makefile-bsdmake-font-lock-keywords fboundp run-mode-hooks makefile-bsdmake-mode-hook run-hooks makefile-bsdmake-mode-abbrev-table local-abbrev-table makefile-bsdmake-dependency-regex makefile-bsdmake-rule-action-regex font-lock-defaults] 6 (#$ . 32628) nil]) (byte-code "\302\303N\204\f\304\302\303\305#\210\306\307!\204\304\307\310\311#\210\307B\312\307!\204(\313\307\314 \"\210\304\301\310\311#\210\301B\312\301!\204B\313\301\315\301\316\"\210 \"\210\304\311\317\320#\207" [current-load-list makefile-imake-mode-abbrev-table makefile-imake-mode-hook variable-documentation put "Hook run when entering Imakefile 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 default-boundp set-default make-sparse-keymap define-abbrev-table nil derived-mode-parent makefile-mode] 5) #@231 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 step during initialization. \{makefile-imake-mode-map} (defalias 'makefile-imake-mode #[nil "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315 !\204'\316 \317 \"\210\320 !\210\321\f!\210 \322AB\323\324\325\"\210\237+\326\327!\203R\327\330!\207\331\330!\207" [delay-mode-hooks major-mode mode-name makefile-imake-mode-map makefile-imake-mode-syntax-table makefile-imake-mode-abbrev-table make-local-variable t makefile-mode makefile-imake-mode "Imakefile" mode-class put keymap-parent set-keymap-parent current-local-map use-local-map set-syntax-table makefile-imake-font-lock-keywords nil mapc #[(elt) ":\205 @\302=?\205 B\211\207" [elt new font-lock-syntactic-keywords] 2] fboundp run-mode-hooks makefile-imake-mode-hook run-hooks local-abbrev-table font-lock-defaults new base] 5 (#$ . 34566) nil]) #@58 Move point to the beginning of the next dependency line. (defalias 'makefile-next-dependency #[nil "`\301\210\302\301!\203\303 \210\304\202b\210\301)\207" [here nil makefile-match-dependency beginning-of-line t] 2 (#$ . 35604) nil]) #@62 Move point to the beginning of the previous dependency line. (defalias 'makefile-previous-dependency #[nil "`\301 \210\302\303\215)\207" [pt beginning-of-line found (byte-code "\303x\210o\204=\303f\304=\305u\210\204\306`\307\"\204\310 \204`e\311\\V\203/`SSf\312=\204\313 !\203\314\315\316\"\210\202\nb\210\303\207" [makefile-dependency-skip makefile-dependency-regex pt nil 61 -1 get-text-property face beginning-of-line 2 92 looking-at throw found t] 3)] 2 (#$ . 35850) nil]) #@136 Prompt for the name of a special target to insert. Only does electric insertion at beginning of line. Anywhere else just self-inserts. (defalias 'makefile-electric-dot #[(arg) "n\203\301 \207\302!\207" [arg makefile-insert-special-target self-insert-command] 2 (#$ . 36350) "p"]) #@84 Prompt for and insert a special target name. Uses `makefile-special-targets' list. (defalias 'makefile-insert-special-target #[nil "\302 \210\303\304\305\211\211%\306 G!?\205\307 \310\261\210\311 )\207" [makefile-special-targets-list special-target makefile-pickup-targets completing-read "Special target: " nil zerop "." ":" makefile-forward-after-target-colon] 6 (#$ . 36639) nil]) #@126 Prompt for name of a macro to insert. Only does prompting if point is at beginning of line. Anywhere else just self-inserts. (defalias 'makefile-electric-equal #[(arg) "\301 \210n\203 \302\303!\207\304!\207" [arg makefile-pickup-macros call-interactively makefile-insert-macro self-insert-command] 2 (#$ . 37035) "p"]) #@36 Prepare definition of a new macro. (defalias 'makefile-insert-macro #[(macro-name) "\303 \210\304G!?\205\305 \210 \261\210\306\307!\207" [macro-name makefile-macro-assign makefile-need-macro-pickup makefile-pickup-macros zerop beginning-of-line t makefile-remember-macro] 2 (#$ . 37362) "sMacro Name: "]) #@72 Complete on a list of known macros, then insert complete ref at point. (defalias 'makefile-insert-macro-ref #[(macro-name) "\301!\207" [macro-name makefile-do-macro-insertion] 2 (#$ . 37680) (list (progn (makefile-pickup-macros) (completing-read "Refer to macro: " makefile-macro-table nil nil nil)))]) #@55 Prepare definition of a new target (dependency line). (defalias 'makefile-insert-target #[(target-name) "\303G!?\205\304 \210 \261\210\305 \210\306\210\307\310!\207" [target-name makefile-target-colon makefile-need-target-pickup zerop beginning-of-line makefile-forward-after-target-colon nil t makefile-remember-target] 2 (#$ . 37990) "sTarget: "]) #@72 Complete on a list of known targets, then insert TARGET-NAME at point. (defalias 'makefile-insert-target-ref #[(target-name) "\301G!?\205\f\302\261\207" [target-name zerop " "] 2 (#$ . 38354) (list (progn (makefile-pickup-targets) (completing-read "Refer to target: " makefile-target-table nil nil nil)))]) #@110 Prompt for name of new target. Prompting only happens at beginning of line. Anywhere else just self-inserts. (defalias 'makefile-electric-colon #[(arg) "n\203\301\302!\207\303!\207" [arg call-interactively makefile-insert-target self-insert-command] 2 (#$ . 38672) "p"]) #@53 Notice names of all target definitions in Makefile. (defalias 'makefile-pickup-targets #[nil "\205N\305\211\305\212eb\210\306\305!\203J\307\224b\210\310`\311\305w\210`\"\312\313!?\314\f \"\2034\315\316\f\317 #\210\320\305w\210l\206@\305f\321=*\203\305y\210\202)\315\322!\207" [makefile-need-target-pickup makefile-target-table makefile-has-prereqs has-prereqs target-name 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."] 5 (#$ . 38952) nil]) #@52 Notice names of all macro definitions in Makefile. (defalias 'makefile-pickup-macros #[nil "\2059\304\211\212eb\210\305\n\304\306#\2035\307\224b\210\310`\311\304w\210`\"\312 !\203.\313\314 \315 #\210)\304y\210\202\f)\313\316!\207" [makefile-need-macro-pickup makefile-macro-table makefile-macroassign-regex macro-name 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."] 5 (#$ . 39576) nil]) #@98 Notice names of all macros and targets in Makefile. Prefix arg means force pickups to be redone. (defalias 'makefile-pickup-everything #[(arg) "\203\304\211\305 \210\306 \210 \205\307 \207" [arg 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] 2 (#$ . 40104) "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. (defalias 'makefile-pickup-filenames-as-targets #[nil "\300\301\302\303\304\305 !\206\f\303\"\"\207" [mapc #[(name) "\302!\206\303 \"\206\304!\205\305\306\"\207" [name makefile-ignored-files-in-pickup-regex file-directory-p string-match makefile-remember-target message "Picked up file \"%s\" as target"] 3] file-name-all-completions "" file-name-directory buffer-file-name] 6 (#$ . 40524) nil]) #@144 Perform completion on Makefile construct preceding point. Can complete variable and target names. The context determines which are considered. (defalias 'makefile-complete #[nil "\212\306\307x\210`)\211`{\307\211\212b\210hn\204B\f\310U\203%\311\202B\f\312U\2041\f\313U\203B\f\314u\210n\204Bh\310U\203B\311*\315\n?\205J  \"!\316 !\"\211\"\311=\203\200\n\203n \312=\203j\317\202|\320\202|\212b\210n)\203{\321\202|\322c\202\337\"\204\217\323\324 \"\210\325 \202\337 \"\230\204\307`|\210\n\204\247\326\" \"\203\301 \312=\206\257##\327\330!\210\331\"!\210\327\332!)\202\337\"c\202\337\323\333!\210\334 !\"$\335\220\336$ \"\221\210)\323\337!.\207" [beg try do-macros paren pc makefile-target-table "^$(){}:#= \n" nil 36 t 123 40 -1 append try-completion 125 41 ":" " " message "Can't find completion for \"%s\"" ding assoc delete-backward-char 2 makefile-do-macro-insertion 1 "Making completion list..." all-completions "*Completions*" display-completion-list "Making completion list...done" makefile-macro-table table completion makefile-use-curly-braces-for-macros-p list] 5 (#$ . 41128) nil]) #@467 Insert, align, or delete end-of-line backslashes on the lines in the region. With no argument, inserts backslashes and aligns existing backslashes. With an argument, deletes 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. (defalias 'makefile-backslash-region #[(from to delete-flag) "\212b\210 \306 \n\f\307\223\210 \203Z\2048`\fW\2038\307\210h\310U\203-\311u\210\312\307x\210 iT]\313y\210\202 \246\314V\203Z \\\311\\\245_\211\315 W\203Y)b\210`\nW\203ml\203m\313y\210\202]`\nW\203\223\212\313y\210`\nW)\203\223\204\212\316 !\210\202\215\317 \210\313y\210\202m\n\307\211\223+\207" [from makefile-backslash-column endmark column to makefile-backslash-align make-marker nil 92 -1 " " 1 0 window-width makefile-append-backslash makefile-delete-backslash delete-flag tab-width adjusted] 4 (#$ . 42277) "r\nP"]) (defalias 'makefile-append-backslash #[(column) "\302\210h\303U\203\304u\210\305 \210\306 ?\205\307\"\207\306 ?\205!\307\"\210\310c\207" [column makefile-backslash-align nil 92 -1 delete-horizontal-space indent-to 1 "\\"] 3]) (defalias 'makefile-delete-backslash #[nil "\300\210n\206\301u\210\302\303!\205`T\304\300x\210`|\207" [nil -1 looking-at "\\\\" " "] 3]) (defalias 'makefile-fill-paragraph #[(arg) "\212\304 \210\305\306!\203\307\202\227\310\311!Sf\312=\204\"\310\313!Sf\312=\203w\307\210\212\313\210h\312U\2035\313\210\202)\307u\210`)\212h\312U\203G\314\210\202;`)\214 }\210\315ed\316#\210\307\317\307!\210)\315ed\307#\210db\210\320\307x\313W\203r`d|\210+\316\202\227\305 !\203\226\214`\321\314!}\210\307\317\307!\210)\315ed\307#\210)\316\202\227\316)\207" [end beginning fill-paragraph-function makefile-macroassign-regex beginning-of-line looking-at "^#+\\s-*" nil line-end-position 1 92 0 2 makefile-backslash-region t fill-paragraph "\n" line-beginning-position] 4]) (defalias 'makefile-browser-format-target-line #[(target selected) "\306\307\310\" \203 \n\202 \311Q\f #\207" [makefile-browser-leftmost-column selected makefile-browser-selected-mark makefile-browser-unselected-mark target makefile-target-colon format make-string 32 "%s%s"] 4]) (defalias 'makefile-browser-format-macro-line #[(macro selected) "\305\306\307\" \203 \n\202 \310\f!Q!\207" [makefile-browser-leftmost-column selected makefile-browser-selected-mark makefile-browser-unselected-mark macro format make-string 32 makefile-format-macro-ref] 5]) (defalias 'makefile-browser-fill #[(targets macros) "\304eb\210\305 \210\306\307 \310#\210\306\311\n\310#\210\312\313ed#\210dSb\210\314\315!\210eb\210 u)\207" [inhibit-read-only targets macros makefile-browser-cursor-column t erase-buffer mapconcat #[(item) "\301@\302\"\303\261\207" [item makefile-browser-format-target-line nil "\n"] 3] "" #[(item) "\301@\302\"\303\261\207" [item makefile-browser-format-macro-line nil "\n"] 3] sort-lines nil delete-char 1] 4]) #@53 Move the browser selection cursor to the next line. (defalias 'makefile-browser-next-line #[nil "\301 ?\205 \302y\210u\207" [makefile-browser-cursor-column makefile-last-line-p 1] 1 (#$ . 45421) nil]) #@57 Move the browser selection cursor to the previous line. (defalias 'makefile-browser-previous-line #[nil "\301 ?\205 \302y\210u\207" [makefile-browser-cursor-column makefile-first-line-p -1] 1 (#$ . 45630) nil]) #@54 Leave the browser and return to the makefile buffer. (defalias 'makefile-browser-quit #[nil "\302\303\302!\210\304\305!\210\306 !)\207" [makefile-browser-client my-client nil set-buffer-modified-p quit-window t pop-to-buffer] 2