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.
Uses keymap `makefile-mode-map', which is not currently defined.
In the browser, use the following keys:
Uses keymap `makefile-browser-map', which is not currently defined.
Makefile mode can be configured by modifying the following variables:
Name of the macro- and target browser buffer.
The string that gets appended to all target names
inserted by `makefile-insert-target'.
":" or "::" are quite common values.
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 " := " .
If you want a TAB (instead of a space) to be appended after the
target colon, then set this to a non-nil value.
Number of blanks to the left of the browser selection mark.
Column in which the cursor is positioned when it moves
up or down in the browser.
String used to mark selected entries in the browser.
String used to mark unselected entries in the browser.
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.
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.
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".
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. (fn)