version 1.108, 2013/10/19 18:15:39 |
version 1.109, 2013/11/24 12:36:13 |
|
|
.Nm |
.Nm |
was executed. |
was executed. |
.It Va .OBJDIR |
.It Va .OBJDIR |
A path to the directory where the targets are built. |
Path to the directory where targets are built. |
At startup, |
At startup, |
.Nm |
.Nm |
searches for an alternate directory to place target files -- it |
searches for an alternate directory to place target files. |
will attempt to change into this special directory. |
|
First, if |
|
.Ev MAKEOBJDIRPREFIX |
|
is defined, |
|
.Nm |
.Nm |
prepends its contents to the current directory name and tries for |
tries to |
the resulting directory. |
.Xr chdir 2 |
If that fails, |
into |
.Nm |
|
remains in the current directory. |
|
If |
|
.Ev MAKEOBJDIRPREFIX |
|
is not defined, |
|
.Nm |
|
checks |
|
.Ev MAKEOBJDIR |
.Ev MAKEOBJDIR |
and tries to change into that directory. |
(or |
Should that fail, |
.Pa obj |
.Nm |
if |
remains in the current directory. |
|
If |
|
.Ev MAKEOBJDIR |
.Ev MAKEOBJDIR |
is not defined, it tries to change into the directory named |
is not defined), |
.Pa obj.${MACHINE} |
and sets |
(see |
.Va .OBJDIR |
.Va MACHINE |
accordingly. |
variable). |
Should that fail, |
If it still has found no special directory, |
.Va .OBJDIR |
.Nm |
is set to |
next tries the directory named |
.Va .CURDIR . |
.Pa obj . |
|
If this fails, |
|
.Nm |
|
tries to prepend |
|
.Pa /usr/obj |
|
to the current directory name. |
|
Finally, if none of these directories are available |
|
.Nm |
|
will settle for and use the current directory. |
|
.It Va .MAKEFLAGS |
.It Va .MAKEFLAGS |
The environment variable |
The environment variable |
.Ev MAKEFLAGS |
.Ev MAKEFLAGS |
|
|
.Nm pmake , |
.Nm pmake , |
originally written by Adam de Boor. |
originally written by Adam de Boor. |
.Sh BUGS |
.Sh BUGS |
The determination of |
|
.Va .OBJDIR |
|
is contorted to the point of absurdity. |
|
.Pp |
|
If the same target is specified several times in complete target rules, |
If the same target is specified several times in complete target rules, |
.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, |