Misc cleanup. Fixed `Features' list slightly.

This commit is contained in:
Roland McGrath 1988-07-02 17:49:14 +00:00
parent da1fb0f2e9
commit 78079dd062

View file

@ -1489,17 +1489,17 @@ reasons:
@itemize @bullet @itemize @bullet
@item @item
You may wish to override the usual implicit rule for a few files whose You may wish to override the usual implicit rule for a few
names cannot be categorized syntactically but can be given in an files whose names cannot be categorized syntactically but
explicit list. can be given in an explicit list.
@item @item
If you cannot be sure of the precise contents of the directories you If you cannot be sure of the precise contents of the directories
are using, you may not be sure which other irrelevant files might lead you are using, you may not be sure which other irrelevant files
@code{make} to use the wrong implicit rule. The choice might depend might lead @code{make} to use the wrong implicit rule. The choice
on the order in which the implicit rule search is done. With static might depend on the order in which the implicit rule search is done.
pattern rules, there is no uncertainty: each rule applies to precisely With static pattern rules, there is no uncertainty: each rule applies
the targets specified. to precisely the targets specified.
@end itemize @end itemize
@node Multiple Rules, Double-Colon, Static Pattern, Rules @node Multiple Rules, Double-Colon, Static Pattern, Rules
@ -1603,14 +1603,14 @@ a @samp{#} at the start of a word starts a comment.
@cindex silent operation @cindex silent operation
@cindex @@ (in commands) @cindex @@ (in commands)
@cindex -n @cindex -n
Normally @code{make} prints each command line before it is executed. We Normally @code{make} prints each command line before it is executed.
call this @dfn{echoing} because it gives the appearance that you are typing We call this @dfn{echoing} because it gives the appearance that you
the commands yourself. are typing the commands yourself.
When a line starts with @samp{@@}, it is normally not echoed. The When a line starts with @samp{@@}, it is normally not echoed. The
@samp{@@} is discarded before the command is passed to the shell. Typically @samp{@@} is discarded before the command is passed to the shell.
you would use this for a command whose only effect is to print something, Typically you would use this for a command whose only effect is to
such as an @code{echo} command. print something, such as an @code{echo} command.
When @code{make} is given the flag @samp{-n}, echoing is all that happens, When @code{make} is given the flag @samp{-n}, echoing is all that happens,
no execution. @xref{Options}. In this case and only this case, even the no execution. @xref{Options}. In this case and only this case, even the
@ -1623,8 +1623,7 @@ actually doing them.
The @samp{-s} flag to @code{make} prevents all echoing, as if all commands The @samp{-s} flag to @code{make} prevents all echoing, as if all commands
started with @samp{@@}. A rule in the makefile for the special target started with @samp{@@}. A rule in the makefile for the special target
@code{.SILENT} has the same effect (@pxref{Special Targets}). @code{.SILENT} has the same effect (@pxref{Special Targets}).
@code{.SILENT} is essentially obsolete since @samp{@@} is more @code{.SILENT} is essentially obsolete since @samp{@@} is more general.@refill
general.@refill
@node Execution, Errors, Echoing, Commands @node Execution, Errors, Echoing, Commands
@section Command Execution @section Command Execution
@ -1662,8 +1661,8 @@ foo : bar/lose
@end group @end group
@vindex SHELL @vindex SHELL
The program used as the shell is taken from the variable @code{SHELL}. By The program used as the shell is taken from the variable @code{SHELL}.
default, the program @file{/bin/sh} is used. By default, the program @file{/bin/sh} is used.
Unlike most variables, the variable @code{SHELL} will not be set from the Unlike most variables, the variable @code{SHELL} will not be set from the
environment, except in a recursive @code{make}. This is because the environment, except in a recursive @code{make}. This is because the
@ -1678,7 +1677,7 @@ choices like this to affect the functioning of makefiles.
@cindex error (in commands) @cindex error (in commands)
After each shell command returns, @code{make} looks at its exit status. After each shell command returns, @code{make} looks at its exit status.
If the command completed successfully, the next command line is executed in If the command completed successfully, the next command line is executed in
a new shell, or after the last command line the rule is finished. a new shell, or after the last command line is executed, the rule is finished.
If there is an error (the exit status is nonzero), @code{make} gives up on If there is an error (the exit status is nonzero), @code{make} gives up on
the current rule, and perhaps on all rules. the current rule, and perhaps on all rules.
@ -1701,7 +1700,9 @@ all commands of all rules. A rule in the makefile for the special target
obsolete because @samp{-} is more general. obsolete because @samp{-} is more general.
When errors are to be ignored, because of either a @samp{-} or the When errors are to be ignored, because of either a @samp{-} or the
@samp{-i} flag, @code{make} treats an error return just like success. @samp{-i} flag, @code{make} treats an error return just like success,
except that it prints out a message telling you the status code the
command exited with and saying that the error has been ignored.
@cindex -k @cindex -k
When an error happens that @code{make} has not been told to ignore, When an error happens that @code{make} has not been told to ignore,
@ -1807,7 +1808,7 @@ executed for recursive invocations.
Also, any arguments that define variable values are added to @code{MAKE}, Also, any arguments that define variable values are added to @code{MAKE},
so the sub-@code{make} gets them too. Thus, if you do @samp{make so the sub-@code{make} gets them too. Thus, if you do @samp{make
CFLAGS=-O}, so that all C-compilations will be optimized, the CFLAGS=-O}, so that all C compilations will be optimized, the
sub-@code{make} is run with @samp{cd subdir; /bin/make CFLAGS=-O}.@refill sub-@code{make} is run with @samp{cd subdir; /bin/make CFLAGS=-O}.@refill
As a special feature, using the variable @code{MAKE} in the commands of a As a special feature, using the variable @code{MAKE} in the commands of a
@ -1883,7 +1884,7 @@ The options @samp{-c}, @samp{-d}, @samp{-f}, @samp{-I}, @samp{-o}, and
@samp{-p} are not put into @code{MAKEFLAGS}; these options are not passed @samp{-p} are not put into @code{MAKEFLAGS}; these options are not passed
down.@refill down.@refill
If you don't want to pass the other the flags down, you must change the If you don't want to pass the other flags down, you must change the
value of @code{MAKEFLAGS}, like this: value of @code{MAKEFLAGS}, like this:
@example @example
@ -1919,7 +1920,7 @@ make: Entering directory `/u/gnu/make'.
@end example @end example
@noindent @noindent
before doing anything else, and a line of this form: before doing anything else, and a line of the form:
@example @example
make: Leaving directory `/u/gnu/make'. make: Leaving directory `/u/gnu/make'.
@ -4539,8 +4540,9 @@ in an archive reference. @xref{Automatic}.
@item @item
The automatic variables @code{$@@}, @code{$*}, @code{$<} and @code{$%} have The automatic variables @code{$@@}, @code{$*}, @code{$<} and @code{$%} have
corresponding forms such as @code{$(@@F)} and @code{$(@@D)} which with only corresponding forms such as @code{$(@@F)} and @code{$(@@D)} which are the
the filename and only the directory. @xref{Automatic}.@refill simple form (such as @code{$@@}) with only the filename and only the
directory, respectively. @xref{Automatic}.@refill
@item @item
Substitution variable references. @xref{Reference}. Substitution variable references. @xref{Reference}.
@ -4558,7 +4560,7 @@ options are specified. @xref{Recursion}. I'm told that Unix System V
An implicit suffix rule @samp{@var{x}.a:} makes An implicit suffix rule @samp{@var{x}.a:} makes
@file{@var{lib}(@var{name}.o)} from @file{@var{name}.@var{x}}. In GNU @file{@var{lib}(@var{name}.o)} from @file{@var{name}.@var{x}}. In GNU
@code{make}, this is actually implemented by using one pattern rule for @code{make}, this is actually implemented by using one pattern rule for
making library-archive files and rule-chaining. @xref{Chained Rules}.@refill making library-archive files and rule chaining. @xref{Chained Rules}.@refill
@end itemize @end itemize
The Sun Unix (and probably System V) version of @code{make} fails to The Sun Unix (and probably System V) version of @code{make} fails to
@ -4566,7 +4568,7 @@ support variable references using braces (@samp{@{} and @samp{@}}) rather
than parantheses (@pxref{Reference}), and to set the @code{MFLAGS} variable than parantheses (@pxref{Reference}), and to set the @code{MFLAGS} variable
to the list of options (the same list as in @code{MAKEFLAGS}).@refill to the list of options (the same list as in @code{MAKEFLAGS}).@refill
The remaining new features are inventions new to GNU @code{make}. The remaining features are inventions new to GNU @code{make}.
@itemize @bullet @itemize @bullet
@item @item
@ -4591,13 +4593,13 @@ come from the environment since environment variable
definitions do not override those in makefiles. definitions do not override those in makefiles.
@itemize @bullet @itemize @bullet
@item @item
The @samp{-c} to change directory. @xref{Options}. The @samp{-c} command option to change directories. @xref{Options}.
@item @item
Simply-expanded variables. @xref{Flavors}. Simply-expanded variables. @xref{Flavors}.
@item @item
Phony targets. @xref{Phony Targets}. Phony targets with the special target @code{.PHONY}. @xref{Phony Targets}.
@xref{Recursion}. @xref{Recursion}.
Variable expansion functions. @xref{Functions}. Variable expansion functions. @xref{Functions}.
@ -4626,16 +4628,13 @@ The automatic variable @code{$^} contains a list of all
dependencies of the current target. @xref{Automatic}. dependencies of the current target. @xref{Automatic}.
@item @item
Included makefiles never determine the default goal. Included makefiles never determine the default goal.
There is a fully complete default set of implicit rules using There is a complete default set of implicit rules to operate on libraries,
file with suffixes @samp{.out}, @samp{.a}, @samp{.o}, assembler, C, Fortran, Pascal, EFL, Ratfor, Yacc, and Lex sources and RCS
@samp{.s}, @samp{.c}, @samp{.f}, @samp{.p}, @samp{.F}, and SCCS files. @xref{Catalogue of Rules}.
@samp{.e}, @samp{.r}, @samp{.y}, @samp{.ye}, @samp{.yr} and
@samp{.l}. @xref{Catalogue of Rules}.@refill
@item @item
Leading sequences of @samp{./} are stripped from file names, Leading sequences of @samp{./} are stripped from file names, so that
so that @file{./@var{file}} and @file{@var{file}} are @file{./@var{file}} and @file{@var{file}} are considered to be the same file.
considered to be the same file.
@item @item
Stripping leading sequences of @samp{./} from file names, so that Stripping leading sequences of @samp{./} from file names, so that
Dependencies of the form @samp{-l@var{name}} are searched for Dependencies of the form @samp{-l@var{name}} are searched for
@ -4654,6 +4653,9 @@ execute commands. It is reset to @samp{/bin/sh}.@refill
@item @item
Intermediate implicit files. @xref{Chained Rules}. Intermediate implicit files. @xref{Chained Rules}.
@item
@item
Special search method for library dependencies written in the form Special search method for library dependencies written in the form
@samp{-l@var{name}}. @xref{Libraries/Search}. @samp{-l@var{name}}. @xref{Libraries/Search}.