code: 9ferno

Download patch

ref: 82c6b554b7a67149d2652dd6a528142fc28f6e3e
parent: 0ba3cbf0bf96824d5764598dec62cc5a20a45b7a
author: joe9 <joe9mail@gmail.com>
date: Wed Jul 28 12:40:11 EDT 2021

Revert "separated ROOT and SRC directories"

This reverts commit 5ccd7ec6e5ef5312dec0ad022584d9ff2c00b71e.

diff: cannot open b/acme/mail//null: file does not exist: 'b/acme/mail//null'
--- a/.gitignore
+++ b/.gitignore
@@ -347,8 +347,4 @@
 os/init/*.sbl
 os/pc64/pc64.root.s
 
-# ignore the generated boot files
-Inferno/386/bootia32.efi
-Inferno/386/bootx64.efi
-Inferno/386/efiboot.fat
 
--- /dev/null
+++ b/acme/mail/guide
@@ -1,0 +1,5 @@
+Mail /mail/box/$user/stored
+Mail
+Mailpop3
+mkbox /mail/box/$user/new_box
+mail -'x' someaddress
--- /dev/null
+++ b/acme/mail/readme
@@ -1,0 +1,29 @@
+Mail is the single program in this directory.  Its argument specifies
+the mail box to read, default /mail/box/$user/mbox.
+For example, running
+	Mail /mail/box/$user/stored
+(a line in the guide file) looks at saved mail.
+
+Mail maintains a window containing headers for all the
+messages in the mailbox and monitors the mailbox for new messages.
+Using button 3 to indicate a message number opens
+a window on that message.   commands in the mailbox window are
+	Put		Write the mailbox back to the file (never done automatically)
+	Mail		Make a new message window ready to mail someone.
+			Takes argument names analogously to acme's New.
+	Del		Exit Mail, after checking that mailbox isn't modified.
+New messages appear at the top of the window and are highlighted upon arrival.
+(The messages are numbered oldest to newest, the opposite of regular mail.)
+
+Message windows have a simple format: the first line, up to the first tab or newline,
+holds the sender or, when sending, the addressee.  Edit the line to change who the
+message goes to.  Message windows contain the commands
+	Reply	Make a new window to compose a reply to this message
+	Delmesg	Delete the message from the screen and from the mailbox
+	Del		Delete the window, leaving the message in the mailbox
+	Post		Send the message to the addressee
+	Save		Save to the named mailbox, default/mail/box/$user/stored
+Save takes a full file name; if that name has no slashes, the file is taken
+to be in /mail/box/$user and must already exist. Use mkbox in the guide to
+create target mailboxes in /mail/box/$user.
+Reply and mail windows contain an obvious subset of the commands.
--- a/appl/acme/acme/acid/mkfile
+++ b/appl/acme/acme/acid/mkfile
@@ -21,4 +21,4 @@
 $BIN/readme : readme
 	rm -f $BIN/readme && cp readme $BIN/readme
 
-<$SRC/mkfiles/mksubdirs
+<$ROOT/mkfiles/mksubdirs
--- a/appl/acme/acme/acid/src/mkfile
+++ b/appl/acme/acme/acid/src/mkfile
@@ -17,4 +17,4 @@
 
 DISBIN=$ROOT/acme/acid
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/acme/acme/bin/mkfile
+++ b/appl/acme/acme/bin/mkfile
@@ -21,4 +21,4 @@
 $BIN/readme : readme
 	rm -f $BIN/readme && cp readme $BIN/readme
 
-<$SRC/mkfiles/mksubdirs
+<$ROOT/mkfiles/mksubdirs
--- a/appl/acme/acme/bin/src/mkfile
+++ b/appl/acme/acme/bin/src/mkfile
@@ -21,4 +21,4 @@
 
 DISBIN=$ROOT/acme/dis
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/acme/acme/edit/mkfile
+++ b/appl/acme/acme/edit/mkfile
@@ -21,4 +21,4 @@
 $BIN/readme : readme
 	rm -f $BIN/readme && cp readme $BIN/readme
 
-<$SRC/mkfiles/mksubdirs
+<$ROOT/mkfiles/mksubdirs
--- a/appl/acme/acme/edit/src/mkfile
+++ b/appl/acme/acme/edit/src/mkfile
@@ -20,4 +20,4 @@
 
 DISBIN=$ROOT/acme/edit
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/acme/acme/mail/mkfile
+++ b/appl/acme/acme/mail/mkfile
@@ -30,5 +30,5 @@
 $BIN/readme : readme
 	rm -f $BIN/readme && cp readme $BIN/readme
 
-<$SRC/mkfiles/mkdis
-<$SRC/mkfiles/mksubdirs
+<$ROOT/mkfiles/mkdis
+<$ROOT/mkfiles/mksubdirs
--- a/appl/acme/acme/mail/src/mkfile
+++ b/appl/acme/acme/mail/src/mkfile
@@ -13,4 +13,4 @@
 
 DISBIN=$ROOT/acme/mail
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/acme/acme/mkfile
+++ b/appl/acme/acme/mkfile
@@ -6,4 +6,4 @@
 	edit\
 	mail\
 
-<$SRC/mkfiles/mksubdirs
+<$ROOT/mkfiles/mksubdirs
--- a/appl/acme/mkfile
+++ b/appl/acme/mkfile
@@ -76,8 +76,8 @@
 
 all:V:	acme.dis
 
-<$SRC/mkfiles/mkdis
-<$SRC/mkfiles/mksubdirs
+<$ROOT/mkfiles/mkdis
+<$ROOT/mkfiles/mksubdirs
 
 install:V:	$ROOT/dis/acme.dis
 
--- a/appl/alphabet/abc/mkfile
+++ b/appl/alphabet/abc/mkfile
@@ -25,5 +25,5 @@
 
 DISBIN=$ROOT/dis/alphabet/abc
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
 LIMBOFLAGS=-F $LIMBOFLAGS
--- a/appl/alphabet/auxi/mkfile
+++ b/appl/alphabet/auxi/mkfile
@@ -17,5 +17,5 @@
 
 DISBIN=$ROOT/dis/alphabet
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
 LIMBOFLAGS=-F $LIMBOFLAGS
--- a/appl/alphabet/fs/mkfile
+++ b/appl/alphabet/fs/mkfile
@@ -51,5 +51,5 @@
 
 DISBIN=$ROOT/dis/alphabet/fs
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
 LIMBOFLAGS=-F $LIMBOFLAGS
--- a/appl/alphabet/grid/mkfile
+++ b/appl/alphabet/grid/mkfile
@@ -18,5 +18,5 @@
 
 DISBIN=$ROOT/dis/alphabet/grid
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
 LIMBOFLAGS=-F $LIMBOFLAGS
--- a/appl/alphabet/main/mkfile
+++ b/appl/alphabet/main/mkfile
@@ -32,5 +32,5 @@
 
 DISBIN=$ROOT/dis/alphabet/main
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
 LIMBOFLAGS=-F $LIMBOFLAGS
--- a/appl/alphabet/mkfile
+++ b/appl/alphabet/mkfile
@@ -32,7 +32,7 @@
 
 DISBIN=$ROOT/dis/alphabet
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
 LIMBOFLAGS=-F $LIMBOFLAGS
 install:V:	$INS
 
@@ -45,5 +45,5 @@
 $ROOT/dis/sh/alphabet.dis: alphabet.shmod.dis
 	rm -f $ROOT/dis/sh/alphabet.dis && cp alphabet.shmod.dis $ROOT/dis/sh/alphabet.dis
 
-<$SRC/mkfiles/mksubdirs
+<$ROOT/mkfiles/mksubdirs
 
--- a/appl/alphabet/typesets/mkfile
+++ b/appl/alphabet/typesets/mkfile
@@ -26,7 +26,7 @@
 
 DISBIN=$ROOT/dis/alphabet
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
 
 LIMBOFLAGS=$LIMBOFLAGS -i -F
 
--- a/appl/charon/mkfile
+++ b/appl/charon/mkfile
@@ -76,7 +76,7 @@
 
 all:V:	charon.dis
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
 
 install:V:	$ROOT/dis/charon.dis
 
--- a/appl/cmd/asm/mkfile
+++ b/appl/cmd/asm/mkfile
@@ -21,7 +21,7 @@
 
 DISBIN=$ROOT/dis
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
 
 #asm.b:	asm.y
 #	yacc -D1 -o asm.b asm.y
--- a/appl/cmd/auth/factotum/mkfile
+++ b/appl/cmd/auth/factotum/mkfile
@@ -23,5 +23,5 @@
 
 DISBIN=$ROOT/dis/auth
 
-<$SRC/mkfiles/mkdis
-<$SRC/mkfiles/mksubdirs
+<$ROOT/mkfiles/mkdis
+<$ROOT/mkfiles/mksubdirs
--- a/appl/cmd/auth/factotum/proto/mkfile
+++ b/appl/cmd/auth/factotum/proto/mkfile
@@ -21,4 +21,4 @@
 
 DISBIN=$ROOT/dis/auth/proto
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/cmd/auth/mkfile
+++ b/appl/cmd/auth/mkfile
@@ -37,5 +37,5 @@
 
 DISBIN=$ROOT/dis/auth
 
-<$SRC/mkfiles/mkdis
-<$SRC/mkfiles/mksubdirs
+<$ROOT/mkfiles/mkdis
+<$ROOT/mkfiles/mksubdirs
--- a/appl/cmd/auxi/mkfile
+++ b/appl/cmd/auxi/mkfile
@@ -21,4 +21,4 @@
 
 DISBIN=$ROOT/dis/auxi
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/cmd/avr/mkfile
+++ b/appl/cmd/avr/mkfile
@@ -7,4 +7,4 @@
 
 DISBIN=$ROOT/dis/avr
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/cmd/dbm/mkfile
+++ b/appl/cmd/dbm/mkfile
@@ -16,4 +16,4 @@
 
 DISBIN=$ROOT/dis/dbm
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/cmd/disk/mkfile
+++ b/appl/cmd/disk/mkfile
@@ -21,5 +21,5 @@
 
 DISBIN=$ROOT/dis/disk
 
-<$SRC/mkfiles/mkdis
-<$SRC/mkfiles/mksubdirs
+<$ROOT/mkfiles/mkdis
+<$ROOT/mkfiles/mksubdirs
--- a/appl/cmd/disk/prep/mkfile
+++ b/appl/cmd/disk/prep/mkfile
@@ -19,7 +19,7 @@
 
 DISBIN=$ROOT/dis/disk
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
 
 # calc
 calc.tab.b:
--- a/appl/cmd/fs/mkfile
+++ b/appl/cmd/fs/mkfile
@@ -44,7 +44,7 @@
 
 DISBIN=$ROOT/dis/fs
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
 
 all:V:		$TARG
 
--- a/appl/cmd/games/mkfile
+++ b/appl/cmd/games/mkfile
@@ -10,4 +10,4 @@
 
 DISBIN=$ROOT/dis/games
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/cmd/install/mkfile
+++ b/appl/cmd/install/mkfile
@@ -40,4 +40,4 @@
 
 DISBIN=$ROOT/dis/install
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/cmd/ip/mkfile
+++ b/appl/cmd/ip/mkfile
@@ -25,5 +25,5 @@
 
 DISBIN=$ROOT/dis/ip
 
-<$SRC/mkfiles/mkdis
-<$SRC/mkfiles/mksubdirs
+<$ROOT/mkfiles/mkdis
+<$ROOT/mkfiles/mksubdirs
--- a/appl/cmd/ip/nppp/mkfile
+++ b/appl/cmd/ip/nppp/mkfile
@@ -21,4 +21,4 @@
 
 DISBIN=$ROOT/dis/ip/nppp
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/cmd/ip/ppp/mkfile
+++ b/appl/cmd/ip/ppp/mkfile
@@ -24,4 +24,4 @@
 
 DISBIN=$ROOT/dis/ip/ppp
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/cmd/lego/mkfile
+++ b/appl/cmd/lego/mkfile
@@ -20,4 +20,4 @@
 
 DISBIN=$ROOT/dis/lego
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/cmd/limbo/mkfile
+++ b/appl/cmd/limbo/mkfile
@@ -32,4 +32,4 @@
 
 DISBIN=$ROOT/dis
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/cmd/mk/mkfile
+++ b/appl/cmd/mk/mkfile
@@ -16,4 +16,4 @@
 
 DISBIN=$ROOT/dis
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/cmd/mkfile
+++ b/appl/cmd/mkfile
@@ -222,8 +222,8 @@
 
 DISBIN=$ROOT/dis
 
-<$SRC/mkfiles/mkdis
-<$SRC/mkfiles/mksubdirs
+<$ROOT/mkfiles/mkdis
+<$ROOT/mkfiles/mksubdirs
 
 auhdr.dis: auplay.dis
 	rm -f auhdr.dis && cp auplay.dis auhdr.dis
--- a/appl/cmd/mpc/mkfile
+++ b/appl/cmd/mpc/mkfile
@@ -11,4 +11,4 @@
 
 DISBIN=$ROOT/dis/mpc
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/cmd/ndb/mkfile
+++ b/appl/cmd/ndb/mkfile
@@ -25,4 +25,4 @@
 
 DISBIN=$ROOT/dis/ndb
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/cmd/palm/mkfile
+++ b/appl/cmd/palm/mkfile
@@ -13,4 +13,4 @@
 
 DISBIN=$ROOT/dis/palm
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/cmd/sh/mkfile
+++ b/appl/cmd/sh/mkfile
@@ -44,7 +44,7 @@
 
 DISBIN=$ROOT/dis/sh
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
 
 all:V:		$TARG
 
--- a/appl/cmd/spki/mkfile
+++ b/appl/cmd/spki/mkfile
@@ -19,4 +19,4 @@
 
 DISBIN=$ROOT/dis/spki
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/cmd/usb/mkfile
+++ b/appl/cmd/usb/mkfile
@@ -8,4 +8,4 @@
 
 DISBIN=$ROOT/dis/usb
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/cmd/zip/mkfile
+++ b/appl/cmd/zip/mkfile
@@ -25,4 +25,4 @@
 
 DISBIN=$ROOT/dis/zip
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/demo/camera/mkfile
+++ b/appl/demo/camera/mkfile
@@ -28,7 +28,7 @@
 
 DISBIN=$ROOT/dis/demo/camera
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
 
 $DISBIN/%.bit:		%.bit
 	rm -f $target && cp $stem.bit $target
--- a/appl/demo/chat/mkfile
+++ b/appl/demo/chat/mkfile
@@ -19,7 +19,7 @@
 
 DISBIN=$ROOT/dis/demo/chat
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
 
 SHFILES=${SHTARG:%.sh=$DISBIN/%}
 install:V:	$SHFILES
--- a/appl/demo/cpupool/mkfile
+++ b/appl/demo/cpupool/mkfile
@@ -15,7 +15,7 @@
 
 DISBIN=$ROOT/dis/demo/cpupool
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
 
 SHFILES=${SHTARG:%.sh=$DISBIN/%}
 install:V:	$SHFILES
--- a/appl/demo/lego/mkfile
+++ b/appl/demo/lego/mkfile
@@ -22,7 +22,7 @@
 
 DISBIN=$ROOT/dis/demo/lego
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
 
 $DISBIN/%.srec:	%.srec
 	rm -f $target && cp $stem.srec $target
--- a/appl/demo/mkfile
+++ b/appl/demo/mkfile
@@ -11,4 +11,4 @@
 	whiteboard\
 
 
-<$SRC/mkfiles/mksubdirs
+<$ROOT/mkfiles/mksubdirs
--- a/appl/demo/ns/mkfile
+++ b/appl/demo/ns/mkfile
@@ -16,7 +16,7 @@
 
 DISBIN=$ROOT/dis/demo/ns
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
 
 SHFILES=${SHTARG:%.sh=$DISBIN/%}
 install:V:	$SHFILES
--- a/appl/demo/odbc/mkfile
+++ b/appl/demo/odbc/mkfile
@@ -20,7 +20,7 @@
 
 DISBIN=$ROOT/dis/demo/odbc
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
 
 SHFILES=${SHTARG:%.sh=$DISBIN/%}
 install:V:	$SHFILES
--- a/appl/demo/spree/mkfile
+++ b/appl/demo/spree/mkfile
@@ -11,7 +11,7 @@
 
 DISBIN=$ROOT/dis/demo/spree
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
 
 SHFILES=${SHTARG:%.sh=$DISBIN/%}
 all:V: $SHTARG
--- a/appl/demo/whiteboard/mkfile
+++ b/appl/demo/whiteboard/mkfile
@@ -17,7 +17,7 @@
 
 DISBIN=$ROOT/dis/demo/whiteboard
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
 
 SHFILES=${SHTARG:%.sh=$DISBIN/%}
 install:V:	$SHFILES
--- a/appl/ebook/mkfile
+++ b/appl/ebook/mkfile
@@ -33,4 +33,4 @@
 
 DISBIN=$ROOT/dis/ebook
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/examples/minitel/mkfile
+++ b/appl/examples/minitel/mkfile
@@ -21,4 +21,4 @@
 
 DISBIN=$ROOT/dis/wm/minitel
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/grid/demo/mkfile
+++ b/appl/grid/demo/mkfile
@@ -18,7 +18,7 @@
 
 DISBIN=$ROOT/dis/grid/demo
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
 
 $ROOT/dis/grid/demo/blur.dis:	blur.dis
 	rm -f $target && cp blur.dis $target
--- a/appl/grid/lib/mkfile
+++ b/appl/grid/lib/mkfile
@@ -24,4 +24,4 @@
 
 DISBIN=$ROOT/dis/grid/lib
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/grid/mkfile
+++ b/appl/grid/mkfile
@@ -45,8 +45,8 @@
 
 DISBIN=$ROOT/dis/grid
 
-<$SRC/mkfiles/mkdis
-<$SRC/mkfiles/mksubdirs
+<$ROOT/mkfiles/mkdis
+<$ROOT/mkfiles/mksubdirs
 
 $ROOT/dis/demo/readjpg.dis:	readjpg.dis
 	rm -f $target && cp readjpg.dis $target
--- a/appl/lib/convcs/mkfile
+++ b/appl/lib/convcs/mkfile
@@ -26,4 +26,4 @@
 
 DISBIN=$ROOT/dis/lib/convcs
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/lib/crypt/mkfile
+++ b/appl/lib/crypt/mkfile
@@ -21,4 +21,4 @@
 
 DISBIN=$ROOT/dis/lib/crypt
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/lib/ecmascript/mkfile
+++ b/appl/lib/ecmascript/mkfile
@@ -20,4 +20,4 @@
 
 DISBIN=$ROOT/dis/lib
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/lib/encoding/mkfile
+++ b/appl/lib/encoding/mkfile
@@ -13,4 +13,4 @@
 
 DISBIN=$ROOT/dis/lib/encoding
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/lib/ida/mkfile
+++ b/appl/lib/ida/mkfile
@@ -13,7 +13,7 @@
 
 DISBIN=$ROOT/dis/lib/ida
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
 # force compilation
 LIMBOFLAGS= -c $LIMBOFLAGS
 
--- a/appl/lib/mkfile
+++ b/appl/lib/mkfile
@@ -214,8 +214,8 @@
 
 DISBIN=$ROOT/dis/lib
 
-<$SRC/mkfiles/mkdis
-<$SRC/mkfiles/mksubdirs
+<$ROOT/mkfiles/mkdis
+<$ROOT/mkfiles/mksubdirs
 
 plumbing.dis:N: plumbing.m
 plumber.dis:N: plumbing.m
--- a/appl/lib/print/mkfile
+++ b/appl/lib/print/mkfile
@@ -21,6 +21,6 @@
 
 DISBIN=$ROOT/dis/lib/print
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
 # force compilation or it's very slow
 LIMBOFLAGS= -c $LIMBOFLAGS
--- a/appl/lib/spki/mkfile
+++ b/appl/lib/spki/mkfile
@@ -18,4 +18,4 @@
 
 DISBIN=$ROOT/dis/lib/spki
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/lib/strokes/mkfile
+++ b/appl/lib/strokes/mkfile
@@ -15,4 +15,4 @@
 
 DISBIN=$ROOT/dis/lib/strokes
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/lib/styxconv/mkfile
+++ b/appl/lib/styxconv/mkfile
@@ -19,4 +19,4 @@
 
 DISBIN=$ROOT/dis/lib/styxconv
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/lib/usb/mkfile
+++ b/appl/lib/usb/mkfile
@@ -13,4 +13,4 @@
 
 DISBIN=$ROOT/dis/lib/usb
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/lib/w3c/mkfile
+++ b/appl/lib/w3c/mkfile
@@ -16,4 +16,4 @@
 
 DISBIN=$ROOT/dis/lib/w3c
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/math/mkfile
+++ b/appl/math/mkfile
@@ -40,4 +40,4 @@
 
 DISBIN=$ROOT/dis/math
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/mkfile
+++ b/appl/mkfile
@@ -17,4 +17,4 @@
 	tiny\
 	wm\
 
-<$SRC/mkfiles/mksubdirs
+<$ROOT/mkfiles/mksubdirs
--- a/appl/svc/httpd/mkfile
+++ b/appl/svc/httpd/mkfile
@@ -32,7 +32,7 @@
 
 DISBIN=$ROOT/dis/svc/httpd
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
 
 install:V: 	install-logs-$SHELLTYPE
 
--- a/appl/svc/mkfile
+++ b/appl/svc/mkfile
@@ -13,7 +13,7 @@
 
 BIN=$ROOT/dis/svc
 
-<$SRC/mkfiles/mksubdirs
+<$ROOT/mkfiles/mksubdirs
 
 SHFILES=${SHTARG:%.sh=$BIN/%}
 install:V:	$SHFILES
--- a/appl/svc/webget/mkfile
+++ b/appl/svc/webget/mkfile
@@ -31,7 +31,7 @@
 
 DISBIN=$ROOT/dis/svc/webget
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
 
 install:V:	install-logs
 
--- a/appl/tiny/mkfile
+++ b/appl/tiny/mkfile
@@ -17,4 +17,4 @@
 
 DISBIN=$ROOT/dis/tiny
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/wm/brutus/mkfile
+++ b/appl/wm/brutus/mkfile
@@ -21,4 +21,4 @@
 
 DISBIN=$ROOT/dis/wm/brutus
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
--- a/appl/wm/drawmux/mkfile
+++ b/appl/wm/drawmux/mkfile
@@ -26,7 +26,7 @@
 
 install:V:	$DISBIN/dmview.dis $DISBIN/dmwm.dis $DISLIB/drawmux.dis
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
 
 nuke:V:	nuke-lib
 
--- a/appl/wm/ftree/mkfile
+++ b/appl/wm/ftree/mkfile
@@ -28,7 +28,7 @@
 $ROOT/dis/wm/ftree.dis:	ftree.dis
 	rm -f $ROOT/dis/wm/ftree.dis && cp ftree.dis $ROOT/dis/wm/ftree.dis
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
 
 install:V:	$ROOT/dis/wm/ftree.dis
 
--- a/appl/wm/mkfile
+++ b/appl/wm/mkfile
@@ -100,5 +100,5 @@
 
 DISBIN=$ROOT/dis/wm
 
-<$SRC/mkfiles/mkdis
-<$SRC/mkfiles/mksubdirs
+<$ROOT/mkfiles/mkdis
+<$ROOT/mkfiles/mksubdirs
--- a/appl/wm/mpeg/mkfile
+++ b/appl/wm/mpeg/mkfile
@@ -32,7 +32,7 @@
 
 DISBIN=$ROOT/dis/mpeg
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
 
 all:V:		mpeg.dis
 
--- a/appl/wm/vixen/mkfile
+++ b/appl/wm/vixen/mkfile
@@ -29,4 +29,4 @@
 
 DISBIN=$ROOT/dis/wm
 
-<$SRC/mkfiles/mkdis
+<$ROOT/mkfiles/mkdis
binary files /dev/null b/dis/demo/camera/camload.bit differ
binary files /dev/null b/dis/demo/camera/camproc.bit differ
--- /dev/null
+++ b/dis/demo/lego/styx.srec
@@ -1,0 +1,329 @@
+S00C0000737479782E7372656340
+S11880006DF06DF16DF26DF35E00967E6D736D726D716D7054AD
+S118801570446F20796F7520627974652C207768656E20492057
+S10B802A6B6E6F636B3F0000F5
+S11880326DF60D761B870D621B8279014000790029F25E00965F
+S1188047AC6B039A0A6F62FFFE1D23470819226B829A084012E9
+S118805C6B039A08790200091D234E060B036B839A086F61FF76
+S1188071FE6B819A0A6B039A08790200097900FFFF1D234F02CC
+S11880860D100B876D7654706DF60D760D02790330026DF3790F
+S118809B01301F79001FF25E0096BC0B87790027C85E0096D480
+S11880B06D7654706DF60D766DF40D047901300679001B625EB4
+S11880C50096DE0D405E00808E5E0080320D0046F86D746D7656
+S11880DA54706DF60D766DF40D041900684B473C0D1147380B7A
+S11880EF040CBA8AD0AA09422E0CB8F00088D090FF1B01684BC7
+S118810447200D11471C0B040CBA8AD0AA0942120D0209220901
+S118811922092009000CBAF200092040D66D746D7654706DF617
+S118812E0D761B871B876DF46DF56FE0FFFE0D146FE0FFFC0DEA
+S1188143444C16FA2D688A6F62FFFE0D230B036FE3FFFC170CE8
+S118815817040B040D444610FA306F63FFFC68BA0B036FE3FFC5
+S118816DFC404C790527101D454F407901000A0D505E0096EA0C
+S11881820D051D454EF0402E0D510D405E0096EA0C8A8A306F7C
+S118819763FFFC68BA0B036FE3FFFC0D510D405E0096FC0D0448
+S11881AC7901000A0D505E0096EA0D050D5546CE6F62FFFC6F38
+S11881C163FFFE19326FE2FFFC6F60FFFC6D756D740B870B87FD
+S11881D66D7654706DF60D761B876DF46DF50D040D156FE2FF1B
+S11881EBFE7900000A5E00972269846F8500026F62FFFE6F8241
+S118820000046F6200046F82000619226F8200086A0AA40A8AB5
+S1188215016A8AA40A6D756D740B876D7654706DF60D765E006D
+S118822A979C6A0AA40A8AFF6A8AA40A6D7654706DF60D7669C5
+S118823F00790198885E008FD6790000016D7654706DF60D76C2
+S11882541B871B876DF46DF50D056FE1FFFE6FE2FFFC40266990
+S1188269546F61FFFC0D406F62FFFE5D200D00470E6F4200082A
+S118827E69D20D405E0082244006790500080945695246D66DFD
+S1188293756D740B870B876D7654706DF60D761B871B876DF426
+S11882A86DF56FE0FFFE6FE1FFFC19557904A3DC6F62FFFC6F1F
+S11882BD61FFFE0D405E0082508C0E94000B05790200021D25D0
+S11882D24FE46D756D740B870B876D7654706DF60D7679030070
+S11882E70C19376DF46DF56FE2FFFE6F6400040D1147045A0077
+S11882FC83FE6E080002F00088F990FF6FE0FFFC6F65FFFC094E
+S11883115509550955190509557902A3D009520D256F62FFFE7D
+S118832646045A0083FE684BF300790200621D23470C79020088
+S118833B6C1D23470A5A0083FE79020060400219226FE2FFF8B1
+S11883500B046F63FFFE1B030D3346045A0083FE684AAA3E46D3
+S118836504FA014006AA3C460C18AA6EEAFFFB0B041B034006FB
+S118837AFA016EEAFFFB0D3346045A0083FE7901823A0D50881D
+S118838F0C900019226FE3FFF45E0082506F62FFFC8A00921091
+S11883A46FE2FFF66F61FFF6790019C45E0096DEFA0168DA6EE2
+S11883B96AFFF96EDA00016F63FFF40D310D405E0080DC6FD0B7
+S11883CE000A19226FD200026FD200046EDA0006FA016EDA0038
+S11883E3086E6AFFFB6EDA00096F61FFF6790019465E0096DEE7
+S11883F86F60FFFE40047900FFFF6D756D747903000C09376DED
+S118840D7654706DF60D767903000619376DF46DF56FE0FFFE55
+S11884226FE1FFFC0D256F6400085E0090340D031D45443219C6
+S1188437546F6000041D0443046F6400046F62000609526FE243
+S118844C00060D300B800B000D426F6100066FE3FFFA5E0097D9
+S1188461AE6F63FFFA4002194468BC0D420C2A18226EBA0001DE
+S118847618AA6EBA00020B840B046DF419226DF26F62FFFC6F2D
+S118848B61FFFEF80F5E0090480B870B876D756D7479030006D4
+S11884A009376D7654706DF60D767903000C19376DF46DF56FEC
+S11884B5E0FFF66FE1FFF40D257904FFF809646F6100060D4060
+S11884CA5E00812C6DF06DF46F6200046DF20D526F61FFF46F0B
+S11884DF60FFF65E0084108F0697006D756D747903000C093786
+S11884F46D7654706DF60D766E0A0009471019116F0300046FFB
+S118850902000A1D234514400E19116F0300046F02000A1D230B
+S118851E4404790100010D106D7654706DF60D761B876DF46D67
+S1188533F56FE1FFFE0D256E0A0002F2008AF992FF0D240944BD
+S118854809440944192409447902A3D009420D246E4A00084686
+S118855D067900FFFF404E0D405E0084F80D0047206F420004AA
+S11885726DF26F6200066DF26F6200040D516F60FFFE5E00847A
+S1188587A60B870B8740226F6200066DF26F6200040D516F6077
+S118859CFFFE5E0081DA6F42000C6F8200086FC0000C0B871974
+S11885B1006D756D740B876D7654706DF60D761B876DF46DF56A
+S11885C67903A400683A4D045A008686EA7F68BA19440D4509E0
+S11885DB5509550955194509557902A3D009520D256E5A00086F
+S11885F00D430B036FE3FFFE0CAA46045A0086768C0094100D32
+S1188605520D41790014C05E0096AC0D520D41790014C05E0077
+S118861A96AC0D520D41790014C05E0096AC0D520D4179001431
+S118862FC05E0096AC0D505E0084F80D00473840306F54000CD0
+S11886446F4200086FD2000C6F41000269406F5200046DF26F29
+S11886594200066DF26F4200045E0084A60D405E0082240B8741
+S118866E0B876F52000C46CA6F64FFFE790200021D244E045A4A
+S11886830085D86D756D740B876D7654706DF60D766DF46DF5DC
+S11886980D050D246F600004680BF300790200661D2347244E73
+S11886AD127902002D1D234750790200461D23472440327902CA
+S11886C200721D23470E0B021D23470E4022790200014010794F
+S11886D7020002400A7902000340047902000469926E0A000187
+S11886EC8AD0AA074304190040146E0A0001F2008AD092FF69F7
+S1188701C2FA0168DA790000016D756D746D7654706DF60D7696
+S11887167903001A19376DF46DF56FE2FFEE0D1147045A008818
+S118872B1A6EE9FFF26EE9FFF16EE9FFF06E0A0002AA054704D2
+S11887405A0087CC790200066F60FFEE1D2047045A00881A7939
+S118875504FFF409647905FFFA09657902FFF009626FE2FFECB1
+S118876A6F6300046DF30D420D516F60FFEC5E0086900B870D46
+S118877F0046045A00881A0D611B811B817900FFF109606F6252
+S118879400040B826DF21B826FE200047902FFF609625E00862B
+S11887A9900B870D00476A0D611B817900FFF209606F63000424
+S11887BE0B830B836DF37902FFF809624044790200026F63FF77
+S11887D3EE1D2346426E0B0002F3001B837900FFF409606FE0A7
+S11887E8FFEA0D3209227905FFFA09650D5109217904FFF00943
+S11887FD640D4009306F6300046DF36F63FFEA09230D325E00BF
+S118881286900B870D0046067900FFFF405019337904FFF40980
+S1188827647900FFF009606FE0FFE86F60FFE86C0A6FE0FFE86B
+S118883C0CAA471E0D318900912069426DF2695279001A4E6F7B
+S1188851E3FFE65E0096BC0B876F63FFE60B840B850B037902A5
+S118886600021D234FC66F60FFEE6D756D747903001A09376DE0
+S118887B7654706DF60D760D036B00A408400269000D00470896
+S11888906F0200021D3246F26D7654706DF60D761B876DF46DD8
+S11888A5F50D056FE1FFFE7900000E5E0097220D0446087900F0
+S11888BA02135E0080B418AA6ECA00046FC500026B02A4086948
+S11888CFC20D4088059000790200086F61FFFE5E0097AE6B8482
+S11888E4A4080D406D756D740B876D7654706DF60D766F03002E
+S11888F9026F1200021D23470419004004790000016D765470D8
+S118890E6DF60D766DF40D04790088F20D415E00829E7903A419
+S118892308401269301D40460A690269B25E00979C400E0D0326
+S1188938693246EA790002325E0080B46D746D7654706DF60D24
+S118894D766DF46DF50D040D156F4200044608790002395E0090
+S118896280B46F440004401C6940790198DC5E0097D20D004703
+S11889770A0D5546040D40400C1B058C0A9400694246E0190064
+S118898C6D756D746D7654706DF60D761B876DF46DF50D056F9C
+S11889A1E1FFFE6E5A000446226E5A0005AA0943087900024B1A
+S11889B65E0080B46E5A0005F20009226F229A0C6F220004461A
+S11889CB067900FFFF403E0D20690247360D0469406F61FFFEFC
+S11889E05E0097D20D00461E6E4A00026EDA00056F4200041872
+S11889F5BB0D224702FB806EDB000879000001400A8C0A94007C
+S1188A0A694246CC19006D756D740B876D7654706DF60D761B80
+S1188A1F876DF46DF56FE0FFFE0D157902007419110D505E00B2
+S1188A3498086F62FFFE69210D505E00981E0D50881C900079B6
+S1188A490400050D427901995E5E0097AE0D50883890000D42AC
+S1188A5E7901995E5E0097AE6F63FFFE6E3A00026EDA00546F67
+S1188A73320004FBB60D224702FB6D6EDB005CFA016EDA005DDE
+S1188A886F63FFFE6F32000418BB0D224702FB806EDB005F6D86
+S1188A9D756D740B876D7654706DF60D766DF46DF50D040D1555
+S1188AB26E4A000447067900FFFF40266E4A0005AA0943087991
+S1188AC700026B5E0080B46E4A0005F20009226F209A0C0D512A
+S1188ADC5E008A1A790000016D756D746D7654706DF60D766E47
+S1188AF10A000446107369460C6E0A0008470A89FFA901420491
+S1188B061900400AFA016E8A0004790000016D7654706DF60D6B
+S1188B1B767903000A19376DF46DF56FE0FFFE6FE1FFFC6FE24A
+S1188B30FFFA6E0A0005AA094308790002875E0080B46F60FF56
+S1188B45FE6E0A0005F20009226F229A0C6FE2FFF86E0A000880
+S1188B5AEA8046045A008C3A6E0A00044720790100746F60008E
+S1188B6F045E0098320D004610790100746F60FFFA5E00983280
+S1188B840D0047087900FFFF5A008C6C790100746F6000045E94
+S1188B990098446FE00004790100746F60FFFA5E0098446FE055
+S1188BAEFFFA5E0090346FE0FFF66F64FFF60B840B041955403B
+S1188BC30C0D415E008A1A8C7494000B056F6200041D2544122C
+S1188BD86F61FFFA09516F60FFF85E00894A0D0046DA0D5209D5
+S1188BED22092209221952092209220925095509556F63FFF685
+S1188C0268BD0D520C2A10021E226EBA000118AA6EBA00020B2D
+S1188C17850B056DF519226DF26F63FFFE6F3200026F61FFFC76
+S1188C2CF80F5E00904819000B870B8740326F60FFF86F03000B
+S1188C410647246F6200046DF26F60FFFA6DF06F60FFFE6F0213
+S1188C5600026F61FFFC6F60FFF85D300B870B8740047900FF05
+S1188C6BFF6D756D747903000A09376D7654706DF60D761B8739
+S1188C806DF46DF50D046FE1FFFE0D256E4A0008EA8046066EA4
+S1188C954A000446067900FFFF403C6E4A0005AA094308790005
+S1188CAA02B35E0080B46E4A0005F20009226F209A0C6F0200EA
+S1188CBF0847166F6200046DF26F0300080D526F61FFFE5D30D0
+S1188CD40B8740047900FFFF6D756D740B876D7654706DF60DCE
+S1188CE9761B876DF46DF56F63000446087900FFFF5A008DD243
+S1188CFE0D25194419116F6300040D5209326FE2FFFE40386806
+S1188D135BAB8846186F6200041B821D214CD4688B0B0018AACB
+S1188D28688A0B000B8140180CBB46040B0440106F6200041BF1
+S1188D3D021D214CB4688B0B000B010B0519336F62FFFE1D2567
+S1188D52450479030001685A46040D3347B2790200011D2447F9
+S1188D67124E060D4447584038790200021D24471A402E6F62C7
+S1188D7C00041B021D214D045A008CF618AA688A0B000B014047
+S1188D91346F6200041B821D214D045A008CF618AA688A0B00F9
+S1188DA640186F6200041B821D214D045A008CF6FA88688A0B00
+S1188DBB000CCA8AFE688A0B000B8119440D3346045A008D12D8
+S1188DD00D106D756D740B876D7654706DF60D761B876DF46D1B
+S1188DE5F50D040D2519226FE2FFFE0D55475E681AAA8847149E
+S1188DFA68CA0B010B046F62FFFE0B026FE2FFFE1B0540E20B9D
+S1188E0F016818F0000D00461468CA0B046F62FFFE0B026FE205
+S1188E24FFFE0B011B8540C40D030B836F62FFFE09326FE2FF91
+S1188E39FE0D321B030B011B854FAC188868C80B040D321B03E2
+S1188E4E4EF6409E6F60FFFE6D756D740B876D7654706DF60DB1
+S1188E63766DF46DF56A0CA40E47045A008F0079059F586B027F
+S1188E78A4106DF20D527901009379009EC35E008CE66B80A429
+S1188E8D060B870D004C206B02A4100D5179009EC35E0097AEBF
+S1188EA26B02A4106B82A40679029EC268AC0D23400879039E7E
+S1188EB7C2FA0868BA6A0AA40A47047D3070206838F0006A0A0E
+S1188ECCA40F4602C80168B86B00A4060D020B026B82A4066A77
+S1188EE10BA4076A8B9EC00C2A10021E226A8A9EC10B800B00FE
+S1188EF66B80A406FA016A8AA40E6D756D746D7654706DF60D53
+S1188F0B766DF46DF55E008E606B02A4106B82A40C79059EC02E
+S1188F206B04A406471A6DF46DF51922790117767900343E5E70
+S1188F350098560B870B870C8846E66D756D746D7654706DF684
+S1188F4A0D766B02A4106B03A40C1D32430E79009F580D3109F5
+S1188F5F0119325E0097AE6B02A40C6B03A41019230D326B8263
+S1188F74A41018AA6A8AA40E6D7654706DF60D766DF46DF50D6B
+S1188F89246F6500046B03A41079029F5809320D2368B86EB98D
+S1188F9E00010C1918116EB900020D44470E0B830B030D520D94
+S1188FB3410D305E0097AE6B02A4100B820B0209526B82A410CD
+S1188FC818AA6A8AA40E6D756D746D7654706DF60D766DF46D0A
+S1188FDDF50D156B04A41079029F5809420D24FA0368CA6EC8EE
+S1188FF200010C0818006EC800020D505E009874790200401D62
+S1189007204F020D200B840B040D020D510D405E0097AE6B024A
+S118901CA4108A4392006B82A41018AA6A8AA40E6D756D746DEF
+S11890317654706DF60D766B00A41079029F5D09020D206D7655
+S118904654706DF60D766DF46DF56F6400046B03A41079059F8E
+S118905B5809350D5368B86EB900010C1918116EB900026EBA1F
+S118907000030C2A18226EBA00040D4447108B0593006F6200AC
+S1189085060D410D305E0097AE6B02A4108A0592006F60000687
+S118909A09026B82A41018AA6A8AA40E6D756D746D7654706DD2
+S11890AFF60D7669021D12470419004004790000016D765470CC
+S11890C46DF60D760D01790090AE5E00829E6D7654706DF60D53
+S11890D9767903000E19376DF46DF50D050D14790000021D049C
+S11890EE4E08790003935E0080B46C5A6EEAFFFD6E5B00010C82
+S1189103B318BB685AF20014AB14236FE3FFFA1B841B040B858A
+S11891186E6BFFFDF3000D33470A790200041D23470E40446DE0
+S118912DF319226F61FFFAF801402E790200021D244708790045
+S1189142039D5E0080B46E5800010C801888685AF20014A8146B
+S1189157205E0090C419226DF26F61FFFAF8055E008F800B87CE
+S118916C5A009496790200011D244E08790003A45E0080B46E33
+S11891815800010C801888685AF20014A814206FE0FFF81B84C7
+S11891960B855E00887E6FE0FFF46E6BFFFDF3008BFA93FF7932
+S11891AB0200161D2343045A00948E09336F3299DA592079024C
+S11891C000381D244708790003AA5E0080B46F63FFF447087989
+S11891D50199635A0094567901988E6F60FFF85E00889C6FE009
+S11891EAFFF4790200086DF2880590006DF06F62FFF86F61FF86
+S11891FFFAF81D5A0094840D444708790003B65E0080B46F62A1
+S1189214FFF446087901996E5A0094566F60FFF45E00890E6E16
+S11892296BFFFDAB1446087901997A5A00945619226DF26DF2EE
+S118923E6F62FFF86F61FFFAF8135A009484790200021D244704
+S118925308790003C45E0080B46E5C00010CC418CC685AF200F5
+S118926814AC14240D405E00887E6F62FFF446045A0092186EC4
+S118927D2A00044708790199875A0094560D0047045A0091D466
+S11892926F61FFF4890591000D405E00889C19226DF26DF26FAA
+S11892A762FFF86F61FFFAF8075A0094847902001C1D244708F4
+S11892BC790003D35E0080B40D516F60FFF45E0089940D0046CA
+S11892D108790199935A009456790200086DF26F63FFF48B055B
+S11892E693006DF36F62FFF86F61FFFAF8095A0094840D4447E0
+S11892FB08790003DA5E0080B47904A3580D416F60FFF45E0084
+S11893108AA60D004608790199A05A009456790200746DF26D07
+S1189325F46F62FFF86F61FFFAF8175A009484790200211D244C
+S118933A4708790003E25E0080B4790199AB5A0094567902005E
+S118934F011D244708790003E65E0080B468596F60FFF45E009F
+S11893648AEC0D004608790199B85A009456790200086DF26FBF
+S118937960FFF4880590006DF06F62FFF86F61FFFAF80B5A0020
+S118938E94847902000A1D244708790003ED5E0080B46E5A00D6
+S11893A3010CA218AA6859F1006E5B00090CB318BB6E5800085C
+S11893B8F000148B14036DF3149A14126F61FFFA6F60FFF45ED9
+S11893CD008B180B870D004D045A009496790199C35A00945656
+S11893E27902000A1D244E08790003F45E0080B46E5A00010C7F
+S11893F7A218AA6FE2FFF6685AF2006F60FFF614A814206FE0FC
+S118940CFFF66E5B00090CB318BB6E5A0008F20014AB14238DA9
+S11894210B95008CF594FF1D434710790003F96FE3FFF25E00B1
+S118943680B46F63FFF26DF50D326F61FFF66F60FFF45E008C14
+S118944B7A0B870D004C0E790199CE6F60FFFA5E008FD64036B3
+S11894606EE8FFFE0C0810001E006EE8FFFF790200026DF20D21
+S1189475621B826DF26F62FFF86F61FFFAF8115E0090480B871E
+S118948A0B874008790004045E0080B46D756D747903000E0986
+S118949F376D7654706DF60D766DF46DF50D04684BF3007902FB
+S11894B400451D23470C7902004D1D2347045A009548790200C2
+S11894C9051D214708790004125E0080B479039A28683DF500FF
+S11894DE6A0A9A290CA218AA14AD14250D5209326E4B00036E10
+S11894F3AB000118BB6A0AA40F4602FB016A8BA40F5E008F4899
+S1189508790200011D254F326A0A9A2AEA08471E79019A2B79C4
+S118951D049AC00D521B020D405E008DDC0D050D510D405E002C
+S118953290D6400C79009A2B0D511B015E0090D65E008F0840BD
+S1189547087900042C5E0080B46D756D746D7654706DF60D7678
+S118955C7903005219376DF45E00970E7900FFB0096079020068
+S11895714019115E0098087902A4007901FFB6096179003B9A73
+S11895865E0096AC790029645E0096D4790014985E0096D479F8
+S118959B0200016DF26DF27902FFB609627901FFB4096179004B
+S11895B030D05E0098560B870B87790230026DF2192279013041
+S11895C51F79001FF25E0096BC0B877901300779001B625E009D
+S11895DA96DE790027C85E0096D419446DF479029A2879011748
+S11895EF717900327C5E0096BC0B876A8CA40F6B84A4066B8458
+S1189604A4106A8CA40E405C19227901FFAF0961790034265E57
+S11896190096AC6E6AFFAFF2000CAA473E18AA6EEAFFAE790201
+S118962EFFAE09626DF2790200107901FFF00961790033B05E94
+S11896430096BC0B876E69FFAEF1006B029A200B026B829A20DA
+S11896581B017900FFF009605E0094A45E0085BC5E0080320DBA
+S114966D00469C19006D747903005209376D76547057
+S118967E6DF60D7679029A207903A4121D32470A188868A80B2B
+S1189693021D3246F85E009558FA016A8AFFCC6B0200005D2040
+S10796A86D76547013
+S11396AC6DF66DF20D165D000D600B876D765470C2
+S11896BC6DF66F7300046DF36DF20D165D000D600B870B876D0F
+S10696D176547058
+S10D96D46DF65D000D606D765470B4
+S10F96DE6DF60D165D000D606D76547085
+S11596EA6DF56DF60D060D155F520D606D766D755470C9
+S11596FC6DF56DF60D060D155F500D606D766D755470B9
+S118970E6DF60D767903A4127902EF00193269B26D7654706D46
+S1189723F60D766DF46DF50D040B04ECFE0B841D04455C79001D
+S1189738A4120D01404C69024D4209217902EEFF1D2142144068
+S118974D0E690209326982691209211D51420469134CEE6903E9
+S11897621D4345220D428A0692001D23450A0D02094219436908
+S1189777A369846902C28069820B804010E27F09210D107905B0
+S118978CEEFF1D5043AC19006D756D746D7654706DF60D766FA3
+S11097A102FFFEE27F6F82FFFE6D765470C2
+S11897AE6DF60D766DF40D140D010D0309231D31470A6C4A6833
+S11297C38A0B001D3046F60D106D746D765470D0
+S11897D26DF60D76401C680B681A1CAB430679000001401E1C43
+S11897E7AB44067900FFFF40140B000B01680A46E0681A19005F
+S10F97FC0CAA47047900FFFF6D7654703E
+S11898086DF60D760D0309231D3047066CB91D3046FA6D7654A2
+S104981D70D6
+S117981E6DF60D760D036C1A68BA0B030CAA46F66D765470ED
+S11598326DF56DF60D060D155F4C0D606D766D75547085
+S11598446DF56DF60D060D155F4E0D606D766D75547071
+S11898566DF66F7300066DF36F7300066DF36DF20D165D000D1A
+S10C986B608F0697006D765470BD
+S11798746DF60D76193340020B036C0A46FA0D306D765470C0
+S1189888726573657400000000800000000098DC000099120005
+S118989D00000098DA020000000000871298D803000000000032
+S11898B2871298D6040000000000871298D20500000000008703
+S11898C712000000000000000000003031320032003100300050
+S11898DC2E2E000098DC000099120000000098DA0700000085FA
+S11898F12A82E098D808000000852A82E098D609000000852A23
+S118990682E00000000000000000000098DC0000994800000091
+S118991B0099410100989600000000993A060098E000000000D9
+S11899300000000000000000000073656E736F72006D6F746FC5
+S1189945720000995C00009912000000000000000000000000F7
+S118995A00002F006C65676F0066696420696E20757365006E19
+S118996F6F2073756368206669640063616E27742072656D6FAA
+S118998476650063616E277420636C6F6E65006E6F20737563A9
+S118999968206E616D650063616E277420737461740063616EB1
+S11899AE2774206372656174650063616E2774206F70656E00D2
+S11899C363616E277420726561640063616E277420777269744F
+S11899D86500924C948E92B4948E934C948E9334948E93909408
+S11899ED8E93E2948E9206948E9206948E92F8948E948E948ED8
+S1099A02948E948E91BEC7
+S1189A080000FFFF9948991C98A098AA98B498BE992698EA98BC
+S1069A1DF498FEB8
+S90380007C
--- a/emu/9front/mkfile
+++ b/emu/9front/mkfile
@@ -12,7 +12,7 @@
 
 #end configurable parameters
 
-<$SRC/mkfiles/mkfile-$SYSTARG-$OBJTYPE	#set vars based on target system
+<$ROOT/mkfiles/mkfile-$SYSTARG-$OBJTYPE	#set vars based on target system
 
 <| $SHELLNAME ../port/mkdevlist $CONF	#sets $IP, $DEVS, $PORT, $LIBS
 
@@ -26,7 +26,7 @@
 
 HFILES=\
 
-CFLAGS='-DROOT="'$ROOT'"' -DEMU -I. -I../port -I$SRC/$SYSTARG/$OBJTYPE/include -I$SRC/include -I$SRC/libinterp $CTHREADFLAGS $CFLAGS $EMUOPTIONS
+CFLAGS='-DROOT="'$ROOT'"' -DEMU -I. -I../port -I$ROOT/$SYSTARG/$OBJTYPE/include -I$ROOT/include -I$ROOT/libinterp $CTHREADFLAGS $CFLAGS $EMUOPTIONS
 KERNDATE=`{$NDATE}
 
 default:V:	$O.$CONF
--- a/emu/port/portmkfile
+++ b/emu/port/portmkfile
@@ -1,9 +1,9 @@
 PORTHFILES=\
-	$SRC/$OBJDIR/include/lib9.h\
-	$SRC/$OBJDIR/include/emu.h\
-	$SRC/include/fcall.h\
-	$SRC/include/interp.h\
-	$SRC/include/draw.h\
+	$ROOT/$OBJDIR/include/lib9.h\
+	$ROOT/$OBJDIR/include/emu.h\
+	$ROOT/include/fcall.h\
+	$ROOT/include/interp.h\
+	$ROOT/include/draw.h\
 	../port/error.h\
 	../port/dat.h\
 	../port/fns.h\
@@ -41,9 +41,9 @@
 
 i$CONF.acid:	i$CONF
 	{
-		for (i in `{srclist -ec -r $SRC/ i$CONF}) {
+		for (i in `{srclist -ec -r $ROOT/ i$CONF}) {
 			echo '//FILE: ' $i
-			$CC -I. -I../port -I$SRC/Inferno/$OBJTYPE/include -I$SRC/include -I$SRC/libinterp '-DKERNDATE='$KERNDATE -a $i
+			$CC -I. -I../port -I$ROOT/Inferno/$OBJTYPE/include -I$ROOT/include -I$ROOT/libinterp '-DKERNDATE='$KERNDATE -a $i
 		}
 		echo 'include ("inferno");'
 	} >i$CONF.acid
@@ -51,12 +51,12 @@
 lib%.a:V:	$SHELLTYPE-lib%.a
 
 rc-lib%.a nt-lib%.a:VQ:
-		echo '@{builtin cd' $SRC/lib$stem '; mk $MKFLAGS SHELLTYPE=$SHELLTYPE SYSTARG=$SYSTARG OBJTYPE=$OBJTYPE install}'
-		@{builtin cd $SRC/lib$stem; mk $MKFLAGS 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE install}
+		echo '@{builtin cd' $ROOT/lib$stem '; mk $MKFLAGS SHELLTYPE=$SHELLTYPE SYSTARG=$SYSTARG OBJTYPE=$OBJTYPE install}'
+		@{builtin cd $ROOT/lib$stem; mk $MKFLAGS 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE install}
 
 sh-lib%.a:VQ:
-		echo "(cd $SRC/lib$stem ; mk $MKFLAGS SHELLTYPE=$SHELLTYPE SYSTARG=$SYSTARG OBJTYPE=$OBJTYPE install)"
-		(cd $SRC/lib$stem; mk $MKFLAGS 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE install)
+		echo "(cd $ROOT/lib$stem ; mk $MKFLAGS SHELLTYPE=$SHELLTYPE SYSTARG=$SYSTARG OBJTYPE=$OBJTYPE install)"
+		(cd $ROOT/lib$stem; mk $MKFLAGS 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE install)
 
 %-rc %-nt:V:
 		for(i in $CONFLIST)
@@ -88,15 +88,15 @@
 nuke-sh:QV:
 		for i in $LIBDIRS
 		do
-			echo "(cd $SRC/lib$i ; mk $MKFLAGS SHELLTYPE=$SHELLTYPE SYSTARG=$SYSTARG OBJTYPE=$OBJTYPE nuke)"
-			(cd $SRC/lib$i; mk $MKFLAGS 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE nuke)
+			echo "(cd $ROOT/lib$i ; mk $MKFLAGS SHELLTYPE=$SHELLTYPE SYSTARG=$SYSTARG OBJTYPE=$OBJTYPE nuke)"
+			(cd $ROOT/lib$i; mk $MKFLAGS 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE nuke)
 		done
 
 nuke-rc nuke-nt:QV:
 		for (i in $LIBDIRS)
 		{
-			echo '@{cd $SRC/lib$i ; mk $MKFLAGS SHELLTYPE=$SHELLTYPE SYSTARG=$SYSTARG OBJTYPE=$OBJTYPE nuke}'
-			@{cd $SRC/lib$i; mk $MKFLAGS 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE nuke}
+			echo '@{cd $ROOT/lib$i ; mk $MKFLAGS SHELLTYPE=$SHELLTYPE SYSTARG=$SYSTARG OBJTYPE=$OBJTYPE nuke}'
+			@{cd $ROOT/lib$i; mk $MKFLAGS 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE nuke}
 		}
 
 nuke:V:		clean nuke-$SHELLTYPE
@@ -111,36 +111,36 @@
 ../init/%.dis:	../init/%.b
 		cd ../init; mk 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE $stem.dis
 
-$SRC/libinterp/runt.h:
-		cd $SRC/libinterp
+$ROOT/libinterp/runt.h:
+		cd $ROOT/libinterp
 		mk 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE runt.h
 
-INTERP=$SRC/include/interp.h
-RUNT=$SRC/libinterp/runt.h		# for culling dependencies
+INTERP=$ROOT/include/interp.h
+RUNT=$ROOT/libinterp/runt.h		# for culling dependencies
 
 alloc.$O: ../../include/pool.h\
 		$INTERP
-devcons.$O:	$SRC/include/version.h
-devdraw.$O:	$SRC/include/draw.h\
-		$SRC/include/memdraw.h\
-		$SRC/include/memlayer.h
+devcons.$O:	$ROOT/include/version.h
+devdraw.$O:	$ROOT/include/draw.h\
+		$ROOT/include/memdraw.h\
+		$ROOT/include/memlayer.h
 devmem.$O:	$INTERP
 devpipe.$O:	$INTERP
 devprof.$O:	$INTERP
-devprog.$O:	$SRC/libinterp/runt.h\
+devprog.$O:	$ROOT/libinterp/runt.h\
 			$INTERP
 devsign.$O:	$INTERP
-devsign.$O: $SRC/libkeyring/keys.h
-devsrv.$O:	$SRC/libinterp/runt.h\
+devsign.$O: $ROOT/libkeyring/keys.h
+devsrv.$O:	$ROOT/libinterp/runt.h\
 		$INTERP
 devtk.$O:	$INTERP
 dis.$O:	$INTERP
 discall.$O:	$INTERP
 exception.$O:	$INTERP
-inferno.$O:	$SRC/libinterp/runt.h\
+inferno.$O:	$ROOT/libinterp/runt.h\
 		$INTERP
 devmnt.$O: ../../include/fcall.h
-main.$O:	$SRC/include/version.h
+main.$O:	$ROOT/include/version.h
 main.$O:	../port/error.h\
 		$INTERP
 proc.$O:	errstr.h\
@@ -164,7 +164,7 @@
 audio.c:N:	../port/audio.h
 
 srv.$O:			srv.h srvm.h
-srv.h srvm.h:D:		$SRC/module/srvrunt.b $SRC/module/srv.m
+srv.h srvm.h:D:		$ROOT/module/srvrunt.b $ROOT/module/srv.m
 			rm -f $alltarget
-			limbo -a -I$SRC/module $SRC/module/srvrunt.b >srv.h
-			limbo -t Srv -I$SRC/module $SRC/module/srvrunt.b >srvm.h
+			limbo -a -I$ROOT/module $ROOT/module/srvrunt.b >srv.h
+			limbo -t Srv -I$ROOT/module $ROOT/module/srvrunt.b >srvm.h
--- a/lib/emptydirs
+++ b/lib/emptydirs
@@ -10,9 +10,6 @@
 Inferno/386/bin
 Inferno/386/include
 Inferno/386/lib
-Inferno/amd64/bin
-Inferno/amd64/include
-Inferno/amd64/lib
 Inferno/arm/bin
 Inferno/arm/include
 Inferno/arm/lib
@@ -124,11 +121,7 @@
 usr/inferno/tmp
 services/collab/export/services
 services/collab/export/collab
-acme/acid
-acme/bin
 acme/dis
-acme/edit
-acme/mail
 dis/acme
 dis/alphabet
 dis/alphabet/abc
@@ -199,5 +192,3 @@
 dis/wm/brutus
 dis/wm/vixen
 dis/zip
-services/httpd
-services/webget
--- a/lib9/mkfile
+++ b/lib9/mkfile
@@ -80,13 +80,13 @@
 
 OFILES=$COMMONFILES $TARGFILES
 
-HFILES=$SRC/$SYSTARG/$OBJTYPE/include/lib9.h\
+HFILES=$ROOT/$SYSTARG/$OBJTYPE/include/lib9.h\
 	fmtdef.h\
 
-<$SRC/mkfiles/mksyslib-$SHELLTYPE
+<$ROOT/mkfiles/mksyslib-$SHELLTYPE
 
-convD2M.$O: $SRC/include/fcall.h
-convM2D.$O: $SRC/include/fcall.h
-convM2S.$O: $SRC/include/fcall.h
-convS2M.$O: $SRC/include/fcall.h
-fcallfmt.$O: $SRC/include/fcall.h
+convD2M.$O: $ROOT/include/fcall.h
+convM2D.$O: $ROOT/include/fcall.h
+convM2S.$O: $ROOT/include/fcall.h
+convS2M.$O: $ROOT/include/fcall.h
+fcallfmt.$O: $ROOT/include/fcall.h
--- a/libbio/mkfile
+++ b/libbio/mkfile
@@ -20,6 +20,6 @@
 	bvprint.$O\
 	bwrite.$O\
 
-HFILES=	$SRC/include/bio.h
+HFILES=	$ROOT/include/bio.h
 
-<$SRC/mkfiles/mksyslib-$SHELLTYPE
+<$ROOT/mkfiles/mksyslib-$SHELLTYPE
--- a/libdraw/mkfile
+++ b/libdraw/mkfile
@@ -47,8 +47,8 @@
 	writesubfont.$O\
 
 HFILES=\
-	$SRC/include/draw.h \
-	$SRC/include/interp.h\
+	$ROOT/include/draw.h \
+	$ROOT/include/interp.h\
 
-<$SRC/mkfiles/mksyslib-$SHELLTYPE
+<$ROOT/mkfiles/mksyslib-$SHELLTYPE
 
--- a/libdynld/mkfile
+++ b/libdynld/mkfile
@@ -7,6 +7,6 @@
 	dynloadfd.$O\
 	dynld.$O\
 
-HFILES=$SRC/$SYSTARG/$OBJTYPE/include/lib9.h\
+HFILES=$ROOT/$SYSTARG/$OBJTYPE/include/lib9.h\
 
-<$SRC/mkfiles/mksyslib-$SHELLTYPE
+<$ROOT/mkfiles/mksyslib-$SHELLTYPE
--- a/libfis/mkfile
+++ b/libfis/mkfile
@@ -4,6 +4,6 @@
 
 OFILES=fis.$O
 
-HFILES=$SRC/include/fis.h
+HFILES=$ROOT/include/fis.h
 
-<$SRC/mkfiles/mksyslib-$SHELLTYPE
+<$ROOT/mkfiles/mksyslib-$SHELLTYPE
--- a/libflate/mkfile
+++ b/libflate/mkfile
@@ -15,7 +15,7 @@
 	adler.$O\
 
 HFILES=\
-	$SRC/include/flate.h\
+	$ROOT/include/flate.h\
 	zlib.h\
 
-<$SRC/mkfiles/mksyslib-$SHELLTYPE
+<$ROOT/mkfiles/mksyslib-$SHELLTYPE
--- a/libfreetype/mkfile
+++ b/libfreetype/mkfile
@@ -25,11 +25,11 @@
 #	type1cid.$O\
 #	winfnt.$O\
 
-<$SRC/mkfiles/mksyslib-$SHELLTYPE
+<$ROOT/mkfiles/mksyslib-$SHELLTYPE
 
-CFLAGS= $ANSICPP $CFLAGS -I$SRC/include/freetype -I.
+CFLAGS= $ANSICPP $CFLAGS -I$ROOT/include/freetype -I.
 
-freetype.$O:	$SRC/include/freetype.h
+freetype.$O:	$ROOT/include/freetype.h
 
 # FreeType is organised by #include of .c files
 # here are the necessary depenencies
--- a/libinterp/mkfile
+++ b/libinterp/mkfile
@@ -34,8 +34,8 @@
 	string.$O\
 
 HFILES=\
-	$SRC/include/interp.h\
-	$SRC/include/isa.h\
+	$ROOT/include/interp.h\
+	$ROOT/include/isa.h\
 	runt.h\
 	tab.h\
 
@@ -53,7 +53,7 @@
 	../module/crypt.m\
 	keyringif.m\
 
-<$SRC/mkfiles/mksyslib-$SHELLTYPE
+<$ROOT/mkfiles/mksyslib-$SHELLTYPE
 
 runt.h:D: $MODULES
 	rm -f $target && limbo -a -I../module ../module/runt.m > $target
@@ -98,28 +98,28 @@
 bench.h:D:../module/bench.m
 	rm -f $target && limbo -a -I../module ../module/bench.m > $target
 
-xec.$O:		optab.h  $SRC/include/pool.h
-tk.$O:		$SRC/include/tk.h  $SRC/include/pool.h
-draw.$O: 	$SRC/include/draw.h $SRC/include/drawif.h
-prefab.$O: 	$SRC/include/draw.h\
-		$SRC/include/prefab.h
+xec.$O:		optab.h  $ROOT/include/pool.h
+tk.$O:		$ROOT/include/tk.h  $ROOT/include/pool.h
+draw.$O: 	$ROOT/include/draw.h $ROOT/include/drawif.h
+prefab.$O: 	$ROOT/include/draw.h\
+		$ROOT/include/prefab.h
 
 runt.$O:	sysmod.h
 prefab.$O:	prefabmod.h
 draw.$O:	drawmod.h
-tk.$O:		$SRC/include/draw.h tkmod.h
+tk.$O:		$ROOT/include/draw.h tkmod.h
 math.$O:	mathmod.h
 keyring.$O:	keyring.h ipint.h keyringif.h
 crypt.$O:	ipint.h runt.h cryptmod.h
 ipint.$O:	ipint.h ipintsmod.h
 loader.$O:	loadermod.h
-freetype.$O:	freetypemod.h $SRC/include/freetype.h
-math.$O:	$SRC/include/mathi.h
+freetype.$O:	freetypemod.h $ROOT/include/freetype.h
+math.$O:	$ROOT/include/mathi.h
 
 das-spim.c:N:	das-mips.c
 comp-spim.c:N:	comp-mips.c
 
-# optab.h:	$SRC/include/isa.h mkoptab
+# optab.h:	$ROOT/include/isa.h mkoptab
 #	$SHELLNAME mkoptab > $target
 
 #	Do not remove optab.h, because the script that builds
--- a/libkern/mkfile
+++ b/libkern/mkfile
@@ -74,10 +74,10 @@
 OFILES=	$COMMONFILES $TARGFILES
 HFILES=	fmtdef.h
 
-<$SRC/mkfiles/mksyslib-$SHELLTYPE
+<$ROOT/mkfiles/mksyslib-$SHELLTYPE
 
-convD2M.$O: $SRC/include/fcall.h
-convM2D.$O: $SRC/include/fcall.h
-convM2S.$O: $SRC/include/fcall.h
-convS2M.$O: $SRC/include/fcall.h
-fcallfmt.$O: $SRC/include/fcall.h
+convD2M.$O: $ROOT/include/fcall.h
+convM2D.$O: $ROOT/include/fcall.h
+convM2S.$O: $ROOT/include/fcall.h
+convS2M.$O: $ROOT/include/fcall.h
+fcallfmt.$O: $ROOT/include/fcall.h
--- a/libkeyring/mkfile
+++ b/libkeyring/mkfile
@@ -8,10 +8,10 @@
 	rsaalg.$O
 
 HFILES=\
-	$SRC/include/mp.h\
-	$SRC/include/libsec.h\
-	$SRC/libinterp/runt.h\
-	$SRC/include/interp.h\
+	$ROOT/include/mp.h\
+	$ROOT/include/libsec.h\
+	$ROOT/libinterp/runt.h\
+	$ROOT/include/interp.h\
 	keys.h\
 
-<$SRC/mkfiles/mksyslib-$SHELLTYPE
+<$ROOT/mkfiles/mksyslib-$SHELLTYPE
--- a/liblogfs/mkfile
+++ b/liblogfs/mkfile
@@ -39,7 +39,7 @@
 
 HFILES=\
 	local.h \
-	$SRC/include/logfs.h
+	$ROOT/include/logfs.h
 
-<$SRC/mkfiles/mksyslib-$SHELLTYPE
+<$ROOT/mkfiles/mksyslib-$SHELLTYPE
 
--- a/libmath/mkfile
+++ b/libmath/mkfile
@@ -57,10 +57,10 @@
 	s_tanh.$O\
 
 HFILES=\
-	$SRC/include/mathi.h\
+	$ROOT/include/mathi.h\
 	fdlibm/fdlibm.h\
 	
-<$SRC/mkfiles/mksyslib-$SHELLTYPE
+<$ROOT/mkfiles/mksyslib-$SHELLTYPE
 
 %.$O:	fdlibm/%.c
 	$CC $CFLAGS -o $target -Ifdlibm fdlibm/$stem.c
--- a/libmemdraw/mkfile
+++ b/libmemdraw/mkfile
@@ -25,9 +25,9 @@
 
 OFILES=$COMMONFILES $SYSFILES
 
-HFILES=	$SRC/include/draw.h\
-	$SRC/include/memdraw.h\
+HFILES=	$ROOT/include/draw.h\
+	$ROOT/include/memdraw.h\
 
-<$SRC/mkfiles/mksyslib-$SHELLTYPE
+<$ROOT/mkfiles/mksyslib-$SHELLTYPE
 
 %-x11.$O:	xmem.h
--- a/libmemlayer/mkfile
+++ b/libmemlayer/mkfile
@@ -19,8 +19,8 @@
 
 OFILES=$COMMONFILES $SYSFILES
 
-HFILES=	$SRC/include/draw.h\
-	$SRC/include/memdraw.h\
-	$SRC/include/memlayer.h
+HFILES=	$ROOT/include/draw.h\
+	$ROOT/include/memdraw.h\
+	$ROOT/include/memlayer.h
 
-<$SRC/mkfiles/mksyslib-$SHELLTYPE
+<$ROOT/mkfiles/mksyslib-$SHELLTYPE
--- a/libmp/Inferno-amd64/mkfile
+++ b/libmp/Inferno-amd64/mkfile
@@ -10,7 +10,7 @@
 	mpvecsub.s\
 	mpdigdiv.s\
 
-HFILES=$SRC/Inferno/$OBJTYPE/include/u.h $SRC/include/mp.h ../port/dat.h
+HFILES=$ROOT/Inferno/$OBJTYPE/include/u.h $ROOT/include/mp.h ../port/dat.h
 
 OFILES=${SFILES:%.s=%.$O}
 
@@ -18,4 +18,4 @@
 	$HFILES\
 	$SFILES\
 
-<$SRC/mkfiles/mksyslib-$SHELLTYPE
+<$ROOT/mkfiles/mksyslib-$SHELLTYPE
--- a/libmp/mkfile
+++ b/libmp/mkfile
@@ -3,19 +3,19 @@
 # TARGMODEL not SYSTARG for now
 DIRS=port $TARGMODEL-$OBJTYPE
 
-<$SRC/mkfiles/mklibsubdirs
+<$ROOT/mkfiles/mklibsubdirs
 
 # the remainder are only intended for testing on a few system types
-test.$O:	test.c $SRC/$OBJDIR/include/lib9.h $SRC/include/mp.h port/dat.h
+test.$O:	test.c $ROOT/$OBJDIR/include/lib9.h $ROOT/include/mp.h port/dat.h
 	$CC -Iport test.c
 
-$O.test:	test.$O $SRC/$OBJDIR/lib/libmp.a
+$O.test:	test.$O $ROOT/$OBJDIR/lib/libmp.a
 	$LD -o $O.test test.$O
 
-bigtest.$O: bigtest.c  $SRC/$OBJDIR/include/lib9.h $SRC/include/mp.h port/dat.h
+bigtest.$O: bigtest.c  $ROOT/$OBJDIR/include/lib9.h $ROOT/include/mp.h port/dat.h
 	$CC -Iport bigtest.c
 
-$O.bigtest: bigtest.$O  $SRC/$OBJDIR/lib/libmp.a
+$O.bigtest: bigtest.$O  $ROOT/$OBJDIR/lib/libmp.a
 	$LD -o $O.bigtest bigtest.$O
 
 allout:
--- a/libmp/port/mkfile
+++ b/libmp/port/mkfile
@@ -38,8 +38,8 @@
 OFILES=	`{$SHELLNAME ./reduce-$SHELLTYPE $O $TARGMODEL-$OBJTYPE $ALLOFILES }
 
 HFILES=\
-	$SRC/$OBJDIR/include/lib9.h\
-	$SRC/include/mp.h\
+	$ROOT/$OBJDIR/include/lib9.h\
+	$ROOT/include/mp.h\
 	dat.h\
 
 CFILES=${FILES:%=%.c}
@@ -49,4 +49,4 @@
 	$HFILES\
 	$CFILES\
 
-<$SRC/mkfiles/mksyslib-$SHELLTYPE
+<$ROOT/mkfiles/mksyslib-$SHELLTYPE
--- a/libnandfs/mkfile
+++ b/libnandfs/mkfile
@@ -25,9 +25,9 @@
 		writepageauxilliary.$O\
 
 HFILES=\
-	$SRC/include/nandfs.h \
-	$SRC/include/logfs.h \
+	$ROOT/include/nandfs.h \
+	$ROOT/include/logfs.h \
 	local.h
 
-<$SRC/mkfiles/mksyslib-$SHELLTYPE
+<$ROOT/mkfiles/mksyslib-$SHELLTYPE
 
--- a/libprefab/mkfile
+++ b/libprefab/mkfile
@@ -13,9 +13,9 @@
 	textelement.$O\
 
 HFILES=\
-	$SRC/include/draw.h\
-	$SRC/include/prefab.h\
+	$ROOT/include/draw.h\
+	$ROOT/include/prefab.h\
 
-<$SRC/mkfiles/mksyslib-$SHELLTYPE
+<$ROOT/mkfiles/mksyslib-$SHELLTYPE
 
-$OFILES:	$SRC/module/prefab.m
+$OFILES:	$ROOT/module/prefab.m
--- a/libsec/9front-amd64/mkfile
+++ b/libsec/9front-amd64/mkfile
@@ -7,10 +7,10 @@
 	md5block\
 	sha1block\
 
-HFILES=$SRC/include/libsec.h
+HFILES=$ROOT/include/libsec.h
 
 SFILES=${FILES:%=%.s}
 
 OFILES=${FILES:%=%.$O}
 
-<$SRC/mkfiles/mksyslib-$SHELLTYPE
+<$ROOT/mkfiles/mksyslib-$SHELLTYPE
--- a/libsec/mkfile
+++ b/libsec/mkfile
@@ -3,4 +3,4 @@
 # TARGMODEL not SYSTARG for now
 DIRS=port $TARGMODEL-$OBJTYPE
 
-<$SRC/mkfiles/mklibsubdirs
+<$ROOT/mkfiles/mklibsubdirs
--- a/libsec/port/mkfile
+++ b/libsec/port/mkfile
@@ -21,8 +21,8 @@
 OFILES=	`{$SHELLNAME ./reduce-$SHELLTYPE $O $TARGMODEL-$OBJTYPE $ALLOFILES }
 
 HFILES=\
-	$SRC/include/libsec.h\
-	$SRC/libmp/port/os.h\
+	$ROOT/include/libsec.h\
+	$ROOT/libmp/port/os.h\
 
 CFLAGS=$CFLAGS -I../../libmp/port
 
@@ -30,4 +30,4 @@
 	$HFILES\
 	$CFILES\
 
-<$SRC/mkfiles/mksyslib-$SHELLTYPE
+<$ROOT/mkfiles/mksyslib-$SHELLTYPE
--- a/libtk/mkfile
+++ b/libtk/mkfile
@@ -15,13 +15,13 @@
 	xdata.$O\
 
 HFILES=\
-	$SRC/include/tk.h\
-	$SRC/include/draw.h\
+	$ROOT/include/tk.h\
+	$ROOT/include/draw.h\
 
 default:V:	all
 
 <mkfile-$TKSTYLE
-<$SRC/mkfiles/mksyslib-$SHELLTYPE
+<$ROOT/mkfiles/mksyslib-$SHELLTYPE
 
-ebind.$O:		$SRC/include/interp.h
+ebind.$O:		$ROOT/include/interp.h
 windw.$O:	canvs.h textw.h
--- a/limbo/mkfile
+++ b/limbo/mkfile
@@ -22,8 +22,8 @@
 HFILES=	limbo.h\
 	fns.h\
 	y.tab.h\
-	$SRC/include/interp.h\
-	$SRC/include/isa.h\
+	$ROOT/include/interp.h\
+	$ROOT/include/isa.h\
 
 LIBS=	bio\
 	math\
@@ -35,7 +35,7 @@
 
 BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 CFLAGS='-DINCPATH="'$ROOT/module'"' $CFLAGS
 YFLAGS=-d
--- a/mkconfig
+++ b/mkconfig
@@ -4,9 +4,7 @@
 #	They are almost always the same.
 
 #	On Nt systems, the ROOT path MUST be of the form `drive:/path'
-# ROOT=/usr/inferno
-ROOT=/home/user/9ferno.root
-SRC=/home/user/9ferno
+ROOT=$HOME/src/purgatorio
 
 #
 #	Specify the flavour of Tk (std for standard builds)
@@ -13,19 +11,23 @@
 #
 TKSTYLE=std
 
+# emu target, emu-g is a headless variant. Linux/BSD only (emu, emu-g)
+CONF=emu
+
+#	binary will be placed at $SYSTARG/$OBJTYPE/bin/$CONF
+
 #
 #	Except for building kernels, SYSTARG must always be the same as SYSHOST
 #
-SYSHOST=9front # Plan9		# build system OS type (AIX, Hp, Inferno, Irix, Linux, MacOSX, Nt, Plan9, Solaris)
-SYSTARG=$SYSHOST		# target system OS type (AIX, Hp, Inferno, Irix, Linux, Nt, Plan9, Solaris)
+SYSHOST=Linux		# build system OS type (Hp, Inferno, Irix, Linux, MacOSX, Nt, Plan9, Solaris)
+SYSTARG=$SYSHOST	# target system OS type (Hp, Inferno, Irix, Linux, Nt, Plan9, Solaris)
 
 #
 #	specify the architecture of the target system - Plan 9 imports it from the
 #	environment; for other systems it is usually just hard-coded
 #
-# OBJTYPE=386			# target system object type (eg, 386, arm, mips, power, s800, sparc)
-OBJTYPE=amd64
-# OBJTYPE=$objtype
+#OBJTYPE=386			# target system object type (eg, 386, arm, mips, power, s800, sparc)
+OBJTYPE=386
 
 #
 #	no changes required beyond this point
@@ -32,5 +34,5 @@
 #
 OBJDIR=$SYSTARG/$OBJTYPE
 
-<$SRC/mkfiles/mkhost-$SYSHOST			# variables appropriate for host system
-<$SRC/mkfiles/mkfile-$SYSTARG-$OBJTYPE	# variables used to build target object type
+<$ROOT/mkfiles/mkhost-$SYSHOST			# variables appropriate for host system
+<$ROOT/mkfiles/mkfile-$SYSTARG-$OBJTYPE	# variables used to build target object type
--- a/mkfile
+++ b/mkfile
@@ -29,7 +29,7 @@
 
 
 KERNEL_DIRS=\
-	os/pc64\
+	os\
 	os/boot/pc\
 
 # mkconfig is included at this point to allow it to override
@@ -44,19 +44,21 @@
 foo:QV:
 	echo mk all, clean, install, installall or nuke
 
-all:V:		mkrootdir all-$HOSTMODEL
+all:V:		all-$HOSTMODEL
 clean:V:	clean-$HOSTMODEL
-install:V:	mkrootdir install-$HOSTMODEL
-installall:V:	mkrootdir installall-$HOSTMODEL
+install:V:	install-$HOSTMODEL
+installall:V:	installall-$HOSTMODEL
 emu:V:	emu/all-$HOSTMODEL
-emuinstall:V:	mkrootdir emu/install-$HOSTMODEL
+emuinstall:V:	emu/install-$HOSTMODEL
 emuclean:V:	emu/clean-$HOSTMODEL
 emunuke:V:	emu/nuke-$HOSTMODEL
+# TODO the kernel targets are obsolete(?). definitely need cleanup
+#	mk kernel/pc64-9front tries to build pc64 in os/boot/pc
 kernel:V:	kernel/all-$HOSTMODEL
 kernelall:V:	kernel/all-$HOSTMODEL
 kernelclean:V:	kernel/clean-$HOSTMODEL
-kernelinstall:V:	mkrootdir kernel/install-$HOSTMODEL
-kernelinstallall:V:	mkrootdir kernel/installall-$HOSTMODEL
+kernelinstall:V:	kernel/install-$HOSTMODEL
+kernelinstallall:V:	kernel/installall-$HOSTMODEL
 kernelnuke:V:	kernel/nuke-$HOSTMODEL
 nuke:V:		nuke-$HOSTMODEL
 
@@ -194,52 +196,18 @@
 Solaris-% solaris-%:V:
 	mk 'SYSHOST=Solaris' 'OBJTYPE=sparc' $stem
 
-
-mkrootdir:V:	 mkrootdir-$SHELLTYPE mkdirs
-
-mkrootdir-rc:V:
-	test -d $ROOT || mkdir $ROOT
-	for (d in doc fonts icons lib locale man module services)
-	{
-		echo dircp $SRC/$d $ROOT/$d
-		test -d $ROOT/$d || mkdir -p $ROOT/$d
-		dircp $SRC/$d $ROOT/$d
-	}
-
-mkrootdir-sh:V:
-	test -d $ROOT || mkdir $ROOT
-	for (d in doc fonts icons lib locale man module services)
-	{
-		echo cp -a $SRC/$d $ROOT/
-		cp -a $SRC/$d $ROOT/
-	}
-
-mkrootdir-nt:V:
-	test -d $ROOT || mkdir $ROOT
-	for (d in doc fonts icons lib locale man module services)
-	{
-		echo cp -a $SRC/$d $ROOT/$d
-		cp -a $SRC/$d $ROOT/$d # TODO does this work on nt?
-	}
-
 mkdirs:V:	mkdirs-$SHELLTYPE
 
 mkdirs-rc:V:
-	test -d $ROOT || mkdir $ROOT
-	cd $ROOT
-	mkdir -p `{cat $SRC/lib/emptydirs}
+	mkdir -p `{cat lib/emptydirs}
 	chmod 555 mnt/* n/client/* n/*
 
 mkdirs-sh:V:
-	test -d $ROOT || mkdir $ROOT
-	cd $ROOT
-	mkdir -p `cat $SRC/lib/emptydirs`
+	mkdir -p `cat lib/emptydirs`
 	chmod 555 mnt/* n/client/* n/*
 
 mkdirs-nt:V:
-	test -d $ROOT || mkdir $ROOT
-	cd $ROOT
-	mkdir -p `{cmd /c type $SRC\lib\emptydirs}
+	mkdir -p `{cmd /c type lib\emptydirs}
 
 # got the below ideas from plan9front/sys/lib/dist/mkfile
 #	can only be used on 9front. should technically work on plan9 and inferno too.
--- a/mkfiles/mkfile-9front-amd64
+++ b/mkfiles/mkfile-9front-amd64
@@ -12,7 +12,7 @@
 ASFLAGS=
 
 CC=		6c
-CFLAGS=		-wFV -I$SRC/9front/$OBJTYPE/include -I$SRC/9front/include -I$SRC/include
+CFLAGS=		-wFV -I$ROOT/9front/$OBJTYPE/include -I$ROOT/9front/include -I$ROOT/include
 ANSICPP= -p
 
 LD=		6l
--- a/mkfiles/mkfile-Inferno-amd64
+++ b/mkfiles/mkfile-Inferno-amd64
@@ -12,7 +12,7 @@
 ASFLAGS=
 
 CC=		6c
-CFLAGS=		-wFVT -I$SRC/Inferno/$OBJTYPE/include -I$SRC/Inferno/include -I$SRC/include
+CFLAGS=		-wFVT -I$ROOT/Inferno/$OBJTYPE/include -I$ROOT/Inferno/include -I$ROOT/include
 ANSICPP= -p
 
 LD=		6l
--- a/mkfiles/mkfile-OpenBSD-amd64
+++ b/mkfiles/mkfile-OpenBSD-amd64
@@ -15,8 +15,8 @@
 CFLAGS=	-g\
 		-O\
 		-Wno-deprecated-declarations -Wuninitialized -Wunused -Wreturn-type -Wimplicit\
-		-I$SRC/OpenBSD/amd64/include\
-		-I$SRC/include\
+		-I$ROOT/OpenBSD/amd64/include\
+		-I$ROOT/include\
  		-I/usr/X11R6/include\
 		-DOPENBSD_amd64 -fno-stack-protector
 
--- a/os/boot/efi/mkfile
+++ b/os/boot/efi/mkfile
@@ -11,7 +11,7 @@
 	libkern\
 
 LIBFILES=${LIBS:%=$LIBDIR/%.a}
-<$SRC/mkfiles/mkfile-$SYSTARG-$OBJTYPE
+<$ROOT/mkfiles/mkfile-$SYSTARG-$OBJTYPE
 
 BIN=$ROOT/Inferno/$OBJTYPE
 
--- a/os/boot/pc/mkfile
+++ b/os/boot/pc/mkfile
@@ -11,7 +11,7 @@
 	libkern\
 
 LIBFILES=${LIBS:%=$LIBDIR/%.a}
-<$SRC/mkfiles/mkfile-$SYSTARG-$OBJTYPE
+<$ROOT/mkfiles/mkfile-$SYSTARG-$OBJTYPE
 
 BIN=$ROOT/Inferno/$OBJTYPE
 
@@ -125,12 +125,12 @@
 	#
 
 rc-lib%.a nt-lib%.a:VQ:
-	echo '@{builtin cd ' $SRC/lib$stem ';mk SHELLTYPE=$SHELLTYPE SYSTARG=$SYSTARG OBJTYPE=$OBJTYPE install}'
-	@{builtin cd  $SRC/lib$stem ;mk 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE install}
+	echo '@{builtin cd ' $ROOT/lib$stem ';mk SHELLTYPE=$SHELLTYPE SYSTARG=$SYSTARG OBJTYPE=$OBJTYPE install}'
+	@{builtin cd  $ROOT/lib$stem ;mk 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE install}
 
 sh-lib%.a:VQ:
-	echo "(cd $SRC/lib$stem ; mk SHELLTYPE=$SHELLTYPE SYSTARG=$SYSTARG OBJTYPE=$OBJTYPE install)"
-	(cd $SRC/lib$stem ; mk SHELLTYPE=$SHELLTYPE SYSTARG=$SYSTARG OBJTYPE=$OBJTYPE install)
+	echo "(cd $ROOT/lib$stem ; mk SHELLTYPE=$SHELLTYPE SYSTARG=$SYSTARG OBJTYPE=$OBJTYPE install)"
+	(cd $ROOT/lib$stem ; mk SHELLTYPE=$SHELLTYPE SYSTARG=$SYSTARG OBJTYPE=$OBJTYPE install)
 
 %-sh:QV:
 		for i in $LIBDIRS
--- a/os/init/mkfile
+++ b/os/init/mkfile
@@ -11,7 +11,7 @@
 	rm -f *.dis *.sbl
 
 INCLD=\
-	-I$SRC/module\
+	-I$ROOT/module\
 
 %.dis:	%.b
 	limbo $INCLD -gw $stem.b
--- a/os/pc/mkfile
+++ b/os/pc/mkfile
@@ -8,12 +8,12 @@
 
 SYSTARG=$OSTARG
 OBJTYPE=386
-INSTALLDIR=$SRC/Inferno/$OBJTYPE/bin	#path of directory where kernel is installed
+INSTALLDIR=$ROOT/Inferno/$OBJTYPE/bin	#path of directory where kernel is installed
 #INSTALLDIR=/$OBJTYPE
 
 #end configurable parameters
 
-<$SRC/mkfiles/mkfile-$SYSTARG-$OBJTYPE	#set vars based on target system
+<$ROOT/mkfiles/mkfile-$SYSTARG-$OBJTYPE	#set vars based on target system
 
 <| $SHELLNAME ../port/mkdevlist $CONF	#sets $IP, $DEVS, $ETHERS, $VGAS, $PORT, $MISC, $LIBS, $OTHERS
 
@@ -47,7 +47,7 @@
 	fns.h\
 	io.h\
 
-CFLAGS=-wFVT -I$SRC/Inferno/$OBJTYPE/include -I$SRC/include -I$SRC/libinterp -I../port
+CFLAGS=-wFVT -I$ROOT/Inferno/$OBJTYPE/include -I$ROOT/include -I$ROOT/libinterp -I../port
 KERNDATE=`{$NDATE}
 
 default:V: i$CONF
@@ -62,11 +62,11 @@
 
 <../port/portmkfile
 
-clock.$O:	$SRC/Inferno/$OBJTYPE/include/ureg.h
-devether.$O:	$SRC/Inferno/$OBJTYPE/include/ureg.h
-fault386.$O:	$SRC/Inferno/$OBJTYPE/include/ureg.h
-main.$O:	$SRC/Inferno/$OBJTYPE/include/ureg.h
-trap.$O:	$SRC/Inferno/$OBJTYPE/include/ureg.h
+clock.$O:	$ROOT/Inferno/$OBJTYPE/include/ureg.h
+devether.$O:	$ROOT/Inferno/$OBJTYPE/include/ureg.h
+fault386.$O:	$ROOT/Inferno/$OBJTYPE/include/ureg.h
+main.$O:	$ROOT/Inferno/$OBJTYPE/include/ureg.h
+trap.$O:	$ROOT/Inferno/$OBJTYPE/include/ureg.h
 
 devether.$O $ETHERS:	etherif.h ../port/netif.h
 $IP devip.$O:		../ip/ip.h
--- a/os/pc64/mkfile
+++ b/os/pc64/mkfile
@@ -8,7 +8,7 @@
 
 SYSTARG=Inferno # $OSTARG
 OBJTYPE=amd64 # 386
-INSTALLDIR=$SRC/Inferno/$OBJTYPE/	#path of directory where kernel is installed
+INSTALLDIR=$ROOT/Inferno/$OBJTYPE/	#path of directory where kernel is installed
 #INSTALLDIR=/$OBJTYPE
 
 # must match mem.h
@@ -18,7 +18,7 @@
 
 #end configurable parameters
 
-<$SRC/mkfiles/mkfile-$SYSTARG-$OBJTYPE	#set vars based on target system
+<$ROOT/mkfiles/mkfile-$SYSTARG-$OBJTYPE	#set vars based on target system
 
 <| $SHELLNAME ../port/mkdevlist $CONF	#sets $IP, $DEVS, $ETHERS, $VGAS, $PORT, $MISC, $LIBS, $OTHERS
 
@@ -54,7 +54,7 @@
 	fns.h\
 	io.h\
 
-CFLAGS=-wFVT -I$SRC/Inferno/$OBJTYPE/include -I$SRC/include -I$SRC/libinterp -I../port
+CFLAGS=-wFVT -I$ROOT/Inferno/$OBJTYPE/include -I$ROOT/include -I$ROOT/libinterp -I../port
 KERNDATE=`{$NDATE}
 
 default:V: i$CONF
@@ -86,11 +86,11 @@
 
 <../port/portmkfile
 
-clock.$O:	$SRC/Inferno/$OBJTYPE/include/ureg.h
-devether.$O:	$SRC/Inferno/$OBJTYPE/include/ureg.h
-fault386.$O:	$SRC/Inferno/$OBJTYPE/include/ureg.h
-main.$O:	$SRC/Inferno/$OBJTYPE/include/ureg.h
-trap.$O:	$SRC/Inferno/$OBJTYPE/include/ureg.h
+clock.$O:	$ROOT/Inferno/$OBJTYPE/include/ureg.h
+devether.$O:	$ROOT/Inferno/$OBJTYPE/include/ureg.h
+fault386.$O:	$ROOT/Inferno/$OBJTYPE/include/ureg.h
+main.$O:	$ROOT/Inferno/$OBJTYPE/include/ureg.h
+trap.$O:	$ROOT/Inferno/$OBJTYPE/include/ureg.h
 
 devether.$O $ETHERS:	etherif.h ../port/netif.h
 $IP devip.$O:		../ip/ip.h
--- a/os/port/portmkfile
+++ b/os/port/portmkfile
@@ -4,7 +4,7 @@
 	../port/portdat.h\
 	../port/portfns.h\
 
-LIBFILES=${LIBS:%=$SRC/Inferno/$OBJTYPE/lib/lib%.a}
+LIBFILES=${LIBS:%=$ROOT/Inferno/$OBJTYPE/lib/lib%.a}
 
 CLEANEXTRA=
 
@@ -31,7 +31,7 @@
 acid:V: i$CONF.acid
 i$CONF.acid:V: $SHELLTYPE-i$CONF.acid
 
-LIBHDIRS= -I$SRC/libmp/port -I$SRC/libsec/port
+LIBHDIRS= -I$ROOT/libmp/port -I$ROOT/libsec/port
 
 
 rc-i$CONF.acid nt-i$CONF.acid:V: i$CONF
@@ -56,12 +56,12 @@
 lib%.a:V:	$SHELLTYPE-lib%.a
 
 rc-lib%.a nt-lib%.a:VQ:
-		echo '@{builtin cd' $SRC/lib$stem ';' mk 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE install'}'
-		@{builtin cd $SRC/lib$stem; mk 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE install}
+		echo '@{builtin cd' $ROOT/lib$stem ';' mk 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE install'}'
+		@{builtin cd $ROOT/lib$stem; mk 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE install}
 
 sh-lib%.a:VQ:
-		echo "(cd $SRC/lib$stem ; mk SHELLTYPE=$SHELLTYPE SYSTARG=$SYSTARG OBJTYPE=$OBJTYPE install)"
-		(cd $SRC/lib$stem; mk 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE install)
+		echo "(cd $ROOT/lib$stem ; mk SHELLTYPE=$SHELLTYPE SYSTARG=$SYSTARG OBJTYPE=$OBJTYPE install)"
+		(cd $ROOT/lib$stem; mk 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE install)
 
 %-rc %-nt:V:
 		for(i in $CONFLIST)
@@ -89,15 +89,15 @@
 nuke-sh:QV:
 		for i in $LIBDIRS
 		do
-			echo "(cd $SRC/lib$i ; mk SHELLTYPE=$SHELLTYPE SYSTARG=$SYSTARG OBJTYPE=$OBJTYPE nuke)"
-			(cd $SRC/lib$i; mk 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE nuke)
+			echo "(cd $ROOT/lib$i ; mk SHELLTYPE=$SHELLTYPE SYSTARG=$SYSTARG OBJTYPE=$OBJTYPE nuke)"
+			(cd $ROOT/lib$i; mk 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE nuke)
 		done
 
 nuke-rc nuke-nt:QV:
 		for (i in $LIBDIRS)
 		{
-			echo '@{cd $SRC/lib$i ; mk SHELLTYPE=$SHELLTYPE SYSTARG=$SYSTARG OBJTYPE=$OBJTYPE nuke}'
-			@{cd $SRC/lib$i; mk 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE nuke}
+			echo '@{cd $ROOT/lib$i ; mk SHELLTYPE=$SHELLTYPE SYSTARG=$SYSTARG OBJTYPE=$OBJTYPE nuke}'
+			@{cd $ROOT/lib$i; mk 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE nuke}
 		}
 
 nuke:V:		clean nuke-$SHELLTYPE
@@ -111,17 +111,17 @@
 ../init/%.dis:	../init/%.b
 		cd ../init; mk 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE $stem.dis
 
-$SRC/libinterp/runt.h:
-		cd $SRC/libinterp
+$ROOT/libinterp/runt.h:
+		cd $ROOT/libinterp
 		mk 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE runt.h
 
-RUNT=$SRC/libinterp/runt.h		# for culling dependencies
-INTERP=$SRC/include/interp.h
+RUNT=$ROOT/libinterp/runt.h		# for culling dependencies
+INTERP=$ROOT/include/interp.h
 
 alloc.$O:	$INTERP
 devdbg.$O:	$INTERP
 
-devmnt.$O:	$SRC/include/fcall.h
+devmnt.$O:	$ROOT/include/fcall.h
 devns16552.$O:	../port/netif.h
 devns16552.$O:	ns16552.h
 devpipe.$O:	$INTERP
@@ -139,11 +139,11 @@
 netif.$O:	../port/netif.h
 proc.$O:	errstr.h	$INTERP
 screen.$O:	screen.h
-trap.$O:	$SRC/Inferno/$OBJTYPE/include/ureg.h
+trap.$O:	$ROOT/Inferno/$OBJTYPE/include/ureg.h
 
 devroot.$O:	$CONF.root.h
 $CONF.$O:	$CONF.root.h
-$CONF.root.s $CONF.root.h: $CONF ../init/$INIT.dis ../port/mkroot $SRCFILES
+$CONF.root.s $CONF.root.h: $CONF ../init/$INIT.dis ../port/mkroot $ROOTFILES
 	$SHELLNAME ../port/mkroot $CONF
 
-%.$O:	$SRC/Inferno/$OBJTYPE/include/u.h ../port/lib.h mem.h dat.h fns.h io.h ../port/error.h ../port/portdat.h ../port/portfns.h
+%.$O:	$ROOT/Inferno/$OBJTYPE/include/u.h ../port/lib.h mem.h dat.h fns.h io.h ../port/error.h ../port/portdat.h ../port/portfns.h
--- a/utils/0a/mkfile
+++ b/utils/0a/mkfile
@@ -15,9 +15,9 @@
 
 LIBS=cc bio 9		# order is important
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 YFLAGS=-D1 -d
 CFLAGS=	$CFLAGS -I../include
@@ -24,7 +24,7 @@
 
 lex.$O:	../cc/macbody ../cc/lexbody
 
-$SRC/$OBJDIR/lib/libcc.a:
+$ROOT/$OBJDIR/lib/libcc.a:
 	cd ../cc
 	mk $MKFLAGS install
 	mk $MKFLAGS clean
--- a/utils/0c/mkfile
+++ b/utils/0c/mkfile
@@ -18,13 +18,13 @@
 
 LIBS=cc bio 9		# order is important
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 CFLAGS=	$CFLAGS -I../include
 
-$SRC/$OBJDIR/lib/libcc.a:
+$ROOT/$OBJDIR/lib/libcc.a:
 	cd ../cc
 	mk $MKFLAGS install
 	mk $MKFLAGS clean
--- a/utils/0l/mkfile
+++ b/utils/0l/mkfile
@@ -20,9 +20,9 @@
 
 LIBS=bio 9
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 CFLAGS=	$CFLAGS -I ../include -I.
 
--- a/utils/5a/mkfile
+++ b/utils/5a/mkfile
@@ -15,9 +15,9 @@
 
 LIBS=cc bio 9		# order is important
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 YFLAGS=-D1 -d
 CFLAGS=	$CFLAGS -I../include
@@ -24,7 +24,7 @@
 
 lex.$O:	../cc/macbody ../cc/lexbody
 
-$SRC/$OBJDIR/lib/libcc.a:
+$ROOT/$OBJDIR/lib/libcc.a:
 	cd ../cc
 	mk $MKFLAGS install
 	mk $MKFLAGS clean
--- a/utils/5c/mkfile
+++ b/utils/5c/mkfile
@@ -22,11 +22,11 @@
 
 LIBS=cc bio 9		# order is important
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
-$SRC/$OBJDIR/lib/libcc.a:
+$ROOT/$OBJDIR/lib/libcc.a:
 	cd ../cc
 	mk $MKFLAGS install
 	mk $MKFLAGS clean
--- a/utils/5coff/mkfile
+++ b/utils/5coff/mkfile
@@ -15,9 +15,9 @@
 
 CFLAGS=$CFLAGS -I../include
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 $O.readcoff:	readcoff.$O
 	$LD $LDFLAGS -o $target readcoff.$O $libs $SYSLIBS
--- a/utils/5cv/mkfile
+++ b/utils/5cv/mkfile
@@ -13,6 +13,6 @@
 
 CFLAGS=$CFLAGS -I../include
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
--- a/utils/5l/mkfile
+++ b/utils/5l/mkfile
@@ -23,9 +23,9 @@
 
 CFLAGS=$CFLAGS -I../include -I.
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 enam.$O:	../5c/enam.c
 	$CC $CFLAGS ../5c/enam.c
--- a/utils/6a/mkfile
+++ b/utils/6a/mkfile
@@ -15,9 +15,9 @@
 
 LIBS=cc bio 9		# order is important
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 YFLAGS=-D1 -d
 CFLAGS=	$CFLAGS -I../include
@@ -24,7 +24,7 @@
 
 lex.$O:	../cc/macbody ../cc/lexbody
 
-$SRC/$OBJDIR/lib/libcc.a:
+$ROOT/$OBJDIR/lib/libcc.a:
 	cd ../cc
 	mk $MKFLAGS install
 	mk $MKFLAGS clean
--- a/utils/6c/mkfile
+++ b/utils/6c/mkfile
@@ -24,13 +24,13 @@
 
 LIBS=cc bio 9		# order is important
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 CFLAGS=	$CFLAGS -I../include
 
-$SRC/$OBJDIR/lib/libcc.a:
+$ROOT/$OBJDIR/lib/libcc.a:
 	cd ../cc
 	mk $MKFLAGS install
 	mk $MKFLAGS clean
--- a/utils/6l/mkfile
+++ b/utils/6l/mkfile
@@ -20,9 +20,9 @@
 
 LIBS=bio 9			# order is important
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 CFLAGS=	$CFLAGS -I../include -I.
 
--- a/utils/8a/mkfile
+++ b/utils/8a/mkfile
@@ -15,9 +15,9 @@
 
 LIBS=cc bio 9		# order is important
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 YFLAGS=-D1 -d
 CFLAGS=	$CFLAGS -I../include
@@ -24,7 +24,7 @@
 
 lex.$O:	../cc/macbody ../cc/lexbody
 
-$SRC/$OBJDIR/lib/libcc.a:
+$ROOT/$OBJDIR/lib/libcc.a:
 	cd ../cc
 	mk $MKFLAGS install
 	mk $MKFLAGS clean
--- a/utils/8c/mkfile
+++ b/utils/8c/mkfile
@@ -25,13 +25,13 @@
 
 LIBS=cc bio 9		# order is important
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 CFLAGS=	$CFLAGS -I../include
 
-$SRC/$OBJDIR/lib/libcc.a:
+$ROOT/$OBJDIR/lib/libcc.a:
 	cd ../cc
 	mk $MKFLAGS install
 	mk $MKFLAGS clean
--- a/utils/8l/mkfile
+++ b/utils/8l/mkfile
@@ -20,9 +20,9 @@
 
 LIBS=bio 9			# order is important
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 CFLAGS=	$CFLAGS -I../include -I.
 
--- a/utils/acid/mkfile
+++ b/utils/acid/mkfile
@@ -23,8 +23,8 @@
 
 CFLAGS=$CFLAGS -I../include
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 CFLAGS= $CFLAGS -I../include
--- a/utils/awk/mkfile
+++ b/utils/awk/mkfile
@@ -24,6 +24,6 @@
 CFLAGS=$CFLAGS -QIfdiv-
 LDFLAGS=$LDFLAGS setargv.obj
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
--- a/utils/c2l/mkfile
+++ b/utils/c2l/mkfile
@@ -26,9 +26,9 @@
 
 LIBS=math bio 9
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 CFLAGS=	$CFLAGS -I../include
 
--- a/utils/cat/mkfile
+++ b/utils/cat/mkfile
@@ -5,6 +5,6 @@
 OFILES=	cat.$O\
 
 LIBS=9
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
--- a/utils/cc/mkfile
+++ b/utils/cc/mkfile
@@ -25,7 +25,7 @@
  
 YFILES=cc.y\
 
-<$SRC/mkfiles/mksyslib-$SHELLTYPE
+<$ROOT/mkfiles/mksyslib-$SHELLTYPE
 
 CFLAGS=	$CFLAGS -I../include
 
--- a/utils/cp/mkfile
+++ b/utils/cp/mkfile
@@ -8,9 +8,9 @@
 
 LIBS=9
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 #
 #	override install so that cp doesn't try to copy onto itself
--- a/utils/cvbit/mkfile
+++ b/utils/cvbit/mkfile
@@ -5,11 +5,11 @@
 OFILES=	cvbit.$O\
 
 HFILES=	\
-	$SRC/include/draw.h\
-	$SRC/include/memdraw.h\
+	$ROOT/include/draw.h\
+	$ROOT/include/memdraw.h\
 
 LIBS=	draw memdraw draw bio 9
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
--- a/utils/data2c/mkfile
+++ b/utils/data2c/mkfile
@@ -8,6 +8,6 @@
 
 LIBS=bio 9			#order matters
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
--- a/utils/data2s/mkfile
+++ b/utils/data2s/mkfile
@@ -8,6 +8,6 @@
 
 LIBS=bio 9			#order matters
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
--- a/utils/echo/mkfile
+++ b/utils/echo/mkfile
@@ -8,6 +8,6 @@
 
 LIBS=9
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
--- a/utils/format/mkfile
+++ b/utils/format/mkfile
@@ -9,6 +9,6 @@
 
 LIBS=9		# libbio.a uses lib9.a so order matters.
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
--- a/utils/ftl/mkfile
+++ b/utils/ftl/mkfile
@@ -8,6 +8,6 @@
 
 LIBS=9		# libbio.a uses lib9.a so order matters.
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
--- a/utils/iar/mkfile
+++ b/utils/iar/mkfile
@@ -11,8 +11,8 @@
 
 LIBS=mach bio 9		# libbio.a uses lib9.a so order matters.
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 CFLAGS=	$CFLAGS -I../include
--- a/utils/idea/mkfile
+++ b/utils/idea/mkfile
@@ -8,6 +8,6 @@
 
 LIBS=bio 9		# libbio.a uses lib9.a so order matters.
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
--- a/utils/iyacc/mkfile
+++ b/utils/iyacc/mkfile
@@ -10,11 +10,11 @@
 
 BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
-CFLAGS=	$CFLAGS -I../include '-DSRC="'$SRC'"'  '-DROOT="'$ROOT'"' '-DPARSER="yaccpar"' '-DPARSERS="yaccpar"'
+CFLAGS=	$CFLAGS -I../include '-DROOT="'$ROOT'"' '-DPARSER="yaccpar"' '-DPARSERS="yaccpar"'
 
-install:V:	$SRC/utils/lib/yaccpar
+install:V:	$ROOT/utils/lib/yaccpar
 
-$SRC/utils/lib/yaccpar:	yaccpar
+$ROOT/utils/lib/yaccpar:	yaccpar
 	rm -f $target && cp $prereq $target
--- a/utils/ka/mkfile
+++ b/utils/ka/mkfile
@@ -15,9 +15,9 @@
 
 LIBS=cc bio 9		# order is important
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 YFLAGS=-D1 -d
 CFLAGS=	$CFLAGS -I../include
@@ -24,7 +24,7 @@
 
 lex.$O:	../cc/macbody ../cc/lexbody
 
-$SRC/$OBJDIR/lib/libcc.a:
+$ROOT/$OBJDIR/lib/libcc.a:
 	cd ../cc
 	mk $MKFLAGS install
 	mk $MKFLAGS clean
--- a/utils/kc/mkfile
+++ b/utils/kc/mkfile
@@ -22,13 +22,13 @@
 
 LIBS=cc bio 9			# order is important.
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 CFLAGS=	$CFLAGS -I../include
 
-$SRC/$OBJDIR/lib/libcc.a:
+$ROOT/$OBJDIR/lib/libcc.a:
 	cd ../cc
 	mk $MKFLAGS install
 	mk $MKFLAGS clean
--- a/utils/kl/mkfile
+++ b/utils/kl/mkfile
@@ -23,9 +23,9 @@
 
 LIBS=bio 9		# order is important
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 enam.$O:	../kc/enam.c
 	$CC $CFLAGS ../kc/enam.c
--- a/utils/kprof/mkfile
+++ b/utils/kprof/mkfile
@@ -6,8 +6,8 @@
 
 LIBS=	mach bio 9
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 CFLAGS=	$CFLAGS -I../include
--- a/utils/ksize/mkfile
+++ b/utils/ksize/mkfile
@@ -6,8 +6,8 @@
 
 LIBS=	mach bio 9
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 CFLAGS=	$CFLAGS -I../include
--- a/utils/kstrip/mkfile
+++ b/utils/kstrip/mkfile
@@ -6,8 +6,8 @@
 
 LIBS=	mach bio 9
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 CFLAGS=	$CFLAGS -I../include
--- a/utils/libmach/mkfile
+++ b/utils/libmach/mkfile
@@ -36,7 +36,7 @@
 
 HFILES=../include/mach.h ../include/a.out.h bootexec.h elf.h ureg4.h ureg6.h ureg8.h uregk.h uregv.h ureg5.h
 
-<$SRC/mkfiles/mksyslib-$SHELLTYPE
+<$ROOT/mkfiles/mksyslib-$SHELLTYPE
 CFLAGS= $CFLAGS -I../include -I..
 
 package:QV:
--- a/utils/libregexp/mkfile
+++ b/utils/libregexp/mkfile
@@ -1,8 +1,8 @@
 <../../mkconfig
 
 #XXX
-<$SRC/mkfiles/mkhost-$SYSHOST		# variables appropriate for host system
-<$SRC/mkfiles/mkfile-$SYSTARG-$OBJTYPE	# variables used to build target object type
+<$ROOT/mkfiles/mkhost-$SYSHOST		# variables appropriate for host system
+<$ROOT/mkfiles/mkfile-$SYSTARG-$OBJTYPE	# variables used to build target object type
 
 LIB=libregexp.a
 CFLAGS= $CFLAGS -I../include
@@ -19,4 +19,4 @@
 HFILES=	../include/regexp.h\
 	regcomp.h\
 
-<$SRC/mkfiles/mksyslib-$SHELLTYPE
+<$ROOT/mkfiles/mksyslib-$SHELLTYPE
--- a/utils/md5sum/mkfile
+++ b/utils/md5sum/mkfile
@@ -13,7 +13,7 @@
 
 LIBS=9 sec
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
--- a/utils/mk/mkfile
+++ b/utils/mk/mkfile
@@ -33,10 +33,10 @@
 
 LIBS=	regexp bio 9
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
-CFLAGS=$CFLAGS -I../include -DSRC'="'$SRC'"'
+CFLAGS=$CFLAGS -I../include -DROOT'="'$ROOT'"'
 
 <mkfile-$HOSTMODEL
--- a/utils/mkdir/mkfile
+++ b/utils/mkdir/mkfile
@@ -8,6 +8,6 @@
 
 LIBS=9
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
--- a/utils/mkext/mkfile
+++ b/utils/mkext/mkfile
@@ -8,6 +8,6 @@
 
 LIBS=bio 9
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
--- a/utils/mkppcimage/mkfile
+++ b/utils/mkppcimage/mkfile
@@ -13,6 +13,6 @@
 
 CFLAGS=$CFLAGS -I../include
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
--- a/utils/ms2/mkfile
+++ b/utils/ms2/mkfile
@@ -6,11 +6,11 @@
 OFILES=	ms2.$O\
 
 HFILES=	\
-	$SRC/include/bio.h\
+	$ROOT/include/bio.h\
 	../include/mach.h\
 
 LIBS=mach bio 9			#order matters
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
--- a/utils/mv/mkfile
+++ b/utils/mv/mkfile
@@ -8,6 +8,6 @@
 
 LIBS=9
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
--- a/utils/na/mkfile
+++ b/utils/na/mkfile
@@ -13,6 +13,6 @@
 
 CFLAGS=$CFLAGS -I../include
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
--- a/utils/ndate/mkfile
+++ b/utils/ndate/mkfile
@@ -8,6 +8,6 @@
 
 LIBS=9
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
--- a/utils/nm/mkfile
+++ b/utils/nm/mkfile
@@ -7,8 +7,8 @@
 
 LIBS=mach bio 9		# order is important.
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 CFLAGS=	$CFLAGS -I. -I../include
--- a/utils/ntsrv/mkfile
+++ b/utils/ntsrv/mkfile
@@ -5,8 +5,8 @@
 SYSHOST=Nt
 OBJTYPE=386
 OBJDIR=$SYSTARG/$OBJTYPE
-<$SRC/mkfiles/mkhost-$SYSHOST
-<$SRC/mkfiles/mkfile-$SYSTARG-$OBJTYPE
+<$ROOT/mkfiles/mkhost-$SYSHOST
+<$ROOT/mkfiles/mkfile-$SYSTARG-$OBJTYPE
 
 TARG=ntsrv
 
@@ -18,8 +18,8 @@
 
 CFLAGS=$CFLAGS -I.
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
 SYSLIBS=	$SYSLIBS wsock32.lib user32.lib gdi32.lib advapi32.lib winmm.lib mpr.lib
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
--- a/utils/qa/mkfile
+++ b/utils/qa/mkfile
@@ -14,9 +14,9 @@
 
 LIBS=cc bio 9		# order is important
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 YFLAGS=-D1 -d
 CFLAGS=	$CFLAGS -I../include
@@ -23,7 +23,7 @@
 
 lex.$O:	../cc/macbody ../cc/lexbody
 
-$SRC/$OBJDIR/lib/libcc.a:
+$ROOT/$OBJDIR/lib/libcc.a:
 	cd ../cc
 	mk $MKFLAGS install
 	mk $MKFLAGS clean
--- a/utils/qc/mkfile
+++ b/utils/qc/mkfile
@@ -22,11 +22,11 @@
 
 LIBS=cc bio 9		# order is important
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
-$SRC/$OBJDIR/lib/libcc.a:
+$ROOT/$OBJDIR/lib/libcc.a:
 	cd ../cc
 	mk $MKFLAGS install
 	mk $MKFLAGS clean
--- a/utils/ql/mkfile
+++ b/utils/ql/mkfile
@@ -24,9 +24,9 @@
 
 LIBS=bio 9			# order is important
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 CFLAGS=	$CFLAGS -I../include -I.
 
--- a/utils/rcsh/mkfile
+++ b/utils/rcsh/mkfile
@@ -30,11 +30,11 @@
 
 LIBS=9
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
-CFLAGS=	$CFLAGS '-DSRC="'$SRC'"'
+CFLAGS=	$CFLAGS '-DROOT="'$ROOT'"'
 
 $BIN/%:Q:	$O.out
 	echo $TARG must be installed manually on Windows systems
@@ -41,9 +41,9 @@
 	echo use: cp $O.out $target
 	cp $O.out $target
 
-install:V:	$SRC/utils/lib/rcmain
+install:V:	$ROOT/utils/lib/rcmain
 
-$SRC/utils/lib/rcmain:Q:	rcmain
+$ROOT/utils/lib/rcmain:Q:	rcmain
 	echo $prereq must be installed manually on Windows systems
 	echo use: cp $prereq $target
 	cp $prereq $target
--- a/utils/rm/mkfile
+++ b/utils/rm/mkfile
@@ -12,9 +12,9 @@
 
 LIBS=9
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 rm-Posix.c rm-Inferno.c:QV:
 	echo 'rm is only built on Windows NT or Windows 95'
--- a/utils/sed/mkfile
+++ b/utils/sed/mkfile
@@ -4,7 +4,7 @@
 
 OFILES=	sed.$O\
 
-HFILES= $SRC/include/bio.h\
+HFILES= $ROOT/include/bio.h\
 	../include/regexp.h\
 
 LIBS=regexp bio 9		# libbio.a uses lib9.a so order matters.
@@ -11,6 +11,6 @@
 
 CFLAGS=$CFLAGS -I../include
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
--- a/utils/sqz/mkfile
+++ b/utils/sqz/mkfile
@@ -12,8 +12,8 @@
 
 LIBS=	mach bio 9
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 CFLAGS=	$CFLAGS -I../include
--- a/utils/srclist/mkfile
+++ b/utils/srclist/mkfile
@@ -14,6 +14,6 @@
 
 CFLAGS=$CFLAGS -I../include
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
--- a/utils/tc/mkfile
+++ b/utils/tc/mkfile
@@ -18,11 +18,11 @@
 
 LIBS=cc bio 9		# order is important
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
-$SRC/$OBJDIR/lib/libcc.a:
+$ROOT/$OBJDIR/lib/libcc.a:
 	cd ../cc
 	mk $MKFLAGS install
 	mk $MKFLAGS clean
--- a/utils/test/mkfile
+++ b/utils/test/mkfile
@@ -12,9 +12,9 @@
 
 LIBS=9
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 test-Posix.c test-Inferno.c:QV:
 	echo 'test is only built on Windows NT or Windows 95'
--- a/utils/tl/mkfile
+++ b/utils/tl/mkfile
@@ -23,9 +23,9 @@
 
 CFLAGS=$CFLAGS -I../include -I.
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 enam.$O:	../5c/enam.c
 	$CC $CFLAGS ../5c/enam.c
--- a/utils/tr/mkfile
+++ b/utils/tr/mkfile
@@ -8,6 +8,6 @@
 
 LIBS=9		# libbio.a uses lib9.a so order matters.
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
--- a/utils/va/mkfile
+++ b/utils/va/mkfile
@@ -15,9 +15,9 @@
 
 LIBS=cc bio 9		# order is important
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 YFLAGS=-D1 -d
 CFLAGS=	$CFLAGS -I../include
@@ -24,7 +24,7 @@
 
 lex.$O:	../cc/macbody ../cc/lexbody
 
-$SRC/$OBJDIR/lib/libcc.a:
+$ROOT/$OBJDIR/lib/libcc.a:
 	cd ../cc
 	mk $MKFLAGS install
 	mk $MKFLAGS clean
--- a/utils/vc/mkfile
+++ b/utils/vc/mkfile
@@ -22,13 +22,13 @@
 
 LIBS=cc bio 9		# order is important
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 CFLAGS=	$CFLAGS -I../include
 
-$SRC/$OBJDIR/lib/libcc.a:
+$ROOT/$OBJDIR/lib/libcc.a:
 	cd ../cc
 	mk $MKFLAGS install
 	mk $MKFLAGS clean
--- a/utils/vl/mkfile
+++ b/utils/vl/mkfile
@@ -22,9 +22,9 @@
 
 LIBS=bio 9			# order is important
 
-BIN=$SRC/$OBJDIR/bin
+BIN=$ROOT/$OBJDIR/bin
 
-<$SRC/mkfiles/mkone-$SHELLTYPE
+<$ROOT/mkfiles/mkone-$SHELLTYPE
 
 CFLAGS=	$CFLAGS -I../include -I.