Many small edits.

This commit is contained in:
rsc 2005-01-13 04:49:19 +00:00
parent 741f510ce7
commit c8b6342d3c
160 changed files with 2204 additions and 864 deletions

View file

@ -1,21 +1,4 @@
.TH MK 1
.de EX
.nf
.ft B
..
.de EE
.fi
.ft R
..
.de LR
.if t .BR \\$1 \\$2
.if n .RB ` \\$1 '\\$2
..
.de L
.nh
.if t .B \\$1
.if n .RB ` \\$1 '
..
.SH NAME
mk, membername \- maintain (make) related files
.SH SYNOPSIS
@ -313,6 +296,7 @@ and any command line assignment as an argument to
.IR mk .
A variable assignment argument overrides the first (but not any subsequent)
assignment to that variable.
.PP
The variable
.B MKFLAGS
contains all the option arguments (arguments starting with
@ -324,6 +308,45 @@ and
contains all the targets in the call to
.IR mk .
.PP
The variable
.B MKSHELL
contains the shell command line
.I mk
uses to run recipes.
If the first word of the command ends in
.B rc
or
.BR rcsh ,
.I mk
uses
.IR rc (1)'s
quoting rules; otherwise it uses
.IR sh (1)'s.
The
.B MKSHELL
variable is consulted when the mkfile is read, not when it is executed,
so that different shells can be used within a single mkfile:
.IP
.EX
MKSHELL=$PLAN9/bin/rc
use-rc:V:
for(i in a b c) echo $i
MKSHELL=sh
use-sh:V:
for i in a b c; do echo $i; done
.EE
.LP
Mkfiles included via
.B <
or
.B <|
.RI ( q.v. )
see their own private copy of
.BR MKSHELL ,
which always starts set to
.B sh .
.PP
Dynamic information may be included in the mkfile by using a line of the form
.IP
\fR<|\fIcommand\fR \fIargs\fR
@ -510,6 +533,7 @@ archives.
.I Membername
echoes just the member names of a list of aggregate names.
It is useful in recipes like:
.IP
.EX
OFILES=a.o b.o
libc.a(%):N: %
@ -647,7 +671,7 @@ x.tab.h:Pcmp -s: y.tab.h
.EE
.SH SEE ALSO
.IR sh (1),
.IR regexp9 (7)
.IR regexp (7)
.PP
A. Hume,
``Mk: a Successor to Make''
@ -664,19 +688,18 @@ It was later ported to Plan 9.
This software is a port of the Plan 9 version back to Unix.
.SH BUGS
Identical recipes for regular expression meta-rules only have one target.
.br
.PP
Seemingly appropriate input like
.B CFLAGS=-DHZ=60
is parsed as an erroneous attribute; correct it by inserting
a space after the first
.LR = .
.br
.PP
The recipes printed by
.I mk
before being passed to
.I sh
the shell
for execution are sometimes erroneously expanded
for printing. Don't trust what's printed; rely
on what
.I sh
on what the shell
does.