diff --git a/bin/9l b/bin/9l
index 39e6eb1..62e106e 100755
--- a/bin/9l
+++ b/bin/9l
@@ -27,7 +27,7 @@
 	for i
 	do
 		case "$i" in
-		*.o)
+		*.[ao])
 			ofiles="$ofiles $i"
 			;;
 		esac
@@ -58,11 +58,15 @@
 		workq=""
 		for i in $w
 		do
+			# can't trust the libraries about using
+			# libthread - we might not be linking with
+			# those object files.
 			a=`
 				nm $PLAN9/lib/lib$i.a |
 				grep '__p9l_autolib_[a-zA-Z0-9+-]*$' |
 				sed 's/.*__p9l_autolib_//' |
-				sort -u
+				sort -u |
+				grep -v thread
 			`
 			okayfn="true"
 			for j in $a
@@ -131,9 +135,9 @@
 	libsl="$libsl -l9"
 
 	# cycle: lib9 expects p9main, which is defined in libthread.  oops.
-	if $havethread
+	if havethread
 	then
-		libsl="$libsl -lthread"
+		libsl="$libsl -lthread -l9"
 	fi
 
 	if [ "x$needdraw" = xtrue ]
diff --git a/src/Makefile b/src/Makefile
index 9ced533..4c890ed 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1,6 +1,6 @@
 ../bin/mk: mkmk.sh
 	SYSNAME=`uname` export SYSNAME; \
-	OBJTYPE=`uname -m | sed 's;i.86;386;; s;/.*;;; s; ;;g' | sed 's/ppc64/power/g' | sed 's/ppc/power/g'` export OBJTYPE; \
+	OBJTYPE=`uname -m | sed 's;i.86;386;; s;/.*;;; s; ;;g; s/PowerMacintosh/power/; s/ppc64/power/g; s/ppc/power/g'` export OBJTYPE; \
 	PATH=`pwd`/../bin:$$PATH export PATH; \
 	PLAN9=`pwd`/.. export PLAN9; \
 	sh -x mkmk.sh
diff --git a/src/cmd/grap/mkfile b/src/cmd/grap/mkfile
index 03633f3..12006fd 100644
--- a/src/cmd/grap/mkfile
+++ b/src/cmd/grap/mkfile
@@ -18,18 +18,16 @@
 HFILES=grap.h\
 	y.tab.h\
 
-YFILES=grap.y\
-
-LFILES=grapl.lx\
+YFILES=grap.y
+LFILES=grapl.lx
 
 <$PLAN9/src/mkone
-YFLAGS = -d -S
-LEX=9lex
+YFLAGS=-d -S
 
 grap.c:	y.tab.c
 	mv $prereq $target
 
-grapl.c:	$LFILES
+grapl.c:D: $LFILES
 	$LEX -t $prereq > $target
 
 clean:V:
diff --git a/src/cmd/mkfile b/src/cmd/mkfile
index c50d4e1..21070f0 100644
--- a/src/cmd/mkfile
+++ b/src/cmd/mkfile
@@ -25,5 +25,13 @@
 $PLAN9/bin/lex: $PLAN9/bin/yacc
 	cd lex; mk install
 
+# This should not be necessary.
+$PLAN9/bin/yacc: $O.yacc
+	install -c $O.yacc $PLAN9/bin/yacc
+$O.yacc: yacc.$O
+	$LD -o $target $prereq
+yacc.$O: yacc.c
+	$CC $CFLAGS yacc.c
+
 CLEANFILES=$CLEANFILES bc.tab.[ch] units.tab.[ch] delatex.c
 
diff --git a/src/cmd/pic/mkfile b/src/cmd/pic/mkfile
index 10199f8..8619220 100644
--- a/src/cmd/pic/mkfile
+++ b/src/cmd/pic/mkfile
@@ -25,12 +25,11 @@
 
 <$PLAN9/src/mkone
 YFLAGS=-S -d
-LEX=9lex
 
 picy.c:	y.tab.c
 	mv $prereq $target
 
-picl.c:	picl.lx
+picl.c:D: picl.lx
 	$LEX -t $prereq > $target
 
 clean:V:
diff --git a/src/cmd/plot/libplot/subr.c b/src/cmd/plot/libplot/subr.c
index eb0b513..2b41990 100644
--- a/src/cmd/plot/libplot/subr.c
+++ b/src/cmd/plot/libplot/subr.c
@@ -13,7 +13,6 @@
 struct penvir *e0 = E, *e1 = &E[1], *esave;
 int
 bcolor(char *s){
-	int c;
 	while (*s != 0) {
 		switch (*s) {
 		case '0': case '1': case '2': case '3': case '4':
diff --git a/src/cmd/postscript/common/bbox.c b/src/cmd/postscript/common/bbox.c
index 66a114c..67dabf3 100644
--- a/src/cmd/postscript/common/bbox.c
+++ b/src/cmd/postscript/common/bbox.c
@@ -11,6 +11,7 @@
  */
 
 #include <stdio.h>
+#include <string.h>
 #include <ctype.h>
 #include <sys/types.h>
 #include <fcntl.h>
diff --git a/src/cmd/postscript/common/getopt.c b/src/cmd/postscript/common/getopt.c
index e348cb2..018885f 100644
--- a/src/cmd/postscript/common/getopt.c
+++ b/src/cmd/postscript/common/getopt.c
@@ -1,18 +1,13 @@
-#ifndef _POSIX_SOURCE
-#include <u.h>
-#include <libc.h>
-#endif
 #include	<stdio.h>
+#include <string.h>
 #define ERR(str, chr)       if(opterr){fprintf(stderr, "%s%s%c\n", argv[0], str, chr);}
 int     opterr = 1;
 int     optind = 1;
 int	optopt;
 char    *optarg;
-char    *strchr();
 
 int
-getopt (argc, argv, opts)
-char **argv, *opts;
+getopt (int argc, char **argv, char *opts)
 {
 	static int sp = 1;
 	register int c;
@@ -22,7 +17,7 @@
 		if (optind >= argc ||
 		   argv[optind][0] != '-' || argv[optind][1] == '\0')
 			return EOF;
-		else if (strcmp(argv[optind], "--") == NULL) {
+		else if (strcmp(argv[optind], "--") == 0) {
 			optind++;
 			return EOF;
 		}
diff --git a/src/cmd/postscript/common/misc.c b/src/cmd/postscript/common/misc.c
index e965a6e..dd34c6d 100644
--- a/src/cmd/postscript/common/misc.c
+++ b/src/cmd/postscript/common/misc.c
@@ -5,6 +5,7 @@
  */
 
 #include <stdio.h>
+#include <stdlib.h>
 #include <ctype.h>
 #include <sys/types.h>
 #include <fcntl.h>
diff --git a/src/cmd/postscript/common/mkfile b/src/cmd/postscript/common/mkfile
index 121b739..6e270bc 100644
--- a/src/cmd/postscript/common/mkfile
+++ b/src/cmd/postscript/common/mkfile
@@ -20,4 +20,4 @@
 
 <$PLAN9/src/mklib
 
-CFLAGS=-c -D$SYSTEM -D_POSIX_SOURCE
+CFLAGS=-c -D$SYSTEM 
diff --git a/src/cmd/vac/vac.c b/src/cmd/vac/vac.c
index 39a7d73..53a66be 100644
--- a/src/cmd/vac/vac.c
+++ b/src/cmd/vac/vac.c
@@ -115,7 +115,6 @@
 	char *host = nil;
 	int statsflag = 0;
 
-	threadlinklibrary();
 	atexit(cleanup);
 
 	ARGBEGIN{
diff --git a/src/mkhdr b/src/mkhdr
index 1640698..6456aec 100644
--- a/src/mkhdr
+++ b/src/mkhdr
@@ -29,6 +29,7 @@
 CLEANFILES=
 NUKEFILES=
 YACC=9 yacc
+LEX=9 lex
 YFLAGS=-d
 LIB=
 SHORTLIB=9
diff --git a/src/mklib b/src/mklib
index a896ac9..6e38e2f 100644
--- a/src/mklib
+++ b/src/mklib
@@ -2,7 +2,7 @@
 
 $LIB(%):N: %
 $LIB:	${OFILES:%=$LIB(%)}
-	$AR rvc $LIB `membername $newprereq`
+	$AR rvc $LIB $newmember
 
 &:n:	&.$O
 	$AR rvc $LIB $stem.$O
diff --git a/src/mkmk.sh b/src/mkmk.sh
index 4b56a98..5ff530f 100644
--- a/src/mkmk.sh
+++ b/src/mkmk.sh
@@ -135,7 +135,7 @@
 9c  utf/utfrrune.c
 9c  utf/utfrune.c
 9c  utf/utfutf.c
-9ar rvc $PLAN9/lib/lib9.a *.o
+9ar rvc $PLAN9/lib/lib9.a _exits.o _p9dialparse.o _p9dir.o announce.o argv0.o atexit.o atoi.o atol.o atoll.o atnotify.o await.o cistrcmp.o cistrncmp.o cistrstr.o cleanname.o convD2M.o convM2D.o convM2S.o convS2M.o create.o ctime.o date.o dial.o dirfstat.o dirfwstat.o dirmodefmt.o dirread.o dirstat.o dirwstat.o dup.o encodefmt.o errstr.o exec.o execl.o fcallfmt.o get9root.o getcallerpc-$OBJTYPE.o getenv.o getfields.o getns.o getuser.o getwd.o jmp.o lrand.o lnrand.o main.o malloc.o malloctag.o mallocz.o nan.o needsrcquote.o needstack.o netmkaddr.o notify.o nrand.o nulldir.o open.o opentemp.o pipe.o post9p.o postnote.o qlock.o quote.o rand.o read9pmsg.o readn.o rfork.o seek.o sendfd.o sleep.o strdup.o strecpy.o sysfatal.o sysname.o time.o tokenize.o truerand.o u16.o u32.o u64.o unsharp.o wait.o waitpid.o dofmt.o fltfmt.o fmt.o fmtfd.o fmtfdflush.o fmtlock2.o fmtprint.o fmtquote.o fmtrune.o fmtstr.o fmtvprint.o fprint.o nan64.o print.o runefmtstr.o runeseprint.o runesmprint.o runesnprint.o runesprint.o runevseprint.o runevsmprint.o runevsnprint.o seprint.o smprint.o snprint.o sprint.o strtod.o vfprint.o vseprint.o vsmprint.o vsnprint.o charstod.o pow10.o rune.o runestrcat.o runestrchr.o runestrcmp.o runestrcpy.o runestrdup.o runestrlen.o runestrecpy.o runestrncat.o runestrncmp.o runestrncpy.o runestrrchr.o runestrstr.o runetype.o utfecpy.o utflen.o utfnlen.o utfrrune.o utfrune.o utfutf.o
 cd ..
 cd libbio
 9c  bbuffered.c
@@ -155,7 +155,7 @@
 9c  bseek.c
 9c  bvprint.c
 9c  bwrite.c
-9ar rvc $PLAN9/lib/libbio.a *.o
+9ar rvc $PLAN9/lib/libbio.a bbuffered.o bfildes.o bflush.o bgetc.o bgetrune.o bgetd.o binit.o boffset.o bprint.o bputc.o bputrune.o brdline.o brdstr.o bread.o bseek.o bvprint.o bwrite.o
 cd ..
 cd libregexp
 9c  regcomp.c
@@ -165,7 +165,7 @@
 9c  regaux.c
 9c  rregexec.c
 9c  rregsub.c
-9ar rvc $PLAN9/lib/libregexp9.a *.o
+9ar rvc $PLAN9/lib/libregexp9.a regcomp.o regerror.o regexec.o regsub.o regaux.o rregexec.o rregsub.o
 cd ..
 cd cmd/mk
 9c  arc.c
