● An
explicit rule
says when and how to remake one or more files, called the rule's targets. It lists the
other files that the targets depend on, call the
prerequisites
of the target, and may also give commands
to use to create or update the targets. See section Writing Rules.
● An
implicit rule
says when and how to remake a class of files based on their names. It describes how a
target may depend on a file with a name similar to the target and gives commands to create or update
such a target. See section Using Implicit Rules.
● A
variable definition
is a line that specifies a text string value for a variable that can be substituted into
the text later. The simple makefile example shows a variable definition for objects as a list of all object
files (see section Variables Make Makefiles Simpler).
● A
directive
is a command for make to do something special while reading the makefile. These include:
❍ Reading another makefile (see section Including Other Makefiles).
❍ Deciding (based on the values of variables) whether to use or ignore a part of the makefile (see
section Conditional Parts of Makefiles).
❍ Defining a variable from a verbatim string containing multiple lines (see section Defining
Variables Verbatim).
● `#' in a line of a makefile starts a
comment
. It and the rest of the line are ignored, except that a trailing
backslash not escaped by another backslash will continue the comment across multiple lines. A line
containing just a comment (with perhaps spaces before it) is effectively blank, and is ignored. If you
want a literal #, escape it with a backslash (e.g., \#). Comments may appear on any line in the
makefile, although they are treated specially in certain situations.
Within a command script (if the line begins with a TAB character) the entire line is passed to the shell,
just as with any other line that begins with a TAB. The shell decides how to interpret the text: whether
or not this is a comment is up to the shell.
Within a define directive, comments are not ignored during the definition of the variable, but rather
kept intact in the value of the variable. When the variable is expanded they will either be treated as
make comments or as command script text, depending on the context in which the variable is
evaluated.
[ < ] [ > ]
[ << ] [ Up ] [ >> ]
[Top] [Contents]
[Index]
[ ? ]
http://www.gnu.org/software/make/manual/html_mono/make.html(第 19/246 页)2005-10-10 18:37:16