Function: makefile-mode

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:

`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. (fn)