mirror of
https://salsa.debian.org/srivasta/make-dfsg.git
synced 2025-02-07 04:55:46 +00:00
Misc cleanup. Fixed `Features' list slightly.
This commit is contained in:
parent
da1fb0f2e9
commit
78079dd062
1 changed files with 40 additions and 38 deletions
78
make.texinfo
78
make.texinfo
|
@ -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}.
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue