code: 9ferno

Download patch

ref: 5ccd7ec6e5ef5312dec0ad022584d9ff2c00b71e
parent: 0ce528656814a53421d0f820e491786955076018
author: 9ferno <gophone2015@gmail.com>
date: Mon Jul 26 06:52:00 EDT 2021

separated ROOT and SRC directories

Reasons:
1. avoid creating directories needed for running in the source directory
2. easier to identity the build directories needed to create the iso
3. keeping the runtime environment or settings away from the source

diff: cannot open a/acme/mail//null: file does not exist: 'a/acme/mail//null'
--- a/.gitignore
+++ b/.gitignore
@@ -347,4 +347,8 @@
 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
 
--- a/acme/mail/guide
+++ /dev/null
@@ -1,5 +1,0 @@
-Mail /mail/box/$user/stored
-Mail
-Mailpop3
-mkbox /mail/box/$user/new_box
-mail -'x' someaddress
--- a/acme/mail/readme
+++ /dev/null
@@ -1,29 +1,0 @@
-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
 
-<$ROOT/mkfiles/mksubdirs
\ No newline at end of file
+<$SRC/mkfiles/mksubdirs
\ No newline at end of file
--- a/appl/acme/acme/acid/src/mkfile
+++ b/appl/acme/acme/acid/src/mkfile
@@ -17,4 +17,4 @@
 
 DISBIN=$ROOT/acme/acid
 
-<$ROOT/mkfiles/mkdis
\ No newline at end of file
+<$SRC/mkfiles/mkdis
\ No newline at end of file
--- 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
 
-<$ROOT/mkfiles/mksubdirs
\ No newline at end of file
+<$SRC/mkfiles/mksubdirs
\ No newline at end of file
--- a/appl/acme/acme/bin/src/mkfile
+++ b/appl/acme/acme/bin/src/mkfile
@@ -21,4 +21,4 @@
 
 DISBIN=$ROOT/acme/dis
 
-<$ROOT/mkfiles/mkdis
+<$SRC/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
 
-<$ROOT/mkfiles/mksubdirs
\ No newline at end of file
+<$SRC/mkfiles/mksubdirs
\ No newline at end of file
--- a/appl/acme/acme/edit/src/mkfile
+++ b/appl/acme/acme/edit/src/mkfile
@@ -20,4 +20,4 @@
 
 DISBIN=$ROOT/acme/edit
 
-<$ROOT/mkfiles/mkdis
+<$SRC/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
 
-<$ROOT/mkfiles/mkdis
-<$ROOT/mkfiles/mksubdirs
\ No newline at end of file
+<$SRC/mkfiles/mkdis
+<$SRC/mkfiles/mksubdirs
\ No newline at end of file
--- a/appl/acme/acme/mail/src/mkfile
+++ b/appl/acme/acme/mail/src/mkfile
@@ -13,4 +13,4 @@
 
 DISBIN=$ROOT/acme/mail
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/acme/acme/mkfile
+++ b/appl/acme/acme/mkfile
@@ -6,4 +6,4 @@
 	edit\
 	mail\
 
-<$ROOT/mkfiles/mksubdirs
\ No newline at end of file
+<$SRC/mkfiles/mksubdirs
\ No newline at end of file
--- a/appl/acme/mkfile
+++ b/appl/acme/mkfile
@@ -76,8 +76,8 @@
 
 all:V:	acme.dis
 
-<$ROOT/mkfiles/mkdis
-<$ROOT/mkfiles/mksubdirs
+<$SRC/mkfiles/mkdis
+<$SRC/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
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
 LIMBOFLAGS=-F $LIMBOFLAGS
--- a/appl/alphabet/auxi/mkfile
+++ b/appl/alphabet/auxi/mkfile
@@ -17,5 +17,5 @@
 
 DISBIN=$ROOT/dis/alphabet
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
 LIMBOFLAGS=-F $LIMBOFLAGS
--- a/appl/alphabet/fs/mkfile
+++ b/appl/alphabet/fs/mkfile
@@ -51,5 +51,5 @@
 
 DISBIN=$ROOT/dis/alphabet/fs
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
 LIMBOFLAGS=-F $LIMBOFLAGS
--- a/appl/alphabet/grid/mkfile
+++ b/appl/alphabet/grid/mkfile
@@ -18,5 +18,5 @@
 
 DISBIN=$ROOT/dis/alphabet/grid
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
 LIMBOFLAGS=-F $LIMBOFLAGS
--- a/appl/alphabet/main/mkfile
+++ b/appl/alphabet/main/mkfile
@@ -32,5 +32,5 @@
 
 DISBIN=$ROOT/dis/alphabet/main
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
 LIMBOFLAGS=-F $LIMBOFLAGS
--- a/appl/alphabet/mkfile
+++ b/appl/alphabet/mkfile
@@ -32,7 +32,7 @@
 
 DISBIN=$ROOT/dis/alphabet
 
-<$ROOT/mkfiles/mkdis
+<$SRC/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
 
-<$ROOT/mkfiles/mksubdirs
+<$SRC/mkfiles/mksubdirs
 
--- a/appl/alphabet/typesets/mkfile
+++ b/appl/alphabet/typesets/mkfile
@@ -26,7 +26,7 @@
 
 DISBIN=$ROOT/dis/alphabet
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
 
 LIMBOFLAGS=$LIMBOFLAGS -i -F
 
--- a/appl/charon/mkfile
+++ b/appl/charon/mkfile
@@ -76,7 +76,7 @@
 
 all:V:	charon.dis
 
-<$ROOT/mkfiles/mkdis
+<$SRC/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
 
-<$ROOT/mkfiles/mkdis
+<$SRC/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
 
-<$ROOT/mkfiles/mkdis
-<$ROOT/mkfiles/mksubdirs
+<$SRC/mkfiles/mkdis
+<$SRC/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
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/cmd/auth/mkfile
+++ b/appl/cmd/auth/mkfile
@@ -37,5 +37,5 @@
 
 DISBIN=$ROOT/dis/auth
 
-<$ROOT/mkfiles/mkdis
-<$ROOT/mkfiles/mksubdirs
+<$SRC/mkfiles/mkdis
+<$SRC/mkfiles/mksubdirs
--- a/appl/cmd/auxi/mkfile
+++ b/appl/cmd/auxi/mkfile
@@ -21,4 +21,4 @@
 
 DISBIN=$ROOT/dis/auxi
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/cmd/avr/mkfile
+++ b/appl/cmd/avr/mkfile
@@ -7,4 +7,4 @@
 
 DISBIN=$ROOT/dis/avr
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/cmd/dbm/mkfile
+++ b/appl/cmd/dbm/mkfile
@@ -16,4 +16,4 @@
 
 DISBIN=$ROOT/dis/dbm
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/cmd/disk/mkfile
+++ b/appl/cmd/disk/mkfile
@@ -21,5 +21,5 @@
 
 DISBIN=$ROOT/dis/disk
 
-<$ROOT/mkfiles/mkdis
-<$ROOT/mkfiles/mksubdirs
+<$SRC/mkfiles/mkdis
+<$SRC/mkfiles/mksubdirs
--- a/appl/cmd/disk/prep/mkfile
+++ b/appl/cmd/disk/prep/mkfile
@@ -19,7 +19,7 @@
 
 DISBIN=$ROOT/dis/disk
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
 
 # calc
 calc.tab.b:
--- a/appl/cmd/fs/mkfile
+++ b/appl/cmd/fs/mkfile
@@ -44,7 +44,7 @@
 
 DISBIN=$ROOT/dis/fs
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
 
 all:V:		$TARG
 
--- a/appl/cmd/games/mkfile
+++ b/appl/cmd/games/mkfile
@@ -10,4 +10,4 @@
 
 DISBIN=$ROOT/dis/games
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/cmd/install/mkfile
+++ b/appl/cmd/install/mkfile
@@ -40,4 +40,4 @@
 
 DISBIN=$ROOT/dis/install
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/cmd/ip/mkfile
+++ b/appl/cmd/ip/mkfile
@@ -25,5 +25,5 @@
 
 DISBIN=$ROOT/dis/ip
 
-<$ROOT/mkfiles/mkdis
-<$ROOT/mkfiles/mksubdirs
+<$SRC/mkfiles/mkdis
+<$SRC/mkfiles/mksubdirs
--- a/appl/cmd/ip/nppp/mkfile
+++ b/appl/cmd/ip/nppp/mkfile
@@ -21,4 +21,4 @@
 
 DISBIN=$ROOT/dis/ip/nppp
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/cmd/ip/ppp/mkfile
+++ b/appl/cmd/ip/ppp/mkfile
@@ -24,4 +24,4 @@
 
 DISBIN=$ROOT/dis/ip/ppp
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/cmd/lego/mkfile
+++ b/appl/cmd/lego/mkfile
@@ -20,4 +20,4 @@
 
 DISBIN=$ROOT/dis/lego
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/cmd/limbo/mkfile
+++ b/appl/cmd/limbo/mkfile
@@ -32,4 +32,4 @@
 
 DISBIN=$ROOT/dis
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/cmd/mk/mkfile
+++ b/appl/cmd/mk/mkfile
@@ -16,4 +16,4 @@
 
 DISBIN=$ROOT/dis
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/cmd/mkfile
+++ b/appl/cmd/mkfile
@@ -222,8 +222,8 @@
 
 DISBIN=$ROOT/dis
 
-<$ROOT/mkfiles/mkdis
-<$ROOT/mkfiles/mksubdirs
+<$SRC/mkfiles/mkdis
+<$SRC/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
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/cmd/ndb/mkfile
+++ b/appl/cmd/ndb/mkfile
@@ -25,4 +25,4 @@
 
 DISBIN=$ROOT/dis/ndb
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/cmd/palm/mkfile
+++ b/appl/cmd/palm/mkfile
@@ -13,4 +13,4 @@
 
 DISBIN=$ROOT/dis/palm
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/cmd/sh/mkfile
+++ b/appl/cmd/sh/mkfile
@@ -44,7 +44,7 @@
 
 DISBIN=$ROOT/dis/sh
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
 
 all:V:		$TARG
 
--- a/appl/cmd/spki/mkfile
+++ b/appl/cmd/spki/mkfile
@@ -19,4 +19,4 @@
 
 DISBIN=$ROOT/dis/spki
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/cmd/usb/mkfile
+++ b/appl/cmd/usb/mkfile
@@ -8,4 +8,4 @@
 
 DISBIN=$ROOT/dis/usb
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/cmd/zip/mkfile
+++ b/appl/cmd/zip/mkfile
@@ -25,4 +25,4 @@
 
 DISBIN=$ROOT/dis/zip
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/demo/camera/mkfile
+++ b/appl/demo/camera/mkfile
@@ -28,7 +28,7 @@
 
 DISBIN=$ROOT/dis/demo/camera
 
-<$ROOT/mkfiles/mkdis
+<$SRC/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
 
-<$ROOT/mkfiles/mkdis
+<$SRC/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
 
-<$ROOT/mkfiles/mkdis
+<$SRC/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
 
-<$ROOT/mkfiles/mkdis
+<$SRC/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\
 
 
-<$ROOT/mkfiles/mksubdirs
+<$SRC/mkfiles/mksubdirs
--- a/appl/demo/ns/mkfile
+++ b/appl/demo/ns/mkfile
@@ -16,7 +16,7 @@
 
 DISBIN=$ROOT/dis/demo/ns
 
-<$ROOT/mkfiles/mkdis
+<$SRC/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
 
-<$ROOT/mkfiles/mkdis
+<$SRC/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
 
-<$ROOT/mkfiles/mkdis
+<$SRC/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
 
-<$ROOT/mkfiles/mkdis
+<$SRC/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
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/examples/minitel/mkfile
+++ b/appl/examples/minitel/mkfile
@@ -21,4 +21,4 @@
 
 DISBIN=$ROOT/dis/wm/minitel
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/grid/demo/mkfile
+++ b/appl/grid/demo/mkfile
@@ -18,7 +18,7 @@
 
 DISBIN=$ROOT/dis/grid/demo
 
-<$ROOT/mkfiles/mkdis
+<$SRC/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
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/grid/mkfile
+++ b/appl/grid/mkfile
@@ -45,8 +45,8 @@
 
 DISBIN=$ROOT/dis/grid
 
-<$ROOT/mkfiles/mkdis
-<$ROOT/mkfiles/mksubdirs
+<$SRC/mkfiles/mkdis
+<$SRC/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
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/lib/crypt/mkfile
+++ b/appl/lib/crypt/mkfile
@@ -21,4 +21,4 @@
 
 DISBIN=$ROOT/dis/lib/crypt
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/lib/ecmascript/mkfile
+++ b/appl/lib/ecmascript/mkfile
@@ -20,4 +20,4 @@
 
 DISBIN=$ROOT/dis/lib
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/lib/encoding/mkfile
+++ b/appl/lib/encoding/mkfile
@@ -13,4 +13,4 @@
 
 DISBIN=$ROOT/dis/lib/encoding
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/lib/ida/mkfile
+++ b/appl/lib/ida/mkfile
@@ -13,7 +13,7 @@
 
 DISBIN=$ROOT/dis/lib/ida
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
 # force compilation
 LIMBOFLAGS= -c $LIMBOFLAGS
 
--- a/appl/lib/mkfile
+++ b/appl/lib/mkfile
@@ -214,8 +214,8 @@
 
 DISBIN=$ROOT/dis/lib
 
-<$ROOT/mkfiles/mkdis
-<$ROOT/mkfiles/mksubdirs
+<$SRC/mkfiles/mkdis
+<$SRC/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
 
-<$ROOT/mkfiles/mkdis
+<$SRC/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
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/lib/strokes/mkfile
+++ b/appl/lib/strokes/mkfile
@@ -15,4 +15,4 @@
 
 DISBIN=$ROOT/dis/lib/strokes
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/lib/styxconv/mkfile
+++ b/appl/lib/styxconv/mkfile
@@ -19,4 +19,4 @@
 
 DISBIN=$ROOT/dis/lib/styxconv
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/lib/usb/mkfile
+++ b/appl/lib/usb/mkfile
@@ -13,4 +13,4 @@
 
 DISBIN=$ROOT/dis/lib/usb
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/lib/w3c/mkfile
+++ b/appl/lib/w3c/mkfile
@@ -16,4 +16,4 @@
 
 DISBIN=$ROOT/dis/lib/w3c
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/math/mkfile
+++ b/appl/math/mkfile
@@ -40,4 +40,4 @@
 
 DISBIN=$ROOT/dis/math
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/mkfile
+++ b/appl/mkfile
@@ -17,4 +17,4 @@
 	tiny\
 	wm\
 
-<$ROOT/mkfiles/mksubdirs
+<$SRC/mkfiles/mksubdirs
--- a/appl/svc/httpd/mkfile
+++ b/appl/svc/httpd/mkfile
@@ -32,7 +32,7 @@
 
 DISBIN=$ROOT/dis/svc/httpd
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
 
 install:V: 	install-logs-$SHELLTYPE
 
--- a/appl/svc/mkfile
+++ b/appl/svc/mkfile
@@ -13,7 +13,7 @@
 
 BIN=$ROOT/dis/svc
 
-<$ROOT/mkfiles/mksubdirs
+<$SRC/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
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
 
 install:V:	install-logs
 
--- a/appl/tiny/mkfile
+++ b/appl/tiny/mkfile
@@ -17,4 +17,4 @@
 
 DISBIN=$ROOT/dis/tiny
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
--- a/appl/wm/brutus/mkfile
+++ b/appl/wm/brutus/mkfile
@@ -21,4 +21,4 @@
 
 DISBIN=$ROOT/dis/wm/brutus
 
-<$ROOT/mkfiles/mkdis
+<$SRC/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
 
-<$ROOT/mkfiles/mkdis
+<$SRC/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
 
-<$ROOT/mkfiles/mkdis
+<$SRC/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
 
-<$ROOT/mkfiles/mkdis
-<$ROOT/mkfiles/mksubdirs
+<$SRC/mkfiles/mkdis
+<$SRC/mkfiles/mksubdirs
--- a/appl/wm/mpeg/mkfile
+++ b/appl/wm/mpeg/mkfile
@@ -32,7 +32,7 @@
 
 DISBIN=$ROOT/dis/mpeg
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
 
 all:V:		mpeg.dis
 
--- a/appl/wm/vixen/mkfile
+++ b/appl/wm/vixen/mkfile
@@ -29,4 +29,4 @@
 
 DISBIN=$ROOT/dis/wm
 
-<$ROOT/mkfiles/mkdis
+<$SRC/mkfiles/mkdis
binary files a/dis/demo/camera/camload.bit /dev/null differ
binary files a/dis/demo/camera/camproc.bit /dev/null differ
--- a/dis/demo/lego/styx.srec
+++ /dev/null
@@ -1,329 +1,0 @@
-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
 
-<$ROOT/mkfiles/mkfile-$SYSTARG-$OBJTYPE	#set vars based on target system
+<$SRC/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$ROOT/$SYSTARG/$OBJTYPE/include -I$ROOT/include -I$ROOT/libinterp $CTHREADFLAGS $CFLAGS $EMUOPTIONS
+CFLAGS='-DROOT="'$ROOT'"' -DEMU -I. -I../port -I$SRC/$SYSTARG/$OBJTYPE/include -I$SRC/include -I$SRC/libinterp $CTHREADFLAGS $CFLAGS $EMUOPTIONS
 KERNDATE=`{$NDATE}
 
 default:V:	$O.$CONF
--- a/emu/port/portmkfile
+++ b/emu/port/portmkfile
@@ -1,9 +1,9 @@
 PORTHFILES=\
-	$ROOT/$OBJDIR/include/lib9.h\
-	$ROOT/$OBJDIR/include/emu.h\
-	$ROOT/include/fcall.h\
-	$ROOT/include/interp.h\
-	$ROOT/include/draw.h\
+	$SRC/$OBJDIR/include/lib9.h\
+	$SRC/$OBJDIR/include/emu.h\
+	$SRC/include/fcall.h\
+	$SRC/include/interp.h\
+	$SRC/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 $ROOT/ i$CONF}) {
+		for (i in `{srclist -ec -r $SRC/ i$CONF}) {
 			echo '//FILE: ' $i
-			$CC -I. -I../port -I$ROOT/Inferno/$OBJTYPE/include -I$ROOT/include -I$ROOT/libinterp '-DKERNDATE='$KERNDATE -a $i
+			$CC -I. -I../port -I$SRC/Inferno/$OBJTYPE/include -I$SRC/include -I$SRC/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' $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}
+		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}
 
 sh-lib%.a:VQ:
-		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)
+		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)
 
 %-rc %-nt:V:
 		for(i in $CONFLIST)
@@ -88,15 +88,15 @@
 nuke-sh:QV:
 		for i in $LIBDIRS
 		do
-			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)
+			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)
 		done
 
 nuke-rc nuke-nt:QV:
 		for (i in $LIBDIRS)
 		{
-			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}
+			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}
 		}
 
 nuke:V:		clean nuke-$SHELLTYPE
@@ -111,36 +111,36 @@
 ../init/%.dis:	../init/%.b
 		cd ../init; mk 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE $stem.dis
 
-$ROOT/libinterp/runt.h:
-		cd $ROOT/libinterp
+$SRC/libinterp/runt.h:
+		cd $SRC/libinterp
 		mk 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE runt.h
 
-INTERP=$ROOT/include/interp.h
-RUNT=$ROOT/libinterp/runt.h		# for culling dependencies
+INTERP=$SRC/include/interp.h
+RUNT=$SRC/libinterp/runt.h		# for culling dependencies
 
 alloc.$O: ../../include/pool.h\
 		$INTERP
-devcons.$O:	$ROOT/include/version.h
-devdraw.$O:	$ROOT/include/draw.h\
-		$ROOT/include/memdraw.h\
-		$ROOT/include/memlayer.h
+devcons.$O:	$SRC/include/version.h
+devdraw.$O:	$SRC/include/draw.h\
+		$SRC/include/memdraw.h\
+		$SRC/include/memlayer.h
 devmem.$O:	$INTERP
 devpipe.$O:	$INTERP
 devprof.$O:	$INTERP
-devprog.$O:	$ROOT/libinterp/runt.h\
+devprog.$O:	$SRC/libinterp/runt.h\
 			$INTERP
 devsign.$O:	$INTERP
-devsign.$O: $ROOT/libkeyring/keys.h
-devsrv.$O:	$ROOT/libinterp/runt.h\
+devsign.$O: $SRC/libkeyring/keys.h
+devsrv.$O:	$SRC/libinterp/runt.h\
 		$INTERP
 devtk.$O:	$INTERP
 dis.$O:	$INTERP
 discall.$O:	$INTERP
 exception.$O:	$INTERP
-inferno.$O:	$ROOT/libinterp/runt.h\
+inferno.$O:	$SRC/libinterp/runt.h\
 		$INTERP
 devmnt.$O: ../../include/fcall.h
-main.$O:	$ROOT/include/version.h
+main.$O:	$SRC/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:		$ROOT/module/srvrunt.b $ROOT/module/srv.m
+srv.h srvm.h:D:		$SRC/module/srvrunt.b $SRC/module/srv.m
 			rm -f $alltarget
-			limbo -a -I$ROOT/module $ROOT/module/srvrunt.b >srv.h
-			limbo -t Srv -I$ROOT/module $ROOT/module/srvrunt.b >srvm.h
+			limbo -a -I$SRC/module $SRC/module/srvrunt.b >srv.h
+			limbo -t Srv -I$SRC/module $SRC/module/srvrunt.b >srvm.h
--- a/lib/emptydirs
+++ b/lib/emptydirs
@@ -10,6 +10,9 @@
 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
@@ -121,7 +124,11 @@
 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
@@ -192,3 +199,5 @@
 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=$ROOT/$SYSTARG/$OBJTYPE/include/lib9.h\
+HFILES=$SRC/$SYSTARG/$OBJTYPE/include/lib9.h\
 	fmtdef.h\
 
-<$ROOT/mkfiles/mksyslib-$SHELLTYPE
+<$SRC/mkfiles/mksyslib-$SHELLTYPE
 
-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
+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
--- a/libbio/mkfile
+++ b/libbio/mkfile
@@ -20,6 +20,6 @@
 	bvprint.$O\
 	bwrite.$O\
 
-HFILES=	$ROOT/include/bio.h
+HFILES=	$SRC/include/bio.h
 
-<$ROOT/mkfiles/mksyslib-$SHELLTYPE
+<$SRC/mkfiles/mksyslib-$SHELLTYPE
--- a/libdraw/mkfile
+++ b/libdraw/mkfile
@@ -47,8 +47,8 @@
 	writesubfont.$O\
 
 HFILES=\
-	$ROOT/include/draw.h \
-	$ROOT/include/interp.h\
+	$SRC/include/draw.h \
+	$SRC/include/interp.h\
 
-<$ROOT/mkfiles/mksyslib-$SHELLTYPE
+<$SRC/mkfiles/mksyslib-$SHELLTYPE
 
--- a/libdynld/mkfile
+++ b/libdynld/mkfile
@@ -7,6 +7,6 @@
 	dynloadfd.$O\
 	dynld.$O\
 
-HFILES=$ROOT/$SYSTARG/$OBJTYPE/include/lib9.h\
+HFILES=$SRC/$SYSTARG/$OBJTYPE/include/lib9.h\
 
-<$ROOT/mkfiles/mksyslib-$SHELLTYPE
+<$SRC/mkfiles/mksyslib-$SHELLTYPE
--- a/libfis/mkfile
+++ b/libfis/mkfile
@@ -4,6 +4,6 @@
 
 OFILES=fis.$O
 
-HFILES=$ROOT/include/fis.h
+HFILES=$SRC/include/fis.h
 
-<$ROOT/mkfiles/mksyslib-$SHELLTYPE
+<$SRC/mkfiles/mksyslib-$SHELLTYPE
--- a/libflate/mkfile
+++ b/libflate/mkfile
@@ -15,7 +15,7 @@
 	adler.$O\
 
 HFILES=\
-	$ROOT/include/flate.h\
+	$SRC/include/flate.h\
 	zlib.h\
 
-<$ROOT/mkfiles/mksyslib-$SHELLTYPE
+<$SRC/mkfiles/mksyslib-$SHELLTYPE
--- a/libfreetype/mkfile
+++ b/libfreetype/mkfile
@@ -25,11 +25,11 @@
 #	type1cid.$O\
 #	winfnt.$O\
 
-<$ROOT/mkfiles/mksyslib-$SHELLTYPE
+<$SRC/mkfiles/mksyslib-$SHELLTYPE
 
-CFLAGS= $ANSICPP $CFLAGS -I$ROOT/include/freetype -I.
+CFLAGS= $ANSICPP $CFLAGS -I$SRC/include/freetype -I.
 
-freetype.$O:	$ROOT/include/freetype.h
+freetype.$O:	$SRC/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=\
-	$ROOT/include/interp.h\
-	$ROOT/include/isa.h\
+	$SRC/include/interp.h\
+	$SRC/include/isa.h\
 	runt.h\
 	tab.h\
 
@@ -53,7 +53,7 @@
 	../module/crypt.m\
 	keyringif.m\
 
-<$ROOT/mkfiles/mksyslib-$SHELLTYPE
+<$SRC/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  $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
+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
 
 runt.$O:	sysmod.h
 prefab.$O:	prefabmod.h
 draw.$O:	drawmod.h
-tk.$O:		$ROOT/include/draw.h tkmod.h
+tk.$O:		$SRC/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 $ROOT/include/freetype.h
-math.$O:	$ROOT/include/mathi.h
+freetype.$O:	freetypemod.h $SRC/include/freetype.h
+math.$O:	$SRC/include/mathi.h
 
 das-spim.c:N:	das-mips.c
 comp-spim.c:N:	comp-mips.c
 
-# optab.h:	$ROOT/include/isa.h mkoptab
+# optab.h:	$SRC/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
 
-<$ROOT/mkfiles/mksyslib-$SHELLTYPE
+<$SRC/mkfiles/mksyslib-$SHELLTYPE
 
-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
+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
--- a/libkeyring/mkfile
+++ b/libkeyring/mkfile
@@ -8,10 +8,10 @@
 	rsaalg.$O
 
 HFILES=\
-	$ROOT/include/mp.h\
-	$ROOT/include/libsec.h\
-	$ROOT/libinterp/runt.h\
-	$ROOT/include/interp.h\
+	$SRC/include/mp.h\
+	$SRC/include/libsec.h\
+	$SRC/libinterp/runt.h\
+	$SRC/include/interp.h\
 	keys.h\
 
-<$ROOT/mkfiles/mksyslib-$SHELLTYPE
+<$SRC/mkfiles/mksyslib-$SHELLTYPE
--- a/liblogfs/mkfile
+++ b/liblogfs/mkfile
@@ -39,7 +39,7 @@
 
 HFILES=\
 	local.h \
-	$ROOT/include/logfs.h
+	$SRC/include/logfs.h
 
-<$ROOT/mkfiles/mksyslib-$SHELLTYPE
+<$SRC/mkfiles/mksyslib-$SHELLTYPE
 
--- a/libmath/mkfile
+++ b/libmath/mkfile
@@ -57,10 +57,10 @@
 	s_tanh.$O\
 
 HFILES=\
-	$ROOT/include/mathi.h\
+	$SRC/include/mathi.h\
 	fdlibm/fdlibm.h\
 	
-<$ROOT/mkfiles/mksyslib-$SHELLTYPE
+<$SRC/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=	$ROOT/include/draw.h\
-	$ROOT/include/memdraw.h\
+HFILES=	$SRC/include/draw.h\
+	$SRC/include/memdraw.h\
 
-<$ROOT/mkfiles/mksyslib-$SHELLTYPE
+<$SRC/mkfiles/mksyslib-$SHELLTYPE
 
 %-x11.$O:	xmem.h
--- a/libmemlayer/mkfile
+++ b/libmemlayer/mkfile
@@ -19,8 +19,8 @@
 
 OFILES=$COMMONFILES $SYSFILES
 
-HFILES=	$ROOT/include/draw.h\
-	$ROOT/include/memdraw.h\
-	$ROOT/include/memlayer.h
+HFILES=	$SRC/include/draw.h\
+	$SRC/include/memdraw.h\
+	$SRC/include/memlayer.h
 
-<$ROOT/mkfiles/mksyslib-$SHELLTYPE
+<$SRC/mkfiles/mksyslib-$SHELLTYPE
--- a/libmp/Inferno-amd64/mkfile
+++ b/libmp/Inferno-amd64/mkfile
@@ -10,7 +10,7 @@
 	mpvecsub.s\
 	mpdigdiv.s\
 
-HFILES=$ROOT/Inferno/$OBJTYPE/include/u.h $ROOT/include/mp.h ../port/dat.h
+HFILES=$SRC/Inferno/$OBJTYPE/include/u.h $SRC/include/mp.h ../port/dat.h
 
 OFILES=${SFILES:%.s=%.$O}
 
@@ -18,4 +18,4 @@
 	$HFILES\
 	$SFILES\
 
-<$ROOT/mkfiles/mksyslib-$SHELLTYPE
+<$SRC/mkfiles/mksyslib-$SHELLTYPE
--- a/libmp/mkfile
+++ b/libmp/mkfile
@@ -3,19 +3,19 @@
 # TARGMODEL not SYSTARG for now
 DIRS=port $TARGMODEL-$OBJTYPE
 
-<$ROOT/mkfiles/mklibsubdirs
+<$SRC/mkfiles/mklibsubdirs
 
 # the remainder are only intended for testing on a few system types
-test.$O:	test.c $ROOT/$OBJDIR/include/lib9.h $ROOT/include/mp.h port/dat.h
+test.$O:	test.c $SRC/$OBJDIR/include/lib9.h $SRC/include/mp.h port/dat.h
 	$CC -Iport test.c
 
-$O.test:	test.$O $ROOT/$OBJDIR/lib/libmp.a
+$O.test:	test.$O $SRC/$OBJDIR/lib/libmp.a
 	$LD -o $O.test test.$O
 
-bigtest.$O: bigtest.c  $ROOT/$OBJDIR/include/lib9.h $ROOT/include/mp.h port/dat.h
+bigtest.$O: bigtest.c  $SRC/$OBJDIR/include/lib9.h $SRC/include/mp.h port/dat.h
 	$CC -Iport bigtest.c
 
-$O.bigtest: bigtest.$O  $ROOT/$OBJDIR/lib/libmp.a
+$O.bigtest: bigtest.$O  $SRC/$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=\
-	$ROOT/$OBJDIR/include/lib9.h\
-	$ROOT/include/mp.h\
+	$SRC/$OBJDIR/include/lib9.h\
+	$SRC/include/mp.h\
 	dat.h\
 
 CFILES=${FILES:%=%.c}
@@ -49,4 +49,4 @@
 	$HFILES\
 	$CFILES\
 
-<$ROOT/mkfiles/mksyslib-$SHELLTYPE
+<$SRC/mkfiles/mksyslib-$SHELLTYPE
--- a/libnandfs/mkfile
+++ b/libnandfs/mkfile
@@ -25,9 +25,9 @@
 		writepageauxilliary.$O\
 
 HFILES=\
-	$ROOT/include/nandfs.h \
-	$ROOT/include/logfs.h \
+	$SRC/include/nandfs.h \
+	$SRC/include/logfs.h \
 	local.h
 
-<$ROOT/mkfiles/mksyslib-$SHELLTYPE
+<$SRC/mkfiles/mksyslib-$SHELLTYPE
 
--- a/libprefab/mkfile
+++ b/libprefab/mkfile
@@ -13,9 +13,9 @@
 	textelement.$O\
 
 HFILES=\
-	$ROOT/include/draw.h\
-	$ROOT/include/prefab.h\
+	$SRC/include/draw.h\
+	$SRC/include/prefab.h\
 
-<$ROOT/mkfiles/mksyslib-$SHELLTYPE
+<$SRC/mkfiles/mksyslib-$SHELLTYPE
 
-$OFILES:	$ROOT/module/prefab.m
+$OFILES:	$SRC/module/prefab.m
--- a/libsec/9front-amd64/mkfile
+++ b/libsec/9front-amd64/mkfile
@@ -7,10 +7,10 @@
 	md5block\
 	sha1block\
 
-HFILES=$ROOT/include/libsec.h
+HFILES=$SRC/include/libsec.h
 
 SFILES=${FILES:%=%.s}
 
 OFILES=${FILES:%=%.$O}
 
-<$ROOT/mkfiles/mksyslib-$SHELLTYPE
+<$SRC/mkfiles/mksyslib-$SHELLTYPE
--- a/libsec/mkfile
+++ b/libsec/mkfile
@@ -3,4 +3,4 @@
 # TARGMODEL not SYSTARG for now
 DIRS=port $TARGMODEL-$OBJTYPE
 
-<$ROOT/mkfiles/mklibsubdirs
+<$SRC/mkfiles/mklibsubdirs
--- a/libsec/port/mkfile
+++ b/libsec/port/mkfile
@@ -21,8 +21,8 @@
 OFILES=	`{$SHELLNAME ./reduce-$SHELLTYPE $O $TARGMODEL-$OBJTYPE $ALLOFILES }
 
 HFILES=\
-	$ROOT/include/libsec.h\
-	$ROOT/libmp/port/os.h\
+	$SRC/include/libsec.h\
+	$SRC/libmp/port/os.h\
 
 CFLAGS=$CFLAGS -I../../libmp/port
 
@@ -30,4 +30,4 @@
 	$HFILES\
 	$CFILES\
 
-<$ROOT/mkfiles/mksyslib-$SHELLTYPE
+<$SRC/mkfiles/mksyslib-$SHELLTYPE
--- a/libtk/mkfile
+++ b/libtk/mkfile
@@ -15,13 +15,13 @@
 	xdata.$O\
 
 HFILES=\
-	$ROOT/include/tk.h\
-	$ROOT/include/draw.h\
+	$SRC/include/tk.h\
+	$SRC/include/draw.h\
 
 default:V:	all
 
 <mkfile-$TKSTYLE
-<$ROOT/mkfiles/mksyslib-$SHELLTYPE
+<$SRC/mkfiles/mksyslib-$SHELLTYPE
 
-ebind.$O:		$ROOT/include/interp.h
+ebind.$O:		$SRC/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\
-	$ROOT/include/interp.h\
-	$ROOT/include/isa.h\
+	$SRC/include/interp.h\
+	$SRC/include/isa.h\
 
 LIBS=	bio\
 	math\
@@ -35,7 +35,7 @@
 
 BIN=$ROOT/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
 
 CFLAGS='-DINCPATH="'$ROOT/module'"' $CFLAGS
 YFLAGS=-d
--- a/mkconfig
+++ b/mkconfig
@@ -4,7 +4,9 @@
 #	They are almost always the same.
 
 #	On Nt systems, the ROOT path MUST be of the form `drive:/path'
-ROOT=$HOME/src/purgatorio
+# ROOT=/usr/inferno
+ROOT=/home/user/9ferno.root
+SRC=/home/user/9ferno
 
 #
 #	Specify the flavour of Tk (std for standard builds)
@@ -11,23 +13,19 @@
 #
 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=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)
+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)
 
 #
 #	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=386
+# OBJTYPE=386			# target system object type (eg, 386, arm, mips, power, s800, sparc)
+OBJTYPE=amd64
+# OBJTYPE=$objtype
 
 #
 #	no changes required beyond this point
@@ -34,5 +32,5 @@
 #
 OBJDIR=$SYSTARG/$OBJTYPE
 
-<$ROOT/mkfiles/mkhost-$SYSHOST			# variables appropriate for host system
-<$ROOT/mkfiles/mkfile-$SYSTARG-$OBJTYPE	# variables used to build target object type
+<$SRC/mkfiles/mkhost-$SYSHOST			# variables appropriate for host system
+<$SRC/mkfiles/mkfile-$SYSTARG-$OBJTYPE	# variables used to build target object type
--- a/mkfile
+++ b/mkfile
@@ -29,7 +29,7 @@
 
 
 KERNEL_DIRS=\
-	os\
+	os/pc64\
 	os/boot/pc\
 
 # mkconfig is included at this point to allow it to override
@@ -44,21 +44,19 @@
 foo:QV:
 	echo mk all, clean, install, installall or nuke
 
-all:V:		all-$HOSTMODEL
+all:V:		mkrootdir all-$HOSTMODEL
 clean:V:	clean-$HOSTMODEL
-install:V:	install-$HOSTMODEL
-installall:V:	installall-$HOSTMODEL
+install:V:	mkrootdir install-$HOSTMODEL
+installall:V:	mkrootdir installall-$HOSTMODEL
 emu:V:	emu/all-$HOSTMODEL
-emuinstall:V:	emu/install-$HOSTMODEL
+emuinstall:V:	mkrootdir 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:	kernel/install-$HOSTMODEL
-kernelinstallall:V:	kernel/installall-$HOSTMODEL
+kernelinstall:V:	mkrootdir kernel/install-$HOSTMODEL
+kernelinstallall:V:	mkrootdir kernel/installall-$HOSTMODEL
 kernelnuke:V:	kernel/nuke-$HOSTMODEL
 nuke:V:		nuke-$HOSTMODEL
 
@@ -196,18 +194,52 @@
 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:
-	mkdir -p `{cat lib/emptydirs}
+	test -d $ROOT || mkdir $ROOT
+	cd $ROOT
+	mkdir -p `{cat $SRC/lib/emptydirs}
 	chmod 555 mnt/* n/client/* n/*
 
 mkdirs-sh:V:
-	mkdir -p `cat lib/emptydirs`
+	test -d $ROOT || mkdir $ROOT
+	cd $ROOT
+	mkdir -p `cat $SRC/lib/emptydirs`
 	chmod 555 mnt/* n/client/* n/*
 
 mkdirs-nt:V:
-	mkdir -p `{cmd /c type lib\emptydirs}
+	test -d $ROOT || mkdir $ROOT
+	cd $ROOT
+	mkdir -p `{cmd /c type $SRC\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$ROOT/9front/$OBJTYPE/include -I$ROOT/9front/include -I$ROOT/include
+CFLAGS=		-wFV -I$SRC/9front/$OBJTYPE/include -I$SRC/9front/include -I$SRC/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$ROOT/Inferno/$OBJTYPE/include -I$ROOT/Inferno/include -I$ROOT/include
+CFLAGS=		-wFVT -I$SRC/Inferno/$OBJTYPE/include -I$SRC/Inferno/include -I$SRC/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$ROOT/OpenBSD/amd64/include\
-		-I$ROOT/include\
+		-I$SRC/OpenBSD/amd64/include\
+		-I$SRC/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}
-<$ROOT/mkfiles/mkfile-$SYSTARG-$OBJTYPE
+<$SRC/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}
-<$ROOT/mkfiles/mkfile-$SYSTARG-$OBJTYPE
+<$SRC/mkfiles/mkfile-$SYSTARG-$OBJTYPE
 
 BIN=$ROOT/Inferno/$OBJTYPE
 
@@ -125,12 +125,12 @@
 	#
 
 rc-lib%.a nt-lib%.a:VQ:
-	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}
+	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}
 
 sh-lib%.a:VQ:
-	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)
+	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)
 
 %-sh:QV:
 		for i in $LIBDIRS
--- a/os/init/mkfile
+++ b/os/init/mkfile
@@ -11,7 +11,7 @@
 	rm -f *.dis *.sbl
 
 INCLD=\
-	-I$ROOT/module\
+	-I$SRC/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=$ROOT/Inferno/$OBJTYPE/bin	#path of directory where kernel is installed
+INSTALLDIR=$SRC/Inferno/$OBJTYPE/bin	#path of directory where kernel is installed
 #INSTALLDIR=/$OBJTYPE
 
 #end configurable parameters
 
-<$ROOT/mkfiles/mkfile-$SYSTARG-$OBJTYPE	#set vars based on target system
+<$SRC/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$ROOT/Inferno/$OBJTYPE/include -I$ROOT/include -I$ROOT/libinterp -I../port
+CFLAGS=-wFVT -I$SRC/Inferno/$OBJTYPE/include -I$SRC/include -I$SRC/libinterp -I../port
 KERNDATE=`{$NDATE}
 
 default:V: i$CONF
@@ -62,11 +62,11 @@
 
 <../port/portmkfile
 
-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
+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
 
 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=$ROOT/Inferno/$OBJTYPE/	#path of directory where kernel is installed
+INSTALLDIR=$SRC/Inferno/$OBJTYPE/	#path of directory where kernel is installed
 #INSTALLDIR=/$OBJTYPE
 
 # must match mem.h
@@ -18,7 +18,7 @@
 
 #end configurable parameters
 
-<$ROOT/mkfiles/mkfile-$SYSTARG-$OBJTYPE	#set vars based on target system
+<$SRC/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$ROOT/Inferno/$OBJTYPE/include -I$ROOT/include -I$ROOT/libinterp -I../port
+CFLAGS=-wFVT -I$SRC/Inferno/$OBJTYPE/include -I$SRC/include -I$SRC/libinterp -I../port
 KERNDATE=`{$NDATE}
 
 default:V: i$CONF
@@ -86,11 +86,11 @@
 
 <../port/portmkfile
 
-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
+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
 
 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:%=$ROOT/Inferno/$OBJTYPE/lib/lib%.a}
+LIBFILES=${LIBS:%=$SRC/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$ROOT/libmp/port -I$ROOT/libsec/port
+LIBHDIRS= -I$SRC/libmp/port -I$SRC/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' $ROOT/lib$stem ';' mk 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE install'}'
-		@{builtin cd $ROOT/lib$stem; mk 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE install}
+		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}
 
 sh-lib%.a:VQ:
-		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)
+		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)
 
 %-rc %-nt:V:
 		for(i in $CONFLIST)
@@ -89,15 +89,15 @@
 nuke-sh:QV:
 		for i in $LIBDIRS
 		do
-			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)
+			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)
 		done
 
 nuke-rc nuke-nt:QV:
 		for (i in $LIBDIRS)
 		{
-			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}
+			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}
 		}
 
 nuke:V:		clean nuke-$SHELLTYPE
@@ -111,17 +111,17 @@
 ../init/%.dis:	../init/%.b
 		cd ../init; mk 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE $stem.dis
 
-$ROOT/libinterp/runt.h:
-		cd $ROOT/libinterp
+$SRC/libinterp/runt.h:
+		cd $SRC/libinterp
 		mk 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE runt.h
 
-RUNT=$ROOT/libinterp/runt.h		# for culling dependencies
-INTERP=$ROOT/include/interp.h
+RUNT=$SRC/libinterp/runt.h		# for culling dependencies
+INTERP=$SRC/include/interp.h
 
 alloc.$O:	$INTERP
 devdbg.$O:	$INTERP
 
-devmnt.$O:	$ROOT/include/fcall.h
+devmnt.$O:	$SRC/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:	$ROOT/Inferno/$OBJTYPE/include/ureg.h
+trap.$O:	$SRC/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 $ROOTFILES
+$CONF.root.s $CONF.root.h: $CONF ../init/$INIT.dis ../port/mkroot $SRCFILES
 	$SHELLNAME ../port/mkroot $CONF
 
-%.$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
+%.$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
--- a/utils/0a/mkfile
+++ b/utils/0a/mkfile
@@ -15,9 +15,9 @@
 
 LIBS=cc bio 9		# order is important
 
-BIN=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
 
 YFLAGS=-D1 -d
 CFLAGS=	$CFLAGS -I../include
@@ -24,7 +24,7 @@
 
 lex.$O:	../cc/macbody ../cc/lexbody
 
-$ROOT/$OBJDIR/lib/libcc.a:
+$SRC/$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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
 
 CFLAGS=	$CFLAGS -I../include
 
-$ROOT/$OBJDIR/lib/libcc.a:
+$SRC/$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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
 
 YFLAGS=-D1 -d
 CFLAGS=	$CFLAGS -I../include
@@ -24,7 +24,7 @@
 
 lex.$O:	../cc/macbody ../cc/lexbody
 
-$ROOT/$OBJDIR/lib/libcc.a:
+$SRC/$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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
 
-$ROOT/$OBJDIR/lib/libcc.a:
+$SRC/$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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
--- a/utils/5l/mkfile
+++ b/utils/5l/mkfile
@@ -23,9 +23,9 @@
 
 CFLAGS=$CFLAGS -I../include -I.
 
-BIN=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
 
 YFLAGS=-D1 -d
 CFLAGS=	$CFLAGS -I../include
@@ -24,7 +24,7 @@
 
 lex.$O:	../cc/macbody ../cc/lexbody
 
-$ROOT/$OBJDIR/lib/libcc.a:
+$SRC/$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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
 
 CFLAGS=	$CFLAGS -I../include
 
-$ROOT/$OBJDIR/lib/libcc.a:
+$SRC/$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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
 
 YFLAGS=-D1 -d
 CFLAGS=	$CFLAGS -I../include
@@ -24,7 +24,7 @@
 
 lex.$O:	../cc/macbody ../cc/lexbody
 
-$ROOT/$OBJDIR/lib/libcc.a:
+$SRC/$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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
 
 CFLAGS=	$CFLAGS -I../include
 
-$ROOT/$OBJDIR/lib/libcc.a:
+$SRC/$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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
--- a/utils/c2l/mkfile
+++ b/utils/c2l/mkfile
@@ -26,9 +26,9 @@
 
 LIBS=math bio 9
 
-BIN=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
--- a/utils/cc/mkfile
+++ b/utils/cc/mkfile
@@ -25,7 +25,7 @@
  
 YFILES=cc.y\
 
-<$ROOT/mkfiles/mksyslib-$SHELLTYPE
+<$SRC/mkfiles/mksyslib-$SHELLTYPE
 
 CFLAGS=	$CFLAGS -I../include
 
--- a/utils/cp/mkfile
+++ b/utils/cp/mkfile
@@ -8,9 +8,9 @@
 
 LIBS=9
 
-BIN=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/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=	\
-	$ROOT/include/draw.h\
-	$ROOT/include/memdraw.h\
+	$SRC/include/draw.h\
+	$SRC/include/memdraw.h\
 
 LIBS=	draw memdraw draw bio 9
 
-BIN=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
--- a/utils/data2c/mkfile
+++ b/utils/data2c/mkfile
@@ -8,6 +8,6 @@
 
 LIBS=bio 9			#order matters
 
-BIN=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
--- a/utils/data2s/mkfile
+++ b/utils/data2s/mkfile
@@ -8,6 +8,6 @@
 
 LIBS=bio 9			#order matters
 
-BIN=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
--- a/utils/echo/mkfile
+++ b/utils/echo/mkfile
@@ -8,6 +8,6 @@
 
 LIBS=9
 
-BIN=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
--- a/utils/iyacc/mkfile
+++ b/utils/iyacc/mkfile
@@ -10,11 +10,11 @@
 
 BIN=$ROOT/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
 
-CFLAGS=	$CFLAGS -I../include '-DROOT="'$ROOT'"' '-DPARSER="yaccpar"' '-DPARSERS="yaccpar"'
+CFLAGS=	$CFLAGS -I../include '-DSRC="'$SRC'"'  '-DROOT="'$ROOT'"' '-DPARSER="yaccpar"' '-DPARSERS="yaccpar"'
 
-install:V:	$ROOT/utils/lib/yaccpar
+install:V:	$SRC/utils/lib/yaccpar
 
-$ROOT/utils/lib/yaccpar:	yaccpar
+$SRC/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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
 
 YFLAGS=-D1 -d
 CFLAGS=	$CFLAGS -I../include
@@ -24,7 +24,7 @@
 
 lex.$O:	../cc/macbody ../cc/lexbody
 
-$ROOT/$OBJDIR/lib/libcc.a:
+$SRC/$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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
 
 CFLAGS=	$CFLAGS -I../include
 
-$ROOT/$OBJDIR/lib/libcc.a:
+$SRC/$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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
 
 CFLAGS=	$CFLAGS -I../include
--- a/utils/ksize/mkfile
+++ b/utils/ksize/mkfile
@@ -6,8 +6,8 @@
 
 LIBS=	mach bio 9
 
-BIN=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
 
 CFLAGS=	$CFLAGS -I../include
--- a/utils/kstrip/mkfile
+++ b/utils/kstrip/mkfile
@@ -6,8 +6,8 @@
 
 LIBS=	mach bio 9
 
-BIN=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/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
 
-<$ROOT/mkfiles/mksyslib-$SHELLTYPE
+<$SRC/mkfiles/mksyslib-$SHELLTYPE
 CFLAGS= $CFLAGS -I../include -I..
 
 package:QV:
--- a/utils/libregexp/mkfile
+++ b/utils/libregexp/mkfile
@@ -1,8 +1,8 @@
 <../../mkconfig
 
 #XXX
-<$ROOT/mkfiles/mkhost-$SYSHOST		# variables appropriate for host system
-<$ROOT/mkfiles/mkfile-$SYSTARG-$OBJTYPE	# variables used to build target object type
+<$SRC/mkfiles/mkhost-$SYSHOST		# variables appropriate for host system
+<$SRC/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\
 
-<$ROOT/mkfiles/mksyslib-$SHELLTYPE
+<$SRC/mkfiles/mksyslib-$SHELLTYPE
--- a/utils/md5sum/mkfile
+++ b/utils/md5sum/mkfile
@@ -13,7 +13,7 @@
 
 LIBS=9 sec
 
-BIN=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
 
--- a/utils/mk/mkfile
+++ b/utils/mk/mkfile
@@ -33,10 +33,10 @@
 
 LIBS=	regexp bio 9
 
-BIN=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
 
-CFLAGS=$CFLAGS -I../include -DROOT'="'$ROOT'"'
+CFLAGS=$CFLAGS -I../include -DSRC'="'$SRC'"'
 
 <mkfile-$HOSTMODEL
--- a/utils/mkdir/mkfile
+++ b/utils/mkdir/mkfile
@@ -8,6 +8,6 @@
 
 LIBS=9
 
-BIN=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
--- a/utils/mkext/mkfile
+++ b/utils/mkext/mkfile
@@ -8,6 +8,6 @@
 
 LIBS=bio 9
 
-BIN=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
--- a/utils/mkppcimage/mkfile
+++ b/utils/mkppcimage/mkfile
@@ -13,6 +13,6 @@
 
 CFLAGS=$CFLAGS -I../include
 
-BIN=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
--- a/utils/ms2/mkfile
+++ b/utils/ms2/mkfile
@@ -6,11 +6,11 @@
 OFILES=	ms2.$O\
 
 HFILES=	\
-	$ROOT/include/bio.h\
+	$SRC/include/bio.h\
 	../include/mach.h\
 
 LIBS=mach bio 9			#order matters
 
-BIN=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
--- a/utils/mv/mkfile
+++ b/utils/mv/mkfile
@@ -8,6 +8,6 @@
 
 LIBS=9
 
-BIN=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
--- a/utils/na/mkfile
+++ b/utils/na/mkfile
@@ -13,6 +13,6 @@
 
 CFLAGS=$CFLAGS -I../include
 
-BIN=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
--- a/utils/ndate/mkfile
+++ b/utils/ndate/mkfile
@@ -8,6 +8,6 @@
 
 LIBS=9
 
-BIN=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
--- a/utils/nm/mkfile
+++ b/utils/nm/mkfile
@@ -7,8 +7,8 @@
 
 LIBS=mach bio 9		# order is important.
 
-BIN=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/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
-<$ROOT/mkfiles/mkhost-$SYSHOST
-<$ROOT/mkfiles/mkfile-$SYSTARG-$OBJTYPE
+<$SRC/mkfiles/mkhost-$SYSHOST
+<$SRC/mkfiles/mkfile-$SYSTARG-$OBJTYPE
 
 TARG=ntsrv
 
@@ -18,8 +18,8 @@
 
 CFLAGS=$CFLAGS -I.
 
-BIN=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
 SYSLIBS=	$SYSLIBS wsock32.lib user32.lib gdi32.lib advapi32.lib winmm.lib mpr.lib
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
--- a/utils/qa/mkfile
+++ b/utils/qa/mkfile
@@ -14,9 +14,9 @@
 
 LIBS=cc bio 9		# order is important
 
-BIN=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
 
 YFLAGS=-D1 -d
 CFLAGS=	$CFLAGS -I../include
@@ -23,7 +23,7 @@
 
 lex.$O:	../cc/macbody ../cc/lexbody
 
-$ROOT/$OBJDIR/lib/libcc.a:
+$SRC/$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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
 
-$ROOT/$OBJDIR/lib/libcc.a:
+$SRC/$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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
 
 CFLAGS=	$CFLAGS -I../include -I.
 
--- a/utils/rcsh/mkfile
+++ b/utils/rcsh/mkfile
@@ -30,11 +30,11 @@
 
 LIBS=9
 
-BIN=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
 
-CFLAGS=	$CFLAGS '-DROOT="'$ROOT'"'
+CFLAGS=	$CFLAGS '-DSRC="'$SRC'"'
 
 $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:	$ROOT/utils/lib/rcmain
+install:V:	$SRC/utils/lib/rcmain
 
-$ROOT/utils/lib/rcmain:Q:	rcmain
+$SRC/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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/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= $ROOT/include/bio.h\
+HFILES= $SRC/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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
--- a/utils/sqz/mkfile
+++ b/utils/sqz/mkfile
@@ -12,8 +12,8 @@
 
 LIBS=	mach bio 9
 
-BIN=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
 
 CFLAGS=	$CFLAGS -I../include
--- a/utils/srclist/mkfile
+++ b/utils/srclist/mkfile
@@ -14,6 +14,6 @@
 
 CFLAGS=$CFLAGS -I../include
 
-BIN=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
--- a/utils/tc/mkfile
+++ b/utils/tc/mkfile
@@ -18,11 +18,11 @@
 
 LIBS=cc bio 9		# order is important
 
-BIN=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
 
-$ROOT/$OBJDIR/lib/libcc.a:
+$SRC/$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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
--- a/utils/va/mkfile
+++ b/utils/va/mkfile
@@ -15,9 +15,9 @@
 
 LIBS=cc bio 9		# order is important
 
-BIN=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
 
 YFLAGS=-D1 -d
 CFLAGS=	$CFLAGS -I../include
@@ -24,7 +24,7 @@
 
 lex.$O:	../cc/macbody ../cc/lexbody
 
-$ROOT/$OBJDIR/lib/libcc.a:
+$SRC/$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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
 
 CFLAGS=	$CFLAGS -I../include
 
-$ROOT/$OBJDIR/lib/libcc.a:
+$SRC/$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=$ROOT/$OBJDIR/bin
+BIN=$SRC/$OBJDIR/bin
 
-<$ROOT/mkfiles/mkone-$SHELLTYPE
+<$SRC/mkfiles/mkone-$SHELLTYPE
 
 CFLAGS=	$CFLAGS -I../include -I.