[BACK]Return to make.1 CVS log [TXT][DIR] Up to [local] / src / usr.bin / make

Diff for /src/usr.bin/make/make.1 between version 1.56 and 1.57

version 1.56, 2003/09/04 22:14:43 version 1.57, 2003/09/29 11:35:11
Line 189 
Line 189 
 .Nm  .Nm
 may have running at any one time.  may have running at any one time.
 Turns compatibility mode off, unless the  Turns compatibility mode off, unless the
 .Ar B  .Fl B
 flag is also specified.  flag is also specified.
 .It Fl m Ar directory  .It Fl m Ar directory
 Specify a directory in which to search for  Specify a directory in which to search for
Line 243 
Line 243 
 Note that the use of several targets is merely a shorthand for duplicate  Note that the use of several targets is merely a shorthand for duplicate
 rules.  rules.
 Specifically,  Specifically,
 .Bd -literal  .Bd -literal -offset indent
 target1 target2: depa depb  target1 target2: depa depb
         cmd1          cmd1
         cmd2          cmd2
 .Ed  .Ed
   .Pp
 is just a short form of  is just a short form of
 .Bd -literal  .Bd -literal -offset indent
 target1: depa depb  target1: depa depb
         cmd1          cmd1
         cmd2          cmd2
Line 260 
Line 261 
 .Pp  .Pp
 .Nm  .Nm
 does not support Solaris syntax for true multiple targets:  does not support Solaris syntax for true multiple targets:
 .Bd -literal  .Bd -literal -offset indent
 target1 + target2: depa depb  target1 + target2: depa depb
         cmd1          cmd1
         cmd2          cmd2
Line 340 
Line 341 
 .Sq Ic \-  .Sq Ic \-
 and/or  and/or
 .Sq Ic + ,  .Sq Ic + ,
 the command is treated specially.  the command is treated specially:
 .Bl -tag -width `@'  .Bl -tag -width `@'
 .It Sq Ic @  .It Sq Ic @
 causes the command not to be echoed before it is executed.  causes the command not to be echoed before it is executed.
Line 349 
Line 350 
 .It Sq Ic +  .It Sq Ic +
 causes the command to be executed even if  causes the command to be executed even if
 .Fl n  .Fl n
 has been specified (This can be useful to debug recursive Makefiles).  has been specified.
   (This can be useful to debug recursive Makefiles.)
 .El  .El
 .Pp  .Pp
 The command is always executed using  The command is always executed using
Line 372 
Line 374 
 Any previous value is overridden.  Any previous value is overridden.
 .It Ic \&:=  .It Ic \&:=
 Assign with expansion, i.e., expand the value before assigning it  Assign with expansion, i.e., expand the value before assigning it
 to the variable (extension)  to the variable (extension).
 .It Ic \&+=  .It Ic \&+=
 Append the value to the current value of the variable (extension).  Append the value to the current value of the variable (extension).
 .It Ic \&?=  .It Ic \&?=
Line 459 
Line 461 
 It is also set when there is an implied rule that matches the current  It is also set when there is an implied rule that matches the current
 dependency in scope.  dependency in scope.
 That is, in  That is, in
 .Bd -literal  .Bd -literal -offset indent
 \&.SUFFIXES: .c.o  \&.SUFFIXES: .c.o
 file.o: file.c  file.o: file.c
         cmd1 $<          cmd1 $<
Line 467 
Line 469 
 \&.c.o:  \&.c.o:
         cmd2          cmd2
 .Ed  .Ed
   .Pp
 building  building
 .Pa file.o  .Pa file.o
 will execute  will execute
Line 623 
Line 626 
 .It Va .INCLUDES  .It Va .INCLUDES
 See  See
 .Ic .INCLUDES  .Ic .INCLUDES
 special target  special target.
 .It Va .LIBS  .It Va .LIBS
 See  See
 .Ic .LIBS  .Ic .LIBS
 special target  special target.
 .It Va MACHINE  .It Va MACHINE
 Name of the machine architecture  Name of the machine architecture
 .Nm  .Nm
Line 807 
Line 810 
 .Pq Ql \&.  .Pq Ql \&.
 character.  character.
 Whitespace characters may follow this dot, e.g.,  Whitespace characters may follow this dot, e.g.,
 .Bd -literal  .Bd -literal -offset indent
     \&.include <file>  \&.include <file>
 .Ed  .Ed
 and  and
 .Bd -literal  .Bd -literal -offset indent -compact
     \&.   include <file>  \&.   include <file>
 .Ed  .Ed
   .Pp
 are identical constructs.  are identical constructs.
 Files are included with either  Files are included with either
 .Ql .include <file>  .Ql .include <file>
Line 1262 
Line 1266 
 .IT Pa /usr/obj  .IT Pa /usr/obj
 default  default
 .Ev MAKEOBJDIRPREFIX  .Ev MAKEOBJDIRPREFIX
 directory.  directory
 .El  .El
 .Sh SEE ALSO  .Sh SEE ALSO
 .Xr mkdep 1  .Xr ed 1 ,
   .Xr mkdep 1 ,
   .Xr sh 1 ,
   .Xr getcwd 3 ,
   .Xr regex 3 ,
   .Xr uname 3
 .Pp  .Pp
 .Rs  .Rs
 .%T Make \- A Tutorial  .%T Make \- A Tutorial
Line 1305 
Line 1314 
 .Nm  .Nm
 silently ignores all commands after the first non empty set of commands,  silently ignores all commands after the first non empty set of commands,
 e.g., in  e.g., in
 .Bd -literal  .Bd -literal -offset indent
 a:  a:
         @echo "Executed"          @echo "Executed"
 a:  a:
Line 1331 
Line 1340 
 not the other way around, which doesn't work.  not the other way around, which doesn't work.
 .Pp  .Pp
 For loops are expanded before tests, so a fragment such as:  For loops are expanded before tests, so a fragment such as:
 .Bd -literal  .Bd -literal -offset indent
 \&.for TMACHINE in ${SHARED_ARCHS}  \&.for TMACHINE in ${SHARED_ARCHS}
 \&.if ${TMACHINE} = ${MACHINE}  \&.if ${TMACHINE} = ${MACHINE}
      ...       ...
Line 1346 
Line 1355 
 may erroneously mark archive members as out of date if the archive name  may erroneously mark archive members as out of date if the archive name
 was truncated.  was truncated.
 .Pp  .Pp
 The handling of ; and other special characters in tests may be utterly  The handling of
 bogus.  .Sq ;\&
   and other special characters in tests may be utterly bogus.
 For instance, in  For instance, in
 .Bd -literal  .Bd -literal -offset indent
 \&A=abcd;c.c  \&A=abcd;c.c
 \&.if ${A:R} == "abcd;c"  \&.if ${A:R} == "abcd;c"
 .Ed  .Ed
Line 1358 
Line 1368 
 .Pp  .Pp
 The conditional handler is incredibly lame.  The conditional handler is incredibly lame.
 Junk such as  Junk such as
 .Bd -literal  
 \&.if defined anything goes (A)  
 .Ed  
 .Pp  .Pp
   .Dl \&.if defined anything goes (A)
   .Pp
 will be accepted silently.  will be accepted silently.
 .Pp  .Pp
 In a .for loop, only the variable value is used, assignments will be  In a .for loop, only the variable value is used; assignments will be
 evaluated later, e.g., in  evaluated later, e.g., in
 .Bd -literal  .Bd -literal -offset indent
 \&.for I in a b c d  \&.for I in a b c d
 I:=${I:S/a/z}  I:=${I:S/a/z}
 A+=$I  A+=$I
 \&.endfor  \&.endfor
 .Ed  .Ed
 A will evaluate to a b c d after the loop, not z b c d.  .Pp
   .Sq A
   will evaluate to a b c d after the loop, not z b c d.
 .Pp  .Pp
 The  The
 .Ql +  .Ql +

Legend:
Removed from v.1.56  
changed lines
  Added in v.1.57