Changeset 153 for branches/GNU/src/gmake/doc/make.texi
- Timestamp:
- Sep 8, 2004, 4:43:30 AM (21 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/GNU/src/gmake/doc/make.texi
r53 r153 8 8 @c FSF publishers: format makebook.texi instead of using this file directly. 9 9 10 @set RCSID $Id: make.texi,v 1.1 6 2003/11/03 22:04:12psmith Exp $10 @set RCSID $Id: make.texi,v 1.18 2004/02/23 06:25:54 psmith Exp $ 11 11 @set EDITION 0.61 12 12 @set VERSION 3.81 … … 39 39 of @cite{The GNU Make Manual}, for @code{make}, Version @value{VERSION}. 40 40 41 Copyright 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003 41 Copyright 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 42 1998, 1999, 2000, 2002, 2003, 2004 42 43 Free Software Foundation, Inc. 43 44 … … 58 59 @subtitle GNU @code{make} Version @value{VERSION} 59 60 @subtitle @value{UPDATE-MONTH} 60 @author Richard M. Stallman, Roland McGrath, Paul Smith61 @author Richard M. Stallman, Roland McGrath, Paul D. Smith 61 62 @page 62 63 @vskip 0pt plus 1filll 63 64 Copyright @copyright{} 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 64 1996, 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc.65 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004 Free Software Foundation, Inc. 65 66 @sp 2 66 67 Published by the Free Software Foundation @* … … 351 352 This manual describes GNU @code{make}, which was implemented by Richard 352 353 Stallman and Roland McGrath. Development since Version 3.76 has been 353 handled by Paul Smith.354 handled by Paul D. Smith. 354 355 355 356 GNU @code{make} conforms to section 6.2 of @cite{IEEE Standard … … 1949 1950 directories that @code{make} should search. Most often, the 1950 1951 directories are expected to contain prerequisite files that are not in the 1951 current directory; however, @code{VPATH} specifies a search list that 1952 @code{make} applies for all files, including files which are targets of 1953 rules. 1952 current directory; however, @code{make} uses @code{VPATH} as a search 1953 list for both prerequisites and targets of rules. 1954 1954 1955 1955 Thus, if a file that is listed as a target or prerequisite does not exist … … 3676 3676 Using the @code{MAKE} variable has the same effect as using a @samp{+} 3677 3677 character at the beginning of the command line. @xref{Instead of 3678 Execution, ,Instead of Executing the Commands}.@refill 3678 Execution, ,Instead of Executing the Commands}. This special feature 3679 is only enabled if the @code{MAKE} variable appears directly in the 3680 command script: it does not apply if the @code{MAKE} variable is 3681 referenced through expansion of another variable. In the latter case 3682 you must use the @samp{+} token to get these special effects.@refill 3679 3683 3680 3684 Consider the command @samp{make -t} in the above example. (The … … 5226 5230 variable value to be preferred. 5227 5231 5228 There is one more special feature of target-specific variables: when you 5229 define a target-specific variable, that variable value is also in effect 5230 for all prerequisites of this target (unless those prerequisites override 5231 it with their own target-specific variable value). So, for example, a 5232 There is one more special feature of target-specific variables: when 5233 you define a target-specific variable that variable value is also in 5234 effect for all prerequisites of this target, and all their 5235 prerequisites, etc. (unless those prerequisites override that variable 5236 with their own target-specific variable value). So, for example, a 5232 5237 statement like this: 5233 5238 … … 5241 5246 @file{prog}, but it will also set @code{CFLAGS} to @samp{-g} in the 5242 5247 command scripts that create @file{prog.o}, @file{foo.o}, and 5243 @file{bar.o}, and any command scripts which create their prerequisites. 5248 @file{bar.o}, and any command scripts which create their 5249 prerequisites. 5250 5251 Be aware that a given prerequisite will only be built once per 5252 invocation of make, at most. If the same file is a prerequisite of 5253 multiple targets, and each of those targets has a different value for 5254 the same target-specific variable, then the first target to be built 5255 will cause that prerequisite to be built and the prerequisite will 5256 inherit the target-specific value from the first target. It will 5257 ignore the target-specific values from any other targets. 5244 5258 5245 5259 @node Pattern-specific, , Target-specific, Using Variables … … 6456 6470 6457 6471 define PROGRAM_template 6458 $(1): $$($(1)_OBJ ) $$($(1)_LIBS:%=-l%)6472 $(1): $$($(1)_OBJS) $$($(1)_LIBS:%=-l%) 6459 6473 ALL_OBJS += $$($(1)_OBJS) 6460 6474 endef … … 6586 6600 @cindex shell command, function for 6587 6601 6588 The @code{shell} function is unlike any other function exceptthe6602 The @code{shell} function is unlike any other function other than the 6589 6603 @code{wildcard} function 6590 6604 (@pxref{Wildcard Function, ,The Function @code{wildcard}}) in that it … … 6592 6606 6593 6607 The @code{shell} function performs the same function that backquotes 6594 (@samp{`}) perform in most shells: it does @dfn{command expansion}. This 6595 means that it takes an argument that is a shell command and returns the 6596 output of the command. The only processing @code{make} does on the result, 6597 before substituting it into the surrounding text, is to convert each 6598 newline or carriage-return / newline pair to a single space. It also 6599 removes the trailing (carriage-return and) newline, if it's the last 6600 thing in the result.@refill 6608 (@samp{`}) perform in most shells: it does @dfn{command expansion}. 6609 This means that it takes as an argument a shell command and evaluates 6610 to the output of the command. The only processing @code{make} does on 6611 the result is to convert each newline (or carriage-return / newline 6612 pair) to a single space. If there is a trailing (carriage-return 6613 and) newline it will simply be removed.@refill 6601 6614 6602 6615 The commands run by calls to the @code{shell} function are run when the
Note:
See TracChangeset
for help on using the changeset viewer.