Can now build everything up to ucb
authorNick Downing <downing.nick@gmail.com>
Fri, 6 Jan 2017 13:28:47 +0000 (00:28 +1100)
committerNick Downing <downing.nick@gmail.com>
Fri, 6 Jan 2017 13:28:47 +0000 (00:28 +1100)
153 files changed:
.gitignore
Makefile
bin/Makefile
bin/ar/Makefile
bin/as/Makefile
bin/as/as0.c
bin/as/as2.c
bin/as/o.sh [new file with mode: 0755]
bin/awk/Makefile
bin/awk/o.sh [new file with mode: 0755]
bin/awk/proc.c
bin/awk/token.c
bin/awk/tokenscript
bin/cc/Makefile
bin/cc/cc.c
bin/cc/n.sh
bin/csh/Makefile
bin/diff/Makefile
bin/disklabel/Makefile
bin/ld/Makefile
bin/ld/ld.c
bin/ld/n.sh
bin/make/Makefile
bin/sed/Makefile
bin/sh/Makefile
bin/tcsh/Makefile
bin/tcsh/krcompat.h [new file with mode: 0644]
bin/tcsh/mkprstr.c
fixmake.sh [new file with mode: 0755]
fixprot.sh [new file with mode: 0755]
games/Makefile
games/adventure/Makefile
games/backgammon/Makefile
games/backgammon/message.c
games/battlestar/Makefile
games/battlestar/krcompat.h [new file with mode: 0644]
games/battlestar/mkstr.c
games/battlestar/o.sh [new file with mode: 0755]
games/boggle/Makefile
games/boggle/comp.c
games/boggle/o.sh [new file with mode: 0755]
games/btlgammon/Makefile
games/fortune/Makefile
games/fortune/krcompat.h [new file with mode: 0644]
games/fortune/o.sh [new file with mode: 0755]
games/fortune/rnd.c
games/fortune/strfile.c
games/hack/Makefile
games/hack/krcompat.h [new file with mode: 0644]
games/hack/makedefs.c
games/hack/o.sh [new file with mode: 0755]
games/monop/Makefile
games/monop/initdeck.c
games/monop/krcompat.h [new file with mode: 0644]
games/monop/o.sh [new file with mode: 0755]
games/monop/strings
games/pdp/Makefile
games/pdp/zork/Makefile
games/pdp/zork/o.sh [new file with mode: 0755]
games/quiz/Makefile
games/snake/Makefile
games/trek/Makefile
games/warp/Makefile
games/warp/UU/filexp [deleted file]
games/warp/UU/grimble [deleted file]
games/warp/UU/myread [deleted file]
games/warp/config.h
games/warp/config.sh [deleted file]
games/warp/filexp [deleted file]
games/warp/makedepend [deleted file]
games/warp/makedir [deleted file]
games/warp/o.sh [new file with mode: 0755]
games/words/Makefile
lib/ccom.new/n.sh [new file with mode: 0755]
lib/ccom/Makefile
lib/cpp/Makefile
lib/cpp/cpp.c
lib/cpp/n.sh
lib/cpp/o.sh
libexec/popper/Makefile
local/Makefile
local/cxref/Makefile [moved from local/cxref/makefile with 67% similarity]
local/cxref/o.sh [new file with mode: 0755]
local/less/Makefile [moved from local/less/makefile with 91% similarity]
local/less/o.sh [new file with mode: 0755]
local/mtools/Makefile
local/qterm/Makefile
local/zmodem/Makefile
n.sh
new/jove/Makefile
new/kermit5.188/Makefile [moved from new/kermit5.188/makefile with 57% similarity]
new/kermit5.188/cc.sh [moved from new/kermit5.188/ckustr.sed with 80% similarity]
new/kermit5.188/o.sh [new file with mode: 0755]
new/kermit5.188/wart.c [moved from new/kermit5.188/ckwart.c with 100% similarity]
new/notes/src/Makefile
new/vmsbackup/Makefile
o.sh
sbin/dump/Makefile
sbin/fsck/Makefile
share/zoneinfo/Makefile
stage.sh [new file with mode: 0755]
ucb/Mail/Makefile
ucb/Makefile
ucb/compress/Makefile
ucb/ex/Makefile
ucb/finger/Makefile
ucb/ftp/Makefile
ucb/indent/Makefile
ucb/krcompat.h [new file with mode: 0644]
ucb/lock/Makefile
ucb/man/Makefile
ucb/mkstr.c
ucb/msgs/Makefile
ucb/n.sh [new file with mode: 0755]
ucb/netstat/Makefile
ucb/pascal/eyacc/Makefile
ucb/pascal/pi/Makefile
ucb/pascal/px/Makefile
ucb/strcompact/Makefile
ucb/strcompact/n.sh
ucb/strcompact/strcompact.c
ucb/talk/Makefile
ucb/tn3270/Makefile
ucb/tset/Makefile
ucb/unifdef.c
ucb/xstr.c
usr.bin/f77/Makefile
usr.bin/lex/Makefile
usr.bin/lex/header.c
usr.bin/lex/krcompat.h [new file with mode: 0644]
usr.bin/lex/ldefs.h [moved from usr.bin/lex/ldefs.c with 58% similarity]
usr.bin/lex/lmain.c
usr.bin/lex/n.sh [new file with mode: 0755]
usr.bin/lex/o.sh [new file with mode: 0755]
usr.bin/lex/once.c
usr.bin/lex/parser.y
usr.bin/lex/sub1.c
usr.bin/lex/sub2.c
usr.bin/lint/Makefile
usr.bin/spell/Makefile
usr.bin/yacc.intptr_t/n.sh [new file with mode: 0755]
usr.bin/yacc/Makefile
usr.bin/yacc/files.h
usr.bin/yacc/n.sh
usr.lib/libF77/Version.c
usr.lib/libF77/profiled/Version
usr.lib/libI77/Version.c
usr.lib/libI77/profiled/Version
usr.lib/libU77/test/Makefile [moved from usr.lib/libU77/test/makefile with 100% similarity]
usr.lib/libident/Makefile
usr.lib/libvmf/Makefile [moved from usr.lib/libvmf/makefile with 50% similarity]
usr.sbin/sendmail/src/Makefile
words [new file with mode: 0644]

index 3f8d387..1cc8209 100644 (file)
 *.[0-9]
 *.a
+*.bak
 *.o
-Makefile.bak
-cross
-bin/cc/cc
+bin/adb/adb
 bin/ar/ar
 bin/as/as
+bin/awk/awk
+bin/awk/awk.h
+bin/awk/proc
+bin/awk/proctab.c
+bin/awk/temp
+bin/awk/y.tab.h
+bin/cat
+bin/cc/cc
+bin/chflags/chflags
+bin/chgrp
+bin/chmod
+bin/chpass/chpass
+bin/cmp
+bin/cp
+bin/csh/csh
+bin/csh/strings
+bin/date
+bin/dd
+bin/df
+bin/diff/diff
+bin/diff/diffh
+bin/disklabel/disklabel
+bin/du
+bin/echo
+bin/ed
+bin/grep
+bin/hostid
+bin/hostname/hostname
+bin/kill
 bin/ld/ld
-bin/size
+bin/ln
+bin/login/login
+bin/ls/ls
+bin/mail
+bin/make/gram.c
+bin/make/make
+bin/make/strings
+bin/mkdir
+bin/mt
+bin/mv
+bin/nice
 bin/nm/nm
+bin/od
+bin/pagesize
+bin/passwd/passwd
+bin/ping/ping
+bin/pr
+bin/ps
+bin/pwd
+bin/rcp
+bin/rm
+bin/rmail
+bin/rmdir
+bin/sed/sed
+bin/sh/sh
+bin/size
 bin/strip/strip
+bin/stty/stty
+bin/su
+bin/sync
+bin/sysctl/sysctl
+bin/tar
+bin/tcsh/ed.defns.h
+bin/tcsh/mkprstr
+bin/tcsh/sh.err.h
+bin/tcsh/strings
+bin/tcsh/tc.const.h
+bin/tcsh/tcsh
+bin/tcsh/tcsh6.00strgs
+bin/tee
+bin/test/test
+bin/time
+bin/tp/tp
+bin/wall
+bin/who
+bin/write
+cross
+games/arithmetic
+games/backgammon/backgammon
+games/backgammon/backgammon.doc
+games/backgammon/teachgammon
+games/banner
+games/battlestar/battle_strings
+games/battlestar/battlestar
+games/battlestar/mkstr
+games/bcd
+games/boggle/bogdict
+games/boggle/boggle
+games/boggle/comp
+games/btlgammon/btlgammon
+games/btlgammon/eddep
+games/btlgammon/makedep
+games/btlgammon/x.c
+games/canfield
+games/cfscores
+games/cribbage/cribbage
+games/factor
+games/fish
+games/fortune/fortune
+games/fortune/fortunes
+games/fortune/fortunes.dat
+games/fortune/strfile
+games/hack/crypt
+games/hack/hack
+games/hack/makedefs
+games/hack/strings
+games/hack/x.c
+games/hangman/hangman
+games/hunt/hunt
+games/hunt/hunt.driver
+games/mille/a.out
+games/monop/cards.pck
+games/monop/initdeck
+games/monop/monop
+games/monop/x.c
+games/morse
+games/number
+games/pdp/bj
+games/pdp/chess/chess
+games/pdp/factor
+games/pdp/moo
+games/pdp/primes
+games/pdp/ttt
+games/phantasia/phant.help
+games/phantasia/phantasia
+games/phantasia/setfiles
+games/ppt
+games/primes
+games/quiz/quiz
+games/rain
+games/robots/robots
+games/sail/sail
+games/snake/busy
+games/snake/snake
+games/snake/snscore
+games/trek/trek
+games/warp/all
+games/warp/sm
+games/warp/warp
+games/words/words1
+games/worm
+games/worms
+games/wump
 lib/c2/c2
 lib/ccom/c0
 lib/ccom/c1
 lib/ccom/cvopt
 lib/cpp/cpp
+lib/cpp/cpy.c
 lib/cpp/y.tab.c
 lib/libc/compat-43/compat-43lib
 lib/libc/compat-43/compat-43lib_p
@@ -49,6 +188,102 @@ lib/libc/stdlib/stdliblib_p
 lib/libc/string/stringlib
 lib/libc/string/stringlib_p
 lib/libkern/*.s
+libexec/acctd/acctd
+libexec/comsat/comsat
+libexec/ctimed/ctimed
+libexec/fingerd/fingerd
+libexec/ftpd/ftpcmd.c
+libexec/ftpd/ftpd
+libexec/getNAME/getNAME
+libexec/getty/getty
+libexec/identd/idecrypt
+libexec/identd/identconn
+libexec/identd/identd
+libexec/identd/itest
+libexec/makekey/makekey
+libexec/popper/popper
+libexec/rexecd/rexecd
+libexec/rlogind/rlogind
+libexec/rshd/rshd
+libexec/talkd/talkd
+libexec/tcpd/cflags
+libexec/tcpd/safe_finger
+libexec/tcpd/tcpd
+libexec/tcpd/tcpdchk
+libexec/tcpd/tcpdmatch
+libexec/tcpd/try-from
+libexec/telnetd/telnetd
+libexec/tftpd/tftpd
+local/afio/afio
+local/cxref/cxref
+local/cxref/cxrfilt
+local/cxref/docxref
+local/cxref/fmtxref
+local/ddd/ddd
+local/decompr16
+local/less/less
+local/mkovmake/mkovmake
+local/mp/mp
+local/mtools/mattrib
+local/mtools/mcd
+local/mtools/mcopy
+local/mtools/mdel
+local/mtools/mdir
+local/mtools/mformat
+local/mtools/mkmanifest
+local/mtools/mlabel
+local/mtools/mmd
+local/mtools/mrd
+local/mtools/mread
+local/mtools/mren
+local/mtools/mtype
+local/mtools/mwrite
+local/qterm/qterm
+local/trace
+local/welcome/welcome
+local/zmodem/rz
+local/zmodem/sz
+new/kermit5.188/ckcpro.c
+new/kermit5.188/kermit5.sr
+new/kermit5.188/strings
+new/kermit5.188/wart
+new/kermit5.188/wermit
+sbin/XNSrouted/XNSrouted
+sbin/badsect/badsect
+sbin/clri/clri
+sbin/dcheck/dcheck
+sbin/dmesg/dmesg
+sbin/dump/dump
+sbin/dump/dumpdir
+sbin/dump/rdump
+sbin/dumpfs/dumpfs
+sbin/fsck/fsck
+sbin/fsck/strings
+sbin/gt307/gt307
+sbin/icheck/icheck
+sbin/ifconfig/ifconfig
+sbin/init/init
+sbin/mkfs/mkfs
+sbin/mknod/mknod
+sbin/mkpasswd/mkpasswd
+sbin/mount/mount
+sbin/ncheck/ncheck
+sbin/newfs/newfs
+sbin/quotacheck/quotacheck
+sbin/reboot/reboot
+sbin/restor/restor
+sbin/route/route
+sbin/routed/routed
+sbin/savecore/savecore
+sbin/shutdown/shutdown
+sbin/slattach/slattach
+sbin/swapon/swapon
+sbin/testnet/testnet
+sbin/tunefs/tunefs
+sbin/umount/umount
+share/termcap/termcap
+share/zoneinfo/zdump
+share/zoneinfo/zic
 stage
 sys/GENERIC/assym.h
 sys/GENERIC/checksys
@@ -59,16 +294,53 @@ sys/GENERIC/unix
 test/hello
 test/hello.i
 test/hello.s
+ucb/Mail/Mail
+ucb/Mail/fmt
+ucb/Mail/strings
+ucb/Mail/xhead.c
+ucb/compress/compress
+ucb/dbx/dbx
+ucb/error/error
+ucb/ex/a.out
+ucb/ex/expreserve
+ucb/ex/exrecover
+ucb/ex/exstrings
+ucb/ex/strings
+ucb/ex/x.c
+ucb/ex/xs.c
+ucb/finger/finger
+ucb/fp/fp
+ucb/ftp/ftp
+ucb/indent/indent
+ucb/lock/lock
+ucb/man/apropos
+ucb/man/man
+ucb/mkstr
+ucb/more/more
+ucb/msgs/msgs
+ucb/netstat/netstat
+ucb/pascal/eyacc/eyacc
+ucb/pascal/pi/pas.eyacc.list
+ucb/pascal/pi/pi1.2strings
+ucb/pascal/pi/pix
+ucb/pascal/pi/px_header.out
 ucb/strcompact/strcompact
 ucb/symcompact/symcompact
 ucb/symdump/symdump
 ucb/symorder/symorder
-usr.lib/libF77/mkvers
+ucb/unifdef
+ucb/xstr
+usr.bin/lorder
+usr.bin/mkdep
+usr.bin/nohup
+usr.bin/ranlib/ranlib
+usr.bin/yacc/yacc
 usr.lib/libF77/Version
-usr.lib/libI77/mkvers
+usr.lib/libF77/mkvers
 usr.lib/libI77/Version
-usr.lib/libU77/mkvers
+usr.lib/libI77/mkvers
 usr.lib/libU77/Version
+usr.lib/libU77/mkvers
 usr.lib/libcurses/libcurses
 usr.lib/libcurses/libcurses_p
 usr.lib/libident/ident-tester
@@ -90,8 +362,3 @@ usr.lib/libplot/libplotimagen
 usr.lib/libplot/libvt0
 usr.lib/libvmf/genlib
 usr.lib/libvmf/genlib_p
-usr.bin/lorder
-usr.bin/mkdep
-usr.bin/nohup
-usr.bin/ranlib/ranlib
-usr.bin/yacc/yacc
index aa67641..548d08f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -38,26 +38,27 @@ LIBCDEFS= DFLMON=${DFLMON} DEFS="${DEFS}"
 #
 DESTDIR=
 CFLAGS=        -O
-SRC_MFLAGS = -k
+# Nick, temporarily remove
+#SRC_MFLAGS = -k
 
 # Programs that live in subdirectories, and have makefiles of their own.
 #
 # 'share' has to be towards the front of the list because programs such as
 # lint(1) need their data files, etc installed first.
 
-LIBDIR= lib usr.lib
-SRCDIR=        share bin sbin etc games libexec local new ucb usr.bin usr.sbin man
+XXXLIBDIR= lib usr.lib
+XXXSRCDIR=     share bin sbin etc games libexec local new ucb usr.bin usr.sbin man
 
-all:   ${LIBDIR} ${SRCDIR}
+all:   ${XXXLIBDIR} ${XXXSRCDIR}
 
 lib:   FRC
        cd lib/libc; make ${MFLAGS} ${LIBCDEFS}
        cd lib; make ${MFLAGS} ccom cpp c2
 
-usr.lib ${SRCDIR}: FRC
+usr.lib ${XXXSRCDIR}: FRC
        cd $@; make ${MFLAGS} ${SRC_MFLAGS}
 
-build: buildlib ${SRCDIR}
+build: buildlib ${XXXSRCDIR}
 
 buildlib: FRC
        @echo installing /usr/include
@@ -96,13 +97,13 @@ buildlib: FRC
 FRC:
 
 install:
-       -for i in ${LIBDIR} ${SRCDIR}; do \
+       -for i in ${XXXLIBDIR} ${XXXSRCDIR}; do \
                (cd $$i; \
                make ${MFLAGS} ${SRC_MFLAGS} DESTDIR=${DESTDIR} install); \
        done
 
 installsrc:
-       -for i in ${SRCDIR}; do \
+       -for i in ${XXXSRCDIR}; do \
                (cd $$i; \
                make ${MFLAGS} ${SRC_MFLAGS} DESTDIR=${DESTDIR} install); \
        done
@@ -115,10 +116,10 @@ tags:
 
 clean:
        rm -f a.out core *.s *.o
-       for i in ${LIBDIR} ${SRCDIR}; do (cd $$i; make -k ${MFLAGS} clean); done
+       for i in ${XXXLIBDIR} ${XXXSRCDIR}; do (cd $$i; make -k ${MFLAGS} clean); done
 
 # Nick
 depend:
-       -for i in ${LIBDIR} ${SRCDIR}; do \
+       -for i in ${XXXLIBDIR} ${XXXSRCDIR}; do \
                (cd $$i; make ${MFLAGS} depend); \
        done
index e2cb585..cb859f3 100644 (file)
@@ -81,6 +81,7 @@ clean:
 # Nick, don't want to run yacc at this stage
 #depend: expr.c
 depend:
+       for i in ${SUBDIR}; do (cd $$i; make ${MFLAGS} depend); done
        for i in ${BINS}; do \
            ${CC} -M ${INCPATH} $$i.c | sed 's/NICK_DISABLED_THIS\.o//' | \
            awk ' { if ($$1 != prev) \
index aa650b9..3f7045e 100644 (file)
@@ -18,7 +18,7 @@ EXTRAOBJ= strmode.o # strftime.o ctime.o
 all: ar ar.1.0 ar.5.0
 
 ar: ${OBJS} ${EXTRAOBJ}
-       cc ${SEPFLAG} -o ar ${OBJS} ${EXTRAOBJ}
+       ${CC} ${SEPFLAG} -o ar ${OBJS} ${EXTRAOBJ}
 
 ar.1.0: ar.1
        ${MANROFF} ar.1 > ar.1.0
index ab9f949..48b612d 100644 (file)
@@ -10,8 +10,8 @@ SEPFLAG=-i
 all: as
 
 as: as0.o as2.o
-#      ld ${SEPFLAG} -o $@ /lib/crt0.o as0.o as2.o -lc
-       cc ${SEPFLAG} -o $@ as0.o as2.o
+#      ${LD} ${SEPFLAG} -o $@ ${STAGEDIR}/lib/crt0.o as0.o as2.o -lc
+       ${CC} ${SEPFLAG} -o $@ as0.o as2.o
 
 install: all
        ${INSTALL} -s as ${DESTDIR}/bin
index fc0b148..9bfb4e4 100644 (file)
@@ -7,7 +7,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <sys/types.h>
-#ifdef PDP11
+#ifdef pdp11
 typedef int intptr_t;
 #endif
 #include "as0.h"
@@ -216,7 +216,7 @@ int main(argc, argv) int argc; char **argv; {
 /*     mov     r0,symend               / current end in block */
 /*     mov     $SYMBLKSZ,symleft       / number of bytes left in block */
 
-       symblk = calloc(1, sizeof(struct symblk));
+       symblk = (struct symblk *)calloc(1, sizeof(struct symblk));
        if (symblk == NULL)
                nomem(); /* don't use oops(), want to delete temp file */
        usymtab = symblk;
@@ -241,7 +241,7 @@ int main(argc, argv) int argc; char **argv; {
 /*     mov     r0,strend               / set available string pointer */
 /*     mov     $STRBLKSZ,strleft       / set amount left in block */
 
-       strblk = calloc(1, sizeof(struct strblk));
+       strblk = (struct strblk *)calloc(1, sizeof(struct strblk));
        if (strblk == NULL)
                nomem(); /* don't use oops(), want to delete temp file */
        strend = strblk->data;
@@ -255,7 +255,7 @@ int main(argc, argv) int argc; char **argv; {
 /*     cmp     (sp)+,(sp)+ */
 /*     mov     r0, hshtab */
 
-       hshtab = calloc(hshsiz, sizeof(struct symbol *));
+       hshtab = (struct symbol **)calloc(hshsiz, sizeof(struct symbol *));
        if (hshtab == NULL)
                nomem(); /* don't use oops(), want to delete temp file */
 
@@ -851,9 +851,9 @@ void growfb() {
 /*     mov     r0,fbtbl */
 
        if (fbtbl == NULL)
-               fbtbl = calloc(fbtblsz, sizeof(struct symbol));
+               fbtbl = (struct symbol *)calloc(fbtblsz, sizeof(struct symbol));
        else
-               fbtbl = realloc(fbtbl, fbtblsz * sizeof(struct symbol));
+               fbtbl = (struct symbol *)realloc(fbtbl, fbtblsz * sizeof(struct symbol));
 
 /*     bne     1f */
 /*     iot                             / Can never happen (I hope) */
@@ -1130,7 +1130,7 @@ struct symbol *isroom(psymbol) struct symbol *psymbol; {
 /*     cmp     (sp)+,(sp)+ */
 /*     / check for failure? */
 
-               psymblk = calloc(1, sizeof(struct symblk));
+               psymblk = (struct symblk *)calloc(1, sizeof(struct symblk));
                if (psymblk == NULL)
                        nomem();
 
@@ -1173,7 +1173,7 @@ char *astring(len) int len; {
 /*     / check for failure? */
 /*     cmp     (sp)+,(sp)+ */
 
-               pstrblk = calloc(1, sizeof(struct strblk));
+               pstrblk = (struct strblk *)calloc(1, sizeof(struct strblk));
                if (pstrblk == NULL)
                        nomem();
 
@@ -1626,7 +1626,8 @@ void escp() {
 /*     .byte '\<, 035 */
 
        case '<':
-               return retread(TLSH);
+               retread(TLSH);
+               return;
 
 /*     .byte '>, 036 */
 
index 51d4a93..11a89a6 100644 (file)
@@ -8,7 +8,7 @@
 #include <string.h>
 #include <sys/stat.h>
 #include <sys/types.h>
-#ifdef PDP11
+#ifdef pdp11
 typedef int intptr_t;
 #include <sys/file.h>
 #define SEEK_SET L_SET
@@ -89,7 +89,7 @@ void pass1() {
 /* 1: */
 
        if (symtot > hshsiz) {
-               hshtab = realloc(hshtab, symtot * sizeof(struct symbol *));
+               hshtab = (struct symbol **)realloc(hshtab, symtot * sizeof(struct symbol *));
                if (hshtab == NULL)
                        nomem();
        }
diff --git a/bin/as/o.sh b/bin/as/o.sh
new file mode 100755 (executable)
index 0000000..96e1cf0
--- /dev/null
@@ -0,0 +1,7 @@
+#!/bin/sh
+ROOT="`pwd |sed -e 's/\/bin\/as$//'`"
+CC="$ROOT/cross/bin/cc"
+INSTALL="$ROOT/install.sh --strip-program=\"$ROOT/cross/bin/strip\""
+mkdir --parents "$ROOT/stage/lib"
+make CC="$CC" && \
+make INSTALL="$INSTALL" DESTDIR="$ROOT/stage" install
index 3783afa..3bdc353 100644 (file)
@@ -10,7 +10,7 @@ SOURCE=awk.def awk.g.y awk.lx.l b.c lib.c main.c parse.c \
        run.c token.c tran.c
 
 awk:   $(FILES) awk.g.o
-       cc $(CFLAGS) $(SEPFLAG) awk.g.o  $(FILES)  -lm -o awk
+       $(CC) $(CFLAGS) $(SEPFLAG) awk.g.o  $(FILES)  -lm -o awk
 
 y.tab.h:       awk.g.o
 
@@ -46,8 +46,9 @@ lint:
 proctab.c:     proc
        ./proc >proctab.c
 
-proc:  awk.h proc.o token.o
-       cc -o proc proc.o token.o
+# for cross compiling, to access the host compiler we use cc not ${CC}
+proc:  awk.h proc.c token.c
+       cc -o proc proc.c token.c
 
 clean:
        -rm -f *.o t.* *temp* *.out *junk* y.tab.* awk.h proc proctab.c awk yacc*
diff --git a/bin/awk/o.sh b/bin/awk/o.sh
new file mode 100755 (executable)
index 0000000..4011eac
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/sh
+ROOT="`pwd |sed -e 's/\/bin\/awk$//'`"
+CC="$ROOT/cross/bin/cc"
+INSTALL="$ROOT/install.sh --strip-program=\"$ROOT/cross/bin/strip\""
+LEX="$ROOT/cross/usr/bin/lex"
+YACC="$ROOT/cross/usr/bin/yacc"
+mkdir --parents "$ROOT/stage/lib"
+make CC="$CC" LEX="$LEX" YACC="$YACC" && \
+make INSTALL="$INSTALL" DESTDIR="$ROOT/stage" install
index 96dfb90..eeccdce 100644 (file)
@@ -1,9 +1,16 @@
-#ifndef lint
+#if defined(DOSCCS) && !defined(lint)
 static char sccsid[] = "@(#)proc.c     4.3 8/11/83";
 #endif
 
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
 #include "awk.h"
+
+#ifndef NULL
 #define NULL 0
+#endif
+
 struct xx
 {      int token;
        char *name;
@@ -63,8 +70,19 @@ struct xx
 #define SIZE   LASTTOKEN - FIRSTTOKEN
 char *table[SIZE];
 char *names[SIZE];
-main()
-{      struct xx *p;
+
+#undef PARAMS
+#ifdef __STDC__
+#define PARAMS(args) args
+#else
+#define PARAMS(args) ()
+#endif
+
+/* token.c generated by tokenscript from y.tab.h */
+char *tokname PARAMS((int n));
+
+int main() {
+       struct xx *p;
        int i;
        printf("#include \"awk.def\"\n");
        printf("obj nullproc();\n");
index 566355f..c32df58 100644 (file)
@@ -1,93 +1,93 @@
-#ifndef lint
+#if defined(DOSCCS) && !defined(lint)
 static char sccsid[] = "@(#)token.c    4.3 (Berkeley) 12/8/84";
 #endif
 
 #include "awk.h"
+
 struct tok
 {      char *tnm;
        int yval;
 } tok[]        = {
-"FIRSTTOKEN", 257,
-"FINAL", 258,
-"FATAL", 259,
-"LT", 260,
-"LE", 261,
-"GT", 262,
-"GE", 263,
-"EQ", 264,
-"NE", 265,
-"MATCH", 266,
-"NOTMATCH", 267,
-"APPEND", 268,
-"ADD", 269,
-"MINUS", 270,
-"MULT", 271,
-"DIVIDE", 272,
-"MOD", 273,
-"UMINUS", 274,
-"ASSIGN", 275,
-"ADDEQ", 276,
-"SUBEQ", 277,
-"MULTEQ", 278,
-"DIVEQ", 279,
-"MODEQ", 280,
-"JUMP", 281,
-"XBEGIN", 282,
-"XEND", 283,
-"NL", 284,
-"PRINT", 285,
-"PRINTF", 286,
-"SPRINTF", 287,
-"SPLIT", 288,
-"IF", 289,
-"ELSE", 290,
-"WHILE", 291,
-"FOR", 292,
-"IN", 293,
-"NEXT", 294,
-"EXIT", 295,
-"BREAK", 296,
-"CONTINUE", 297,
-"PROGRAM", 298,
-"PASTAT", 299,
-"PASTAT2", 300,
-"ASGNOP", 301,
-"BOR", 302,
-"AND", 303,
-"NOT", 304,
-"NUMBER", 305,
-"VAR", 306,
-"ARRAY", 307,
-"FNCN", 308,
-"SUBSTR", 309,
-"LSUBSTR", 310,
-"INDEX", 311,
-"GETLINE", 312,
-"RELOP", 313,
-"MATCHOP", 314,
-"OR", 315,
-"STRING", 316,
-"DOT", 317,
-"CCL", 318,
-"NCCL", 319,
-"CHAR", 320,
-"CAT", 321,
-"STAR", 322,
-"PLUS", 323,
-"QUEST", 324,
-"POSTINCR", 325,
-"PREINCR", 326,
-"POSTDECR", 327,
-"PREDECR", 328,
-"INCR", 329,
-"DECR", 330,
-"FIELD", 331,
-"INDIRECT", 332,
-"LASTTOKEN", 333,
+{"FIRSTTOKEN", 257},
+{"FINAL", 258},
+{"FATAL", 259},
+{"LT", 260},
+{"LE", 261},
+{"GT", 262},
+{"GE", 263},
+{"EQ", 264},
+{"NE", 265},
+{"MATCH", 266},
+{"NOTMATCH", 267},
+{"APPEND", 268},
+{"ADD", 269},
+{"MINUS", 270},
+{"MULT", 271},
+{"DIVIDE", 272},
+{"MOD", 273},
+{"UMINUS", 274},
+{"ASSIGN", 275},
+{"ADDEQ", 276},
+{"SUBEQ", 277},
+{"MULTEQ", 278},
+{"DIVEQ", 279},
+{"MODEQ", 280},
+{"JUMP", 281},
+{"XBEGIN", 282},
+{"XEND", 283},
+{"NL", 284},
+{"PRINT", 285},
+{"PRINTF", 286},
+{"SPRINTF", 287},
+{"SPLIT", 288},
+{"IF", 289},
+{"ELSE", 290},
+{"WHILE", 291},
+{"FOR", 292},
+{"IN", 293},
+{"NEXT", 294},
+{"EXIT", 295},
+{"BREAK", 296},
+{"CONTINUE", 297},
+{"PROGRAM", 298},
+{"PASTAT", 299},
+{"PASTAT2", 300},
+{"ASGNOP", 301},
+{"BOR", 302},
+{"AND", 303},
+{"NOT", 304},
+{"NUMBER", 305},
+{"VAR", 306},
+{"ARRAY", 307},
+{"FNCN", 308},
+{"SUBSTR", 309},
+{"LSUBSTR", 310},
+{"INDEX", 311},
+{"GETLINE", 312},
+{"RELOP", 313},
+{"MATCHOP", 314},
+{"OR", 315},
+{"STRING", 316},
+{"DOT", 317},
+{"CCL", 318},
+{"NCCL", 319},
+{"CHAR", 320},
+{"CAT", 321},
+{"STAR", 322},
+{"PLUS", 323},
+{"QUEST", 324},
+{"POSTINCR", 325},
+{"PREINCR", 326},
+{"POSTDECR", 327},
+{"PREDECR", 328},
+{"INCR", 329},
+{"DECR", 330},
+{"FIELD", 331},
+{"INDIRECT", 332},
+{"LASTTOKEN", 333},
 };
 
-char *tokname(n)
-{
+char *tokname(n) int n; {
        if (n<=256 || n >= LASTTOKEN)
                n = 257;
        return(tok[n-257].tnm);
index 2d8609b..dcf7680 100644 (file)
@@ -1,8 +1,8 @@
 e y.tab.h
 1,$s/# *define *//
-1,$s/^/"/
+1,$s/^/{"/
 1,$s/ /", /
-1,$s/$/,/
+1,$s/$/},/
 w! temp
 e token.c
 /= *{$/+1,/^};$/-1d
index c06aa2c..ea5513c 100644 (file)
@@ -3,13 +3,13 @@ INSTALL=install
 # makefile for cc
 #
 
-CFLAGS=-DCROSSDIR="${CROSSDIR}" -DSTAGEDIR="${STAGEDIR}"
+CFLAGS=-DCROSSPREFIX="${CROSSPREFIX}" -DSTAGEPREFIX="${STAGEPREFIX}"
 SEPFLAG=-i
 
 all: cc
 
 cc: cc.o
-       cc ${SEPFLAG} -o $@ cc.o
+       ${CC} ${SEPFLAG} -o $@ cc.o
 
 install: all
        ${INSTALL} -s cc ${DESTDIR}/bin
index e3df6c7..18f1e3f 100644 (file)
@@ -19,13 +19,13 @@ static      char sccsid[] = "@(#)cc.c 4.13 9/18/85";
 #include <unistd.h>
 #include "krcompat.h"
 
-char   *cpp = CROSSDIR "/lib/cpp";
-char   *ccom = CROSSDIR "/lib/c0";
-char   *ccom1 = CROSSDIR "/lib/c1";
-char   *c2 = CROSSDIR "/lib/c2";
-char   *as = CROSSDIR "/bin/as";
-char   *ld = CROSSDIR "/bin/ld";
-char   *crt0 = STAGEDIR "/lib/crt0.o";
+char   *cpp = CROSSPREFIX "/lib/cpp";
+char   *ccom = CROSSPREFIX "/lib/c0";
+char   *ccom1 = CROSSPREFIX "/lib/c1";
+char   *c2 = CROSSPREFIX "/lib/c2";
+char   *as = CROSSPREFIX "/bin/as";
+char   *ld = CROSSPREFIX "/bin/ld";
+char   *crt0 = STAGEPREFIX "/lib/crt0.o";
 
 char   tmp0[30];               /* big enough for /tmp/ctm%05.5d */
 char   *tmp1, *tmp2, *tmp3, *tmp4, *tmp5;
@@ -94,9 +94,9 @@ int main(argc, argv) int argc; char **argv; {
                        continue;
                case 'p':
                        proflag++;
-                       crt0 = STAGEDIR "/lib/mcrt0.o";
+                       crt0 = STAGEPREFIX "/lib/mcrt0.o";
                        if (argv[i][2] == 'g')
-                               crt0 = STAGEDIR "/usr/lib/gcrt0.o";
+                               crt0 = STAGEPREFIX "/usr/lib/gcrt0.o";
                        continue;
                case 'w':
                        wflag++;
index ef8edf0..9e71573 100755 (executable)
@@ -4,5 +4,5 @@ CC="cc -g -Iinclude -Wall -Wno-char-subscripts -Wno-deprecated-declarations -Wno
 INSTALL="$ROOT/install.sh --strip-program=/bin/true"
 MANROFF="nroff -man"
 mkdir --parents "$ROOT/cross/bin"
-make CC="$CC" MANROFF="$MANROFF" CROSSDIR="\\\"$ROOT/cross\\\"" STAGEDIR="\\\"$ROOT/stage\\\"" SEPFLAG= && \
+make CC="$CC" MANROFF="$MANROFF" CROSSPREFIX="\\\"$ROOT/cross\\\"" STAGEPREFIX="\\\"$ROOT/stage\\\"" SEPFLAG= && \
 make INSTALL="$INSTALL" DESTDIR="$ROOT/cross" install
index 2ad5b8d..34eec42 100644 (file)
@@ -45,9 +45,9 @@ LIBOBJS= ndbm.o getpwent.o
 
 # strings.o must be last since it can change when previous files compile
 csh: ${OBJS} strings.o
-       ${AR} x /lib/libc.a ${LIBOBJS}
+       ${AR} x ${STAGEDIR}/lib/libc.a ${LIBOBJS}
        rm -f csh
-       /bin/ld ${SEPFLAG} /lib/crt0.o ${BASE} \
+       ${LD} ${SEPFLAG} ${STAGEDIR}/lib/crt0.o ${BASE} \
                -Z ${OV1} \
                -Z ${OV2} ${LIBOBJS} \
                -Y strings.o -o csh ${LIBES};
index 8826263..df2d967 100644 (file)
@@ -15,10 +15,10 @@ OBJS=       diff.o diffdir.o diffreg.o
 all: diff diffh
 
 diff: ${OBJS}
-       cc ${CFLAGS} -o diff ${OBJS} ${SEPFLAG} ${LDFLAGS}
+       ${CC} ${CFLAGS} -o diff ${OBJS} ${SEPFLAG} ${LDFLAGS}
 
 diffh: diffh.o
-       cc -o diffh diffh.o ${SEPFLAG} ${LDFLAGS}
+       ${CC} -o diffh diffh.o ${SEPFLAG} ${LDFLAGS}
 
 clean:
        rm -f diff diffh ${OBJS} diffh.o
index 591a281..c8e75c3 100644 (file)
@@ -10,7 +10,7 @@ MANDIR=/usr/man/cat
 all: disklabel disklabel.5.0 disklabel.0
 
 disklabel: disklabel.o
-       cc ${CFLAGS} ${SEPFLAG} -o $@ $@.o -lutil
+       ${CC} ${CFLAGS} ${SEPFLAG} -o $@ $@.o -lutil
 
 install: all
        ${INSTALL} -s -c -o bin -g operator -m 2550 disklabel \
index 5efa4ee..8adaa54 100644 (file)
@@ -10,10 +10,10 @@ OBJS=ld.o ../../lib/libc/pdp/gen/nsym.o
 MAN=ld.0
 MANSRC=ld.1
 
-CFLAGS=-O -I../ar -DSTAGEDIR="${STAGEDIR}" -DNUM_VM_PAGES=20
+CFLAGS=-O -I../ar -DSTAGEPREFIX="${STAGEPREFIX}" -DNUM_VM_PAGES=20
 SEPFLAG=-i
 
-all:   ld ld.0
+all:   ${LD} ld.0
 
 ld: ${OBJS}
        ${CC} ${SEPFLAG} ${LDFLAGS} -o ld ${OBJS} -lvmf
@@ -29,5 +29,4 @@ clean:
        rm -f ${OBJS} ${MAN} ld
 
 ${MAN}: ${MANSRC}
-#      ${MANROFF} ${MANSRC} > ${MAN}
        ${MANROFF} ${MANSRC} > ${MAN}
index 7af8f9e..c4b70b9 100644 (file)
@@ -407,9 +407,9 @@ int main(argc, argv) int argc; char **argv; {
                }
        }
        /* add default search directories */
-       dirs[ndir++] = STAGEDIR "/lib";
-       dirs[ndir++] = STAGEDIR "/usr/lib";
-       dirs[ndir++] = STAGEDIR "/usr/local/lib";
+       dirs[ndir++] = STAGEPREFIX "/lib";
+       dirs[ndir++] = STAGEPREFIX "/usr/lib";
+       dirs[ndir++] = STAGEPREFIX "/usr/local/lib";
 
        p = argv+1;
        /*
index f1902fd..da11a33 100755 (executable)
@@ -5,5 +5,5 @@ INSTALL="$ROOT/install.sh --strip-program=/bin/true"
 MANROFF="nroff -man"
 mkdir --parents "$ROOT/cross/bin"
 mkdir --parents "$ROOT/cross/usr/man/cat1"
-make CC="$CC" MANROFF="$MANROFF" STAGEDIR="\\\"$ROOT/stage\\\"" SEPFLAG= LDFLAGS="-L$ROOT/cross/usr/lib" && \
+make CC="$CC" MANROFF="$MANROFF" STAGEPREFIX="\\\"$ROOT/stage\\\"" SEPFLAG= LDFLAGS="-L$ROOT/cross/usr/lib" && \
 make INSTALL="$INSTALL" DESTDIR="$ROOT/cross" install
index f3f60e9..1bba5df 100644 (file)
@@ -34,7 +34,7 @@ lint :  dosys.c doname.c files.c main.c misc.c ident.c gram.c
        rm -f gram.c
 
 gram.c: gram.y
-       yacc gram.y
+       ${YACC} gram.y
        fgrep -v "static char yaccpar_sccsid" y.tab.c >gram.c
        rm -f y.tab.c
 
index cff61a9..4f299bf 100644 (file)
@@ -5,7 +5,7 @@ CFLAGS=-O -w
 SEPFLAG=-i
 
 sed:   sed0.o sed1.o
-       cc ${SEPFLAG} -o sed *.o
+       ${CC} ${SEPFLAG} -o sed *.o
 
 sed0.o: sed0.c sed.h
 sed1.o: sed1.c sed.h
index a51be79..4a176fb 100644 (file)
@@ -27,7 +27,7 @@ main.o:               brkincr.h
 stak.o:                brkincr.h
 
 sh:
-       cc ${SEPFLAG} -o sh *.o
+       ${CC} ${SEPFLAG} -o sh *.o
 
 install: all
        ${INSTALL} -s sh $(DESTDIR)/bin
index 6218502..e1c7a95 100644 (file)
@@ -1,3 +1,4 @@
+SIZE=size
 MANROFF=/usr/man/manroff
 INSTALL=install
 #      Makefile        4.3.2   1997/12/27
@@ -22,8 +23,8 @@ BUILD=tcsh
 SUF=o
 CF=-c
 
-LFLAGS=-I.
-#LFLAGS=-Zn10000                       # hpux lint
+LINTFLAGS=-I.
+#LINTFLAGS=-Zn10000                    # hpux lint
 
 SYSDEFINE=pdp11
 CFLAGS= -I. -O -D${SYSDEFINE}
@@ -94,6 +95,7 @@ RM=   -rm
 CXREF= /usr/ucb/cxref
 VGRIND=        csh /usr/ucb/vgrind
 CTAGS= /usr/ucb/ctags
+UNIFDEF= /usr/ucb/unifdef
 XSTR= /usr/ucb/xstr
 #MKSTR=        /usr/ucb/mkstr
 MKSTR= ./mkprstr
@@ -179,8 +181,9 @@ ALLOC=tc.alloc.o alloc11.o
 
 all: mkprstr tcsh tcsh.${CATSECT}
 
+# for cross compiling, to access the host compiler we use cc not ${CC}
 mkprstr:  mkprstr.c
-       ${CC} -O -o  mkprstr  mkprstr.c
+       cc -O -o  mkprstr  mkprstr.c
 
 BASE=                  \
        ${ALLOC}        \
@@ -246,12 +249,12 @@ OV7=
 
 tcsh: $(OBJS)
        rm -f $@
-       /bin/ld -i -X -o tcsh /lib/crt0.o \
+       ${LD} -i -X -o tcsh ${STAGEDIR}/lib/crt0.o \
        $(BASE) \
        -Z $(OV1) -Z $(OV2) -Z $(OV3) -Z $(OV4) \
        -Z $(OV5) -Z $(OV6) -Z $(OV7) \
        -Y -ltermcap -lc
-       @-size $@
+       @-${SIZE} $@
 
 #.c.${SUF}:
 #      ${CC} ${CF} ${CFLAGS} $<
@@ -310,7 +313,7 @@ sh.err.h: sh.err.c
        @echo '/* Do not edit this file, make creates it. */' > $@
        @echo '#ifndef _h_sh_err' >> $@
        @echo '#define _h_sh_err' >> $@
-       -unifdef -D${SYSDEFINE} sh.err.c | egrep 'ERR_' | egrep '^#define' >> $@
+       -${UNIFDEF} -D${SYSDEFINE} sh.err.c | egrep 'ERR_' | egrep '^#define' >> $@
        @echo '#endif /* _h_sh_err */' >> $@
 
 tc.const.h: tc.const.c sh.char.h config.h config_f.h sh.types.h sh.err.h
@@ -329,12 +332,12 @@ sh.prof.${SUF}:
        ${CC} ${CF} ${CFLAGS} -DPROF sh.prof.c
 
 lint: tc.const.h ed.defns.h
-       lint ${LFLAGS} sh*.c tw*.c ed*.c tc.*.c ${LIBES}
+       lint ${LINTFLAGS} sh*.c tw*.c ed*.c tc.*.c ${LIBES}
 
 print:
        @pr READ_ME
        @pr makefile makefile.*
-       @(size -l a.out; size *.${SUF}) | pr -h SIZES
+       @(${SIZE} -l a.out; ${SIZE} *.${SUF}) | pr -h SIZES
        @${CXREF} sh*.c | pr -h XREF
        @ls -l | pr 
        @pr sh*.h [a-rt-z]*.h sh*.c alloc.c
@@ -342,7 +345,7 @@ print:
 vprint:
        @pr -l84 READ_ME TODO
        @pr -l84 makefile makefile.*
-       @(size -l a.out; size *.${SUF}) | pr -l84 -h SIZES
+       @(${SIZE} -l a.out; ${SIZE} *.${SUF}) | pr -l84 -h SIZES
        @${CXREF} sh*.c | pr -l84 -h XREF
        @ls -l | pr -l84
        @${CXREF} sh*.c | pr -l84 -h XREF
diff --git a/bin/tcsh/krcompat.h b/bin/tcsh/krcompat.h
new file mode 100644 (file)
index 0000000..b5c0b7d
--- /dev/null
@@ -0,0 +1,21 @@
+#ifndef _KRCOMPAT_H
+#define _KRCOMPAT_H 1
+
+#undef PARAMS
+#ifdef __STDC__
+#include <stdarg.h>
+#define VA_START(ap, arg) va_start(ap, arg)
+#define PARAMS(args) args
+#else
+#include <varargs.h>
+#define VA_START(ap, arg) va_start(ap)
+#define PARAMS(args) ()
+#endif
+
+#ifdef __GNUC__
+#define NORETURN __attribute__ ((noreturn))
+#else
+#define NORETURN
+#endif
+
+#endif
index 75025e1..37b1af3 100644 (file)
@@ -4,22 +4,24 @@
  * specifies the terms and conditions for redistribution.
  */
 
-#ifndef lint
+#if defined(DOCOPYRIGHT) && !defined(lint)
 char copyright[] =
 "@(#) Copyright (c) 1980 Regents of the University of California.\n\
  All rights reserved.\n";
-#endif not lint
+#endif
 
-#ifndef lint
+#if defined(DOSCCS) && !defined(lint)
 static char sccsid[] = "@(#)mkstr.c    5.1 (Berkeley) 5/31/85";
-#endif not lint
+#endif
 
 #include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include "krcompat.h"
 
 #define        ungetchar(c)    ungetc(c, stdin)
 
-long   ftell();
-char   *calloc();
 /*
  * mkstr - create a string error message file by massaging C source
  *
@@ -52,10 +54,16 @@ char        *progname;
 char   usagestr[] =    "usage: %s [ - ] mesgfile prefix file ...\n";
 char   name[100], *np;
 
-main(argc, argv)
-       int argc;
-       char *argv[];
-{
+int main PARAMS((int argc, char *argv[]));
+void process PARAMS((void));
+int match PARAMS((char *ocp));
+void copystr PARAMS((void));
+int octdigit PARAMS((int c));
+void inithash PARAMS((void));
+int hashit PARAMS((char *str, int really, unsigned fakept));
+int fgetNUL PARAMS((char *obuf, register int rmdr, FILE *file));
+
+int main(argc, argv) int argc; char *argv[]; {
        char addon = 0;
 
        argc--, progname = *argv++;
@@ -86,10 +94,9 @@ main(argc, argv)
        exit(0);
 }
 
-process()
-{
+void process() {
        register char *cp;
-       register c;
+       register int c;
 
        for (;;) {
                c = getchar();
@@ -111,11 +118,9 @@ process()
        }
 }
 
-match(ocp)
-       char *ocp;
-{
+int match(ocp) char *ocp; {
        register char *cp;
-       register c;
+       register int c;
 
        for (cp = ocp + 1; *cp; cp++) {
                c = getchar();
@@ -129,9 +134,8 @@ match(ocp)
        return (1);
 }
 
-copystr()
-{
-       register c, ch;
+void copystr() {
+       register int c, ch;
        char buf[512];
        char obuf[512];
        register char *cp;
@@ -200,24 +204,20 @@ copystr()
        }
 out:
        *cp = 0;
-       printf("mkprintf(%d", hashit(buf, 1, NULL));
+       printf("mkprintf(%d", hashit(buf, 1, 0));
        return;
 }
 
-octdigit(c)
-       char c;
-{
-
+int octdigit(c) int c; {
        return (c >= '0' && c <= '7');
 }
 
-inithash()
-{
+void inithash() {
        char buf[512];
        int mesgpt = 0;
 
        rewind(mesgread);
-       while (fgetNUL(buf, sizeof buf, mesgread) != NULL) {
+       while (fgetNUL(buf, sizeof buf, mesgread) != 0) {
                hashit(buf, 0, mesgpt);
                mesgpt += strlen(buf) + 2;
        }
@@ -231,11 +231,7 @@ struct     hash {
        struct  hash *hnext;
 } *bucket[NBUCKETS];
 
-hashit(str, really, fakept)
-       char *str;
-       char really;
-       unsigned fakept;
-{
+int hashit(str, really, fakept) char *str; int really; unsigned fakept; {
        int i;
        register struct hash *hp;
        char buf[512];
@@ -280,17 +276,13 @@ hashit(str, really, fakept)
 #include <sys/types.h>
 #include <sys/stat.h>
 
-fgetNUL(obuf, rmdr, file)
-       char *obuf;
-       register int rmdr;
-       FILE *file;
-{
-       register c;
+int fgetNUL(obuf, rmdr, file) char *obuf; register int rmdr; FILE *file; {
+       register int c;
        register char *buf = obuf;
 
        while (--rmdr > 0 && (c = getc(file)) != 0 && c != EOF)
                *buf++ = c;
        *buf++ = 0;
        getc(file);
-       return ((feof(file) || ferror(file)) ? NULL : 1);
+       return ((feof(file) || ferror(file)) ? 0 : 1);
 }
diff --git a/fixmake.sh b/fixmake.sh
new file mode 100755 (executable)
index 0000000..4c2a8b7
--- /dev/null
@@ -0,0 +1,7 @@
+#!/bin/sh
+if grep -q "\${CRT0}" $1 && ! grep -q "^CRT0[  ]*=" $1
+then
+  (echo "CRT0=/lib/crt0.o"; cat $1) >a
+  mv $1 $1.bak
+  mv a $1
+fi
diff --git a/fixprot.sh b/fixprot.sh
new file mode 100755 (executable)
index 0000000..37ec4da
--- /dev/null
@@ -0,0 +1,6 @@
+#!/bin/sh
+cproto $1 |sed -ne '2,$p' >a
+sed -e 's/^\(.*\)(\(.*\));$/\1 PARAMS((\2));/' <a >b
+sed -e 's/((/(( /' -e 's/,/;/g' -e 's/))/;))/' -e 's/(( void;))/(())/' -e 's/^\(.*[^a-zA-Z_]\)\?\([a-zA-Z_0-9]\+\) PARAMS((\(.*\)));$/s\/^\2(\\(.*\\))\\( *{\\)\\?\/\1\2(\\1)\3 {\//' <b >c
+cp $1 $1.bak
+sed -f c -i $1
index 62440c8..437edf7 100644 (file)
@@ -12,7 +12,7 @@ SEPFLAG= -i
 
 # Programs that live in subdirectories, and have makefiles of their own.
 #
-SUBDIR=        adventure backgammon battlestar boggle btlgammon cribbage fortune \
+XXXSUBDIR=     adventure backgammon battlestar boggle btlgammon cribbage fortune \
        hack \
        hangman hunt mille monop pdp phantasia quiz robots sail snake \
        trek warp words
@@ -31,18 +31,18 @@ STD=        arithmetic banner bcd cfscores factor fish morse number ppt \
 #
 NSTD=  canfield primes rain worm worms
 
-all:   ${SUBDIR} ${STD} ${NSTD}
+all:   ${XXXSUBDIR} ${STD} ${NSTD}
 
-${SUBDIR}: FRC
+${XXXSUBDIR}: FRC
        cd $@; make ${MFLAGS} SEPFLAG=${SEPFLAG}
 
 FRC:
 
 ${STD}:
-       cc ${CFLAGS} ${SEPFLAG} -o $@ $@.c
+       ${CC} ${CFLAGS} ${SEPFLAG} -o $@ $@.c
 
 install: ${STD} ${NSTD}
-       -for i in ${SUBDIR}; do \
+       -for i in ${XXXSUBDIR}; do \
                (cd $$i; make ${MFLAGS} DESTDIR=${DESTDIR} install); done
        -for i in ${SCRIPT}; do \
                (${INSTALL} -c -m 755  $$i.sh ${DESTDIR}/usr/games/$$i); done
@@ -53,10 +53,11 @@ install: ${STD} ${NSTD}
 
 clean:
        rm -f a.out core *.s *.o
-       -for i in ${SUBDIR}; do (cd $$i; make ${MFLAGS} clean); done
+       -for i in ${XXXSUBDIR}; do (cd $$i; make ${MFLAGS} clean); done
        rm -f ${STD} ${NSTD}
 
 depend:
+       -for i in ${XXXSUBDIR}; do (cd $$i; make ${MFLAGS} depend); done
        for i in ${STD} ${NSTD}; do \
            ${CC} -M ${INCPATH} $$i.c | sed 's/\.o//' | \
            awk ' { if ($$1 != prev) \
@@ -77,19 +78,19 @@ depend:
 # Files listed in ${NSTD} have explicit make lines given below.
 
 canfield:
-       cc -o canfield ${CFLAGS} ${SEPFLAG} canfield.c -lcurses -ltermcap
+       ${CC} -o canfield ${CFLAGS} ${SEPFLAG} canfield.c -lcurses -ltermcap
 
 primes:
-       cc -o primes ${CFLAGS} ${SEPFLAG} primes.c -lm
+       ${CC} -o primes ${CFLAGS} ${SEPFLAG} primes.c -lm
 
 rain:
-       cc -o rain ${CFLAGS} ${SEPFLAG} rain.c -lcurses -ltermcap
+       ${CC} -o rain ${CFLAGS} ${SEPFLAG} rain.c -lcurses -ltermcap
 
 worm:
-       cc -o worm ${CFLAGS} ${SEPFLAG} worm.c -lcurses -ltermcap
+       ${CC} -o worm ${CFLAGS} ${SEPFLAG} worm.c -lcurses -ltermcap
 
 worms:
-       cc -o worms ${CFLAGS} ${SEPFLAG} worms.c -lcurses -ltermcap
+       ${CC} -o worms ${CFLAGS} ${SEPFLAG} worms.c -lcurses -ltermcap
 
 # DO NOT DELETE THIS LINE -- make depend uses it
 
index f86c9b7..ae6b187 100644 (file)
@@ -18,7 +18,7 @@ a.out: ${OBJS}
        ${CC} ${SEPFLAG} ${LDFLAGS} ${CFLAGS} ${OBJS}
 
 save.o:        save.c  # vax C optimizer bug - infinite loop
-       cc -c save.c
+       ${CC} -c save.c
 
 # always recomple okplay
 okplay.o: /tmp
index 2824b2f..93d40ac 100644 (file)
@@ -23,12 +23,12 @@ all: backgammon teachgammon backgammon.doc
 #      Backgammon program
 backgammon: $(OBJS)
        -rm -f backgammon
-       cc ${SEPFLAG} -o backgammon $(OBJS) -ltermlib
+       ${CC} ${SEPFLAG} -o backgammon $(OBJS) -ltermlib
 
 #      Backgammon rules and tutorial
 teachgammon: ${TOBJS}
        -rm -f teachgammon
-       cc ${SEPFLAG} -o teachgammon $(TOBJS) -ltermlib
+       ${CC} ${SEPFLAG} -o teachgammon $(TOBJS) -ltermlib
 
 #      Header files back.h and tutor.h
 allow.o board.o check.o extra.o fancy.o main.o move.o odds.o one.o save.o\
@@ -36,8 +36,8 @@ allow.o board.o check.o extra.o fancy.o main.o move.o odds.o one.o save.o\
 data.o tutor.o: back.h tutor.h
 
 #      Update message.  /tmp is always changing, so use it to ensure execution
-message.c: /tmp
-       ex - message.c < Mesgfix
+#message.c: /tmp
+#      ex - message.c < Mesgfix
 
 #      Documentation
 backgammon.doc: backgammon.src
index 313a735..80715b6 100644 (file)
@@ -10,6 +10,6 @@ static char sccsid[] = "@(#)message.c 4.3 (Berkeley) 1/11/86";
 #endif not lint
 
 char   *message[] = {
-       "Last update on Friday, November 26, 1999.",
+       "Last update on Friday 6 January,T 2017.",
        0
 };
index cd7fe13..7fb1e0a 100644 (file)
@@ -27,7 +27,7 @@ MAN=          battlestar.0
 all:   battlestar ${MAN}
 
 battlestar: $(OBJS)
-       cc -o battlestar ${SEPFLAG} $(OBJS) $(LIBS)
+       ${CC} -o battlestar ${SEPFLAG} $(OBJS) $(LIBS)
 
 $(OBJS): externs.h
 
@@ -36,24 +36,26 @@ STRINGFILE= $(LIB)/battle_strings
 
 dayfile.o: dayfile.c mkstr
        ./mkstr - battle_strings xx dayfile.c
-       cc -c xxdayfile.c
+       ${CC} -c xxdayfile.c
        mv xxdayfile.o dayfile.o
        rm -f xxdayfile.c
 
 nightfile.o: nightfile.c mkstr
        ./mkstr - battle_strings xx nightfile.c
-       cc -c xxnightfile.c
+       ${CC} -c xxnightfile.c
        mv xxnightfile.o nightfile.o
        rm -f xxnightfile.c
 
 globals.o: globals.c mkstr
        ./mkstr - battle_strings xx globals.c
-       cc -c xxglobals.c
+       ${CC} -c xxglobals.c
        mv xxglobals.o globals.o
        rm -f xxglobals.c
 
+# for cross compiling, to access the host compiler we use cc not ${CC}
 mkstr: mkstr.c
-       cc -O -n -o mkstr mkstr.c
+#      cc -O -n -o mkstr mkstr.c
+       cc -O -o mkstr mkstr.c
 
 # End of pdp-11 specific instructions
 
diff --git a/games/battlestar/krcompat.h b/games/battlestar/krcompat.h
new file mode 100644 (file)
index 0000000..b5c0b7d
--- /dev/null
@@ -0,0 +1,21 @@
+#ifndef _KRCOMPAT_H
+#define _KRCOMPAT_H 1
+
+#undef PARAMS
+#ifdef __STDC__
+#include <stdarg.h>
+#define VA_START(ap, arg) va_start(ap, arg)
+#define PARAMS(args) args
+#else
+#include <varargs.h>
+#define VA_START(ap, arg) va_start(ap)
+#define PARAMS(args) ()
+#endif
+
+#ifdef __GNUC__
+#define NORETURN __attribute__ ((noreturn))
+#else
+#define NORETURN
+#endif
+
+#endif
index 358f71f..60092fa 100644 (file)
  * a (long) pointer.
  */
 
-#ifndef lint
+#if defined(DOCOPYRIGHT) && !defined(lint)
 char copyright[] =
 "@(#) Copyright (c) 1980 Regents of the University of California.\n\
  All rights reserved.\n";
-#endif not lint
+#endif
 
-#ifndef lint
+#if defined(DOSCCS) && !defined(lint)
 static char sccsid[] = "@(#)mkstr.c    5.1 (Berkeley) 5/31/85";
-#endif not lint
+#endif
 
 #include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "krcompat.h"
 
 #define        ungetchar(c)    ungetc(c, stdin)
 
-long   ftell();
-char   *calloc();
 /*
  * mkstr - create a string error message file by massaging C source
  *
@@ -58,10 +59,16 @@ char        *progname;
 char   usagestr[] =    "usage: %s [ - ] mesgfile prefix file ...\n";
 char   name[100], *np;
 
-main(argc, argv)
-       int argc;
-       char *argv[];
-{
+int main PARAMS((int argc, char *argv[]));
+void process PARAMS((void));
+int match PARAMS((char *ocp));
+void copystr PARAMS((void));
+int octdigit PARAMS((int c));
+void inithash PARAMS((void));
+long hashit PARAMS((char *str, int really, unsigned fakept));
+int fgetNUL PARAMS((char *obuf, register int rmdr, FILE *file));
+
+int main(argc, argv) int argc; char *argv[]; {
        char addon = 0;
 
        argc--, progname = *argv++;
@@ -92,10 +99,8 @@ main(argc, argv)
        exit(0);
 }
 
-process()
-{
-       register char *cp;
-       register c;
+void process() {
+       register int c;
 
        for (;;) {
                c = getchar();
@@ -116,11 +121,9 @@ process()
        }
 }
 
-match(ocp)
-       char *ocp;
-{
+int match(ocp) char *ocp; {
        register char *cp;
-       register c;
+       register int c;
 
        for (cp = ocp + 1; *cp; cp++) {
                c = getchar();
@@ -134,12 +137,10 @@ match(ocp)
        return (1);
 }
 
-copystr()
-{
-       register c, ch;
+void copystr() {
+       register int c, ch;
        char buf[512];
        register char *cp = buf;
-       long hashit();
 
        for (;;) {
                c = getchar();
@@ -195,23 +196,19 @@ copystr()
        }
 out:
        *cp = 0;
-       printf("%ld", hashit(buf, 1, NULL));
+       printf("%ld", hashit(buf, 1, 0));
 }
 
-octdigit(c)
-       char c;
-{
-
+int octdigit(c) int c; {
        return (c >= '0' && c <= '7');
 }
 
-inithash()
-{
+void inithash() {
        char buf[512];
        int mesgpt = 0;
 
        rewind(mesgread);
-       while (fgetNUL(buf, sizeof buf, mesgread) != NULL) {
+       while (fgetNUL(buf, sizeof buf, mesgread) != 0) {
                hashit(buf, 0, mesgpt);
                mesgpt += strlen(buf) + 2;
        }
@@ -225,12 +222,7 @@ struct     hash {
        struct  hash *hnext;
 } *bucket[NBUCKETS];
 
-long
-hashit(str, really, fakept)
-       char *str;
-       char really;
-       unsigned fakept;
-{
+long hashit(str, really, fakept) char *str; int really; unsigned fakept; {
        int i;
        register struct hash *hp;
        char buf[512];
@@ -275,17 +267,13 @@ hashit(str, really, fakept)
 #include <sys/types.h>
 #include <sys/stat.h>
 
-fgetNUL(obuf, rmdr, file)
-       char *obuf;
-       register int rmdr;
-       FILE *file;
-{
-       register c;
+int fgetNUL(obuf, rmdr, file) char *obuf; register int rmdr; FILE *file; {
+       register int c;
        register char *buf = obuf;
 
        while (--rmdr > 0 && (c = getc(file)) != 0 && c != EOF)
                *buf++ = c;
        *buf++ = 0;
        getc(file);
-       return ((feof(file) || ferror(file)) ? NULL : 1);
+       return ((feof(file) || ferror(file)) ? 0 : 1);
 }
diff --git a/games/battlestar/o.sh b/games/battlestar/o.sh
new file mode 100755 (executable)
index 0000000..b39496b
--- /dev/null
@@ -0,0 +1,8 @@
+#!/bin/sh
+ROOT="`pwd |sed -e 's/\/games\/battlestar$//'`"
+CC="$ROOT/cross/bin/cc"
+INSTALL="$ROOT/install.sh --strip-program=\"$ROOT/cross/bin/strip\""
+MANROFF="nroff -man"
+mkdir --parents "$ROOT/stage/lib"
+make CC="$CC" MANROFF="$MANROFF" && \
+make INSTALL="$INSTALL" DESTDIR="$ROOT/stage" install
index 3981963..8c47994 100644 (file)
@@ -14,20 +14,23 @@ CFLAGS = -O
 all:   boggle bogdict
 
 bogdict: comp sfile
-       -if [ -f /usr/local/lib/w2a ]; \
-               then dict=/usr/local/lib/w2a; \
-               else dict=/usr/dict/words; fi; \
-       sed -f sfile $$dict | uniq | ./comp >bogdict
+#      -if [ -f /usr/local/lib/w2a ]; \
+#              then dict=/usr/local/lib/w2a; \
+#              else dict=/usr/dict/words; fi; \
+#      sed -f sfile $$dict | uniq | ./comp >bogdict
+       sed -f sfile ${STAGEDIR}/usr/dict/words | uniq | ./comp >bogdict
 
 install: all
        ${INSTALL} -s boggle ${DESTDIR}/usr/games/boggle
        ${INSTALL} -m 644 bogdict ${DESTDIR}/usr/games/lib/bogdict
 
 boggle: boggle.c
-       cc ${SEPFLAG} -o boggle ${CFLAGS} boggle.c
+       ${CC} ${SEPFLAG} -o boggle ${CFLAGS} boggle.c
 
+# for cross compiling, to access the host compiler we use cc not ${CC}
 comp: comp.c
-       cc ${SEPFLAG} -o comp ${CFLAGS} comp.c
+#      ${CC} ${SEPFLAG} -o comp ${CFLAGS} comp.c
+       cc -o comp comp.c
 
 clean:
        rm -f bogdict boggle comp *.o
index 874f0a2..453f9b1 100644 (file)
@@ -4,23 +4,24 @@
  * specifies the terms and conditions for redistribution.
  */
 
-#ifndef lint
+#if defined(DOCOPYRIGHT) && !defined(lint)
 char copyright[] =
 "@(#) Copyright (c) 1980 Regents of the University of California.\n\
  All rights reserved.\n";
-#endif not lint
+#endif
 
-#ifndef lint
+#if defined(DOSCCS) && !defined(lint)
 static char sccsid[] = "@(#)comp.c     5.1 (Berkeley) 5/30/85";
-#endif not lint
+#endif
 
 #include <stdio.h>
+#include <stdlib.h>
+
 #define MAX ' '
 
 char new[MAX], old[MAX];
 
-main ()
-{
+int main() {
        register int i, j;
        old[0] = '\0';
        while (fgets(&new[0], MAX, stdin) != NULL) {
diff --git a/games/boggle/o.sh b/games/boggle/o.sh
new file mode 100755 (executable)
index 0000000..52ff3ea
--- /dev/null
@@ -0,0 +1,7 @@
+#!/bin/sh
+ROOT="`pwd |sed -e 's/\/games\/boggle$//'`"
+CC="$ROOT/cross/bin/cc"
+INSTALL="$ROOT/install.sh --strip-program=\"$ROOT/cross/bin/strip\""
+mkdir --parents "$ROOT/stage/lib"
+make CC="$CC" STAGEDIR="$ROOT/stage" && \
+make INSTALL="$INSTALL" DESTDIR="$ROOT/stage" install
index 9045be9..c1020c2 100644 (file)
@@ -6,7 +6,7 @@ CFLAGS= -O
 SEPFLAG= -i
 
 btlgammon: btlgammon.c
-       cc ${SEPFLAG} ${CFLAGS} -o btlgammon btlgammon.c
+       ${CC} ${SEPFLAG} ${CFLAGS} -o btlgammon btlgammon.c
 
 install: btlgammon backrules
        ${INSTALL} -s btlgammon ${DESTDIR}/usr/games/btlgammon
index 8863f1d..0b6d7ad 100644 (file)
@@ -14,18 +14,26 @@ TDEV=               -Pver
 TROFF=         ditroff $(TDEV)
 DESTDIR=
 
-all: fortune strfile unstr fortunes.dat
+#all: fortune strfile unstr fortunes.dat
+all: fortune fortunes.dat
 
 fortune: fortune.o rnd.o
        $(CC) ${SEPFLAG} $(CFLAGS) -o fortune fortune.o rnd.o
 
-strfile: strfile.o rnd.o
-       $(CC) ${SEPFLAG} $(CFLAGS) -o strfile strfile.o rnd.o
+# for cross compiling, to access the host compiler we use cc not ${CC}
+#strfile: strfile.o rnd.o
+#      $(CC) ${SEPFLAG} $(CFLAGS) -o strfile strfile.o rnd.o
+strfile: strfile.c rnd.c strfile.h
+       cc -o strfile strfile.c rnd.c
 
-unstr: unstr.o
-       $(CC) ${SEPFLAG} $(CFLAGS) -o unstr unstr.o
+# for cross compiling, to access the host compiler we use cc not ${CC}
+#unstr: unstr.o
+#      $(CC) ${SEPFLAG} $(CFLAGS) -o unstr unstr.o
+unstr: unstr.c strfile.h
+       cc -o unstr unstr.c
 
-fortune.o strfile.o unstr.o: strfile.h
+#fortune.o strfile.o unstr.o: strfile.h
+fortune.o: strfile.h
 
 fortunes.dat: fortunes strfile
        ./strfile $(SFLAGS) fortunes
diff --git a/games/fortune/krcompat.h b/games/fortune/krcompat.h
new file mode 100644 (file)
index 0000000..b5c0b7d
--- /dev/null
@@ -0,0 +1,21 @@
+#ifndef _KRCOMPAT_H
+#define _KRCOMPAT_H 1
+
+#undef PARAMS
+#ifdef __STDC__
+#include <stdarg.h>
+#define VA_START(ap, arg) va_start(ap, arg)
+#define PARAMS(args) args
+#else
+#include <varargs.h>
+#define VA_START(ap, arg) va_start(ap)
+#define PARAMS(args) ()
+#endif
+
+#ifdef __GNUC__
+#define NORETURN __attribute__ ((noreturn))
+#else
+#define NORETURN
+#endif
+
+#endif
diff --git a/games/fortune/o.sh b/games/fortune/o.sh
new file mode 100755 (executable)
index 0000000..bb61b75
--- /dev/null
@@ -0,0 +1,8 @@
+#!/bin/sh
+ROOT="`pwd |sed -e 's/\/games\/fortune$//'`"
+CC="$ROOT/cross/bin/cc"
+INSTALL="$ROOT/install.sh --strip-program=\"$ROOT/cross/bin/strip\""
+MANROFF="nroff -man"
+mkdir --parents "$ROOT/stage/lib"
+make CC="$CC" MANROFF="$MANROFF" && \
+make INSTALL="$INSTALL" DESTDIR="$ROOT/stage" install
index 946b460..2b3f45e 100644 (file)
@@ -2,13 +2,13 @@
  * code for when the good (berkeley) random number generator is around
  */
 
-rnd(num)
-{
+#include <stdlib.h>
+
+int rnd(num) int num; {
        return (random() % num);
 }
 
-srnd(num)
-{
+void srnd(num) int num; {
        srandom(num);
 }
 
@@ -362,4 +362,4 @@ random()
        return( i );
 }
 
-#endif NO_RANDOM
+#endif /* NO_RANDOM */
index 00ce2aa..9b814c7 100644 (file)
@@ -1,6 +1,11 @@
-# include      <stdio.h>
-# include      <ctype.h>
-# include      "strfile.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <ctype.h>
+#include <unistd.h>
+#include "strfile.h"
+#include "krcompat.h"
 
 /*
  *     This program takes a file composed of strings seperated by
@@ -71,14 +76,17 @@ STRFILE     Tbl;                            /* statistics table */
 
 STR    *Firstch;                       /* first chars of each string */
 
-char   *fgets(), *malloc(), *strcpy(), *strcat();
-
-long   ftell();
-
-main(ac, av)
-int    ac;
-char   **av;
-{
+/* rnd.c */
+int rnd PARAMS((int num));
+void srnd PARAMS((int num));
+/* strfile.c */
+int main PARAMS((int ac, char **av));
+int getargs PARAMS((register int ac, register char **av));
+int do_order PARAMS((long *seekpts, FILE *outf));
+int cmp_str PARAMS((STR *p1, STR *p2));
+int randomize PARAMS((register long *seekpts));
+
+int main(ac, av) int ac; char **av; {
        register char           *sp, dc;
        register long           *lp;
        register unsigned int   curseek;        /* number of strings */
@@ -210,10 +218,7 @@ char       **av;
 /*
  *     This routine evaluates arguments from the command line
  */
-getargs(ac, av)
-register int   ac;
-register char  **av;
-{
+int getargs(ac, av) register int ac; register char **av; {
        register char   *sp;
        register int    i;
        register int    bad, j;
@@ -283,20 +288,16 @@ register char     **av;
  * do_order:
  *     Order the strings alphabetically (possibly ignoring case).
  */
-do_order(seekpts, outf)
-long   *seekpts;
-FILE   *outf;
-{
+int do_order(seekpts, outf) long *seekpts; FILE *outf; {
        register int    i;
        register long   *lp;
        register STR    *fp;
-       extern int      cmp_str();
 
        (void) fflush(outf);
        Sort_1 = fopen(Outfile, "r");
        Sort_2 = fopen(Outfile, "r");
        Seekpts = seekpts;
-       qsort((char *) Firstch, Tbl.str_numstr, sizeof *Firstch, cmp_str);
+       qsort((char *) Firstch, Tbl.str_numstr, sizeof *Firstch, (int (*) PARAMS((const void *, const void *)))cmp_str);
        i = Tbl.str_numstr;
        lp = seekpts;
        fp = Firstch;
@@ -311,9 +312,7 @@ FILE        *outf;
  * cmp_str:
  *     Compare two strings in the file
  */
-cmp_str(p1, p2)
-STR    *p1, *p2;
-{
+int cmp_str(p1, p2) STR *p1; STR *p2; {
        register int    c1, c2;
 
        c1 = p1->first;
@@ -350,9 +349,7 @@ STR *p1, *p2;
  *     not to randomize across delimiter boundaries.  All
  *     randomization is done within each block.
  */
-randomize(seekpts)
-register long  *seekpts;
-{
+int randomize(seekpts) register long *seekpts; {
        register int    cnt, i, j, start;
        register long   tmp;
        register long   *origsp;
index 6400c63..f8efc43 100644 (file)
@@ -1,4 +1,5 @@
 INSTALL=install
+XSTR=xstr
 #      #(@)    Makefile        1.2 (2.11BSD)   1997/4/28
 #
 # Hack Overlay Makefile.
@@ -95,7 +96,7 @@ OV5 = hack.save.o hack.lev.o hack.mklev.o hack.mkshop.o hack.mkmaze.o\
 # Crypt *MUST be listed BEFORE $(HOBJ)
 $(GAME): crypt $(HOBJ)
        @echo "Loading ..."
-       @ld -i -X -x -o $(GAME) /lib/crt0.o $(BASE)\
+       @${LD} -i -X -x -o $(GAME) ${STAGEDIR}/lib/crt0.o $(BASE)\
          -Z $(OV1)  -Z $(OV2)  -Z $(OV3)  -Z $(OV4) -Z $(OV5) -Y\
          $(TERMLIB) -lc
        @echo "Load complete"
@@ -113,25 +114,27 @@ $(GAME): crypt $(HOBJ)
 # Crypt is really crufty and slow, but the goal was to get something out the
 # door ...
 .c.o:
-       cc -E $*.c | ./crypt | xstr -c -
-       cc -c ${CFLAGS} x.c
+       ${CC} -E $*.c | ./crypt | ${XSTR} -c -
+       ${CC} -c ${CFLAGS} x.c
        mv x.o $*.o
 
 rnd.o:         rnd.c
 alloc.o:       alloc.c
 
 strings.o:     strings
-       xstr
-       cc -c ${CFLAGS} xs.c
+       ${XSTR}
+       ${CC} -c ${CFLAGS} xs.c
        mv xs.o strings.o
        rm xs.c
 
+# for cross compiling, to access the host compiler we use cc not ${CC}
 crypt: crypt.c
        cc -o crypt crypt.c
 
 clean:
        rm -f *.o x.c xs.c strings crypt makedefs
 
+# for cross compiling, to access the host compiler we use cc not ${CC}
 makedefs:      makedefs.c
        cc -o makedefs makedefs.c
 
@@ -165,8 +168,9 @@ install: $(GAME)
        ${INSTALL} -o $(GAMEUID) -m 4711 $(GAME) $(DESTDIR)$(BINDIR)/$(GAME)
        -rm -rf $(DESTDIR)/$(LIBDIR)
        -mkdir -p ${DESTDIR}/${LIBDIR}
-       chown daemon ${DESTDIR}/${LIBDIR}
-       chmod 700 ${DESTDIR}/${LIBDIR}
+# Nick, need to fix this up for savegame-ey type stuff
+#      chown daemon ${DESTDIR}/${LIBDIR}
+#      chmod 700 ${DESTDIR}/${LIBDIR}
 
 #   The make node `depend' has been commented out as the current dependency
 # list is [now] not as simple as it used to be ...  The reason for this is
@@ -213,47 +217,47 @@ install: $(GAME)
 # DO NOT DELETE THIS LINE
 
 hack.Decl.o:  hack.h def.mkroom.h
-       cc -E hack.Decl.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c
-       cc -c ${CFLAGS} x.c
+       ${CC} -E hack.Decl.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c
+       ${CC} -c ${CFLAGS} x.c
        mv x.o hack.Decl.o
 hack.apply.o:  hack.h def.edog.h def.mkroom.h
 hack.bones.o:  hack.h
-       cc -E hack.bones.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c
-       cc -c ${CFLAGS} x.c
+       ${CC} -E hack.bones.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c
+       ${CC} -c ${CFLAGS} x.c
        mv x.o hack.bones.o
 hack.o:  hack.h
 hack.cmd.o:  hack.h def.func_tab.h
-       cc -E hack.cmd.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c
-       cc -c ${CFLAGS} x.c
+       ${CC} -E hack.cmd.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c
+       ${CC} -c ${CFLAGS} x.c
        mv x.o hack.cmd.o
 hack.do.o:  hack.h
 hack.do_name.o:  hack.h
 hack.do_wear.o:  hack.h
 hack.dog.o:  hack.h hack.mfndpos.h def.edog.h def.mkroom.h
 hack.eat.o:  hack.h
-       cc -E hack.eat.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c
-       cc -c ${CFLAGS} x.c
+       ${CC} -E hack.eat.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c
+       ${CC} -c ${CFLAGS} x.c
        mv x.o hack.eat.o
 hack.end.o:  hack.h
 hack.engrave.o:  hack.h
 hack.fight.o:  hack.h
-       cc -E hack.fight.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c
-       cc -c ${CFLAGS} x.c
+       ${CC} -E hack.fight.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c
+       ${CC} -c ${CFLAGS} x.c
        mv x.o hack.fight.o
 hack.invent.o:  hack.h def.wseg.h
 hack.ioctl.o:  config.h
 hack.lev.o:  hack.h def.mkroom.h def.wseg.h
 hack.main.o:  hack.h
-       cc -E hack.main.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c
-       cc -c ${CFLAGS} x.c
+       ${CC} -E hack.main.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c
+       ${CC} -c ${CFLAGS} x.c
        mv x.o hack.main.o
 hack.makemon.o:  hack.h
 hack.mhitu.o:  hack.h
 hack.mklev.o:  hack.h def.mkroom.h
 hack.mkmaze.o:  hack.h def.mkroom.h
 hack.mkobj.o:  hack.h
-       cc -E hack.mkobj.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c
-       cc -c ${CFLAGS} x.c
+       ${CC} -E hack.mkobj.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c
+       ${CC} -c ${CFLAGS} x.c
        mv x.o hack.mkobj.o
 hack.mkshop.o:  hack.h def.mkroom.h def.eshk.h
 hack.mon.o:  hack.h hack.mfndpos.h
@@ -266,8 +270,8 @@ hack.potion.o:  hack.h
 hack.pri.o:  hack.h def.wseg.h
 hack.read.o:  hack.h
 hack.rip.o:  hack.h
-       cc -E hack.rip.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c
-       cc -c ${CFLAGS} x.c
+       ${CC} -E hack.rip.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c
+       ${CC} -c ${CFLAGS} x.c
        mv x.o hack.rip.o
 hack.rumors.o:  config.h
 hack.save.o:  hack.h
@@ -280,8 +284,8 @@ hack.timeout.o:  hack.h
 hack.topl.o:  hack.h
 hack.track.o:  hack.h
 hack.trap.o:  hack.h def.mkroom.h
-       cc -E hack.trap.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c
-       cc -c ${CFLAGS} x.c
+       ${CC} -E hack.trap.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c
+       ${CC} -c ${CFLAGS} x.c
        mv x.o hack.trap.o
 hack.tty.o:  hack.h
 hack.unix.o:  hack.h def.mkroom.h
@@ -289,15 +293,15 @@ hack.u_init.o:  hack.h
 hack.vault.o:  hack.h def.mkroom.h
 hack.wield.o:  hack.h
 hack.wizard.o:  hack.h
-       cc -E hack.wizard.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c
-       cc -c ${CFLAGS} x.c
+       ${CC} -E hack.wizard.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c
+       ${CC} -c ${CFLAGS} x.c
        mv x.o hack.wizard.o
 hack.worm.o:  hack.h def.wseg.h
 hack.worn.o:  hack.h
 hack.zap.o:  hack.h
 hack.version.o:  date.h
-       cc -E hack.version.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c
-       cc -c ${CFLAGS} x.c
+       ${CC} -E hack.version.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c
+       ${CC} -c ${CFLAGS} x.c
        mv x.o hack.version.o
 hack.h:  config.h def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h def.flag.h def.rm.h def.permonst.h hack.onames.h
                        touch hack.h
diff --git a/games/hack/krcompat.h b/games/hack/krcompat.h
new file mode 100644 (file)
index 0000000..b5c0b7d
--- /dev/null
@@ -0,0 +1,21 @@
+#ifndef _KRCOMPAT_H
+#define _KRCOMPAT_H 1
+
+#undef PARAMS
+#ifdef __STDC__
+#include <stdarg.h>
+#define VA_START(ap, arg) va_start(ap, arg)
+#define PARAMS(args) args
+#else
+#include <varargs.h>
+#define VA_START(ap, arg) va_start(ap)
+#define PARAMS(args) ()
+#endif
+
+#ifdef __GNUC__
+#define NORETURN __attribute__ ((noreturn))
+#else
+#define NORETURN
+#endif
+
+#endif
index 97f76e9..44f12e4 100644 (file)
@@ -1,6 +1,13 @@
 /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
 /* makedefs.c - version 1.0.2 */
 
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include "krcompat.h"
+
 /* construct definitions of object constants */
 #define        DEF_FILE        "def.objects.h"
 #define        LINSZ   1000
@@ -9,7 +16,16 @@
 int fd;
 char string[STRSZ];
 
-main(){
+int main PARAMS((void));
+void readline PARAMS((void));
+int nextchar PARAMS((void));
+int skipuntil PARAMS((char *s));
+int getentry PARAMS((void));
+void capitalize PARAMS((register char *sp));
+int letter PARAMS((register int ch));
+int digit PARAMS((register int ch));
+
+int main() {
 register int index = 0;
 register int propct = 0;
 register char *sp;
@@ -50,7 +66,7 @@ register char *sp;
 char line[LINSZ], *lp = line, *lp0 = line, *lpe = line;
 int eof;
 
-readline(){
+void readline() {
 register int n = read(fd, lp0, (line+LINSZ)-lp0);
        if(n < 0){
                printf("Input error.\n");
@@ -60,8 +76,7 @@ register int n = read(fd, lp0, (line+LINSZ)-lp0);
        lpe = lp0+n;
 }
 
-char
-nextchar(){
+int nextchar() {
        if(lp == lpe){
                readline();
                lp = lp0;
@@ -69,7 +84,7 @@ nextchar(){
        return((lp == lpe) ? 0 : *lp++);
 }
 
-skipuntil(s) char *s; {
+int skipuntil(s) char *s; {
 register char *sp0, *sp1;
 loop:
        while(*s != nextchar())
@@ -101,7 +116,7 @@ loop:
        goto loop;
 }
 
-getentry(){
+int getentry() {
 int inbraces = 0, inparens = 0, stringseen = 0, commaseen = 0;
 int prefix = 0;
 char ch;
@@ -203,15 +218,15 @@ char identif[NSZ], *ip;
        }
 }
 
-capitalize(sp) register char *sp; {
+void capitalize(sp) register char *sp; {
        if('a' <= *sp && *sp <= 'z') *sp += 'A'-'a';
 }
 
-letter(ch) register char ch; {
+int letter(ch) register int ch; {
        return( ('a' <= ch && ch <= 'z') ||
                ('A' <= ch && ch <= 'Z') );
 }
 
-digit(ch) register char ch; {
+int digit(ch) register int ch; {
        return( '0' <= ch && ch <= '9' );
 }
diff --git a/games/hack/o.sh b/games/hack/o.sh
new file mode 100755 (executable)
index 0000000..4cc0fc7
--- /dev/null
@@ -0,0 +1,10 @@
+#!/bin/sh
+ROOT="`pwd |sed -e 's/\/games\/hack$//'`"
+CC="$ROOT/cross/bin/cc"
+INSTALL="$ROOT/install.sh --strip-program=\"$ROOT/cross/bin/strip\""
+LD="$ROOT/cross/bin/ld"
+MANROFF="nroff -man"
+XSTR="$ROOT/cross/usr/ucb/xstr"
+mkdir --parents "$ROOT/stage/lib"
+make CC="$CC" LD="$LD" MANROFF="$MANROFF" XSTR="$XSTR" STAGEDIR="$ROOT/stage" && \
+make INSTALL="$INSTALL" DESTDIR="$ROOT/stage" install
index 54ab8f3..75d43d3 100644 (file)
@@ -70,8 +70,10 @@ ctags:
 cards.pck: initdeck cards.inp
        ./initdeck
 
+# for cross compiling, to access the host compiler we use cc not ${CC}
 initdeck: initdeck.c deck.h
-       ${CC} -o initdeck ${CFLAGS} initdeck.c ${LIB}
+#      ${CC} -o initdeck ${CFLAGS} initdeck.c ${LIB}
+       cc -o initdeck initdeck.c
 
 monop.tar:
        tar crvf monop.tar ${CFILES} ${DATFILES} ${HEADERS} :rofix Makefile cards.inp initdeck.c monop.def monop.ext
index d0c7a3c..d8826f2 100644 (file)
@@ -1,5 +1,7 @@
-# include      <stdio.h>
-# include      "deck.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include "deck.h"
+#include "krcompat.h"
 
 /*
  *     This program initializes the card files for monopoly.
 char   *infile         = "cards.inp",          /* input file           */
        *outfile        = "cards.pck";          /* "packed" file        */
 
-long   ftell();
-
 DECK   deck[2];
 
 FILE   *inf, *outf;
 
-main(ac, av)
-int    ac;
-char   *av[]; {
+int main PARAMS((int ac, char *av[]));
+void getargs PARAMS((int ac, char *av[]));
+void count PARAMS((void));
+void putem PARAMS((void));
 
+int main(ac, av) int ac; char *av[]; {
        getargs(ac, av);
        if ((inf = fopen(infile, "r")) == NULL) {
                perror(infile);
@@ -63,21 +65,18 @@ char        *av[]; {
        exit(0);
 }
 
-getargs(ac, av)
-int    ac;
-char   *av[]; {
-
+void getargs(ac, av) int ac; char *av[]; {
        if (ac > 2) {
                infile = av[2] ? av[2] : infile;
                if (ac > 3)
                        outfile = av[3];
        }
 }
+
 /*
  * count the cards
  */
-count() {
-
+void count() {
        reg bool        newline;
        reg DECK        *in_deck;
        reg char        c;
@@ -95,11 +94,11 @@ count() {
                        newline = (c == '\n');
        in_deck->num_cards++;
 }
+
 /*
  *     put strings in the file
  */
-putem() {
-
+void putem() {
        reg bool        newline;
        reg DECK        *in_deck;
        reg char        c;
diff --git a/games/monop/krcompat.h b/games/monop/krcompat.h
new file mode 100644 (file)
index 0000000..b5c0b7d
--- /dev/null
@@ -0,0 +1,21 @@
+#ifndef _KRCOMPAT_H
+#define _KRCOMPAT_H 1
+
+#undef PARAMS
+#ifdef __STDC__
+#include <stdarg.h>
+#define VA_START(ap, arg) va_start(ap, arg)
+#define PARAMS(args) args
+#else
+#include <varargs.h>
+#define VA_START(ap, arg) va_start(ap)
+#define PARAMS(args) ()
+#endif
+
+#ifdef __GNUC__
+#define NORETURN __attribute__ ((noreturn))
+#else
+#define NORETURN
+#endif
+
+#endif
diff --git a/games/monop/o.sh b/games/monop/o.sh
new file mode 100755 (executable)
index 0000000..7c052c0
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/sh
+ROOT="`pwd |sed -e 's/\/games\/monop$//'`"
+CC="$ROOT/cross/bin/cc"
+INSTALL="$ROOT/install.sh --strip-program=\"$ROOT/cross/bin/strip\""
+MANROFF="nroff -man"
+XSTR="$ROOT/cross/usr/ucb/xstr"
+mkdir --parents "$ROOT/stage/lib"
+make CC="$CC" MANROFF="$MANROFF" XSTR="$XSTR" STAGEDIR="$ROOT/stage" && \
+make INSTALL="$INSTALL" DESTDIR="$ROOT/stage" install
index e69de29..ca15f1d 100644 (file)
Binary files a/games/monop/strings and b/games/monop/strings differ
index 915d033..ff3abf0 100644 (file)
@@ -1,3 +1,4 @@
+LD=ld
 INSTALL=install
 #
 # Copyright (c) 1980 Regents of the University of California.
@@ -17,29 +18,29 @@ SEPFLAG=
 
 # Programs that live in subdirectories, and have makefiles of their own.
 #
-SUBDIR=        chess zork
+YYYSUBDIR=     chess zork
 
 # Assembly programs that live in the current directory and need explicit
 # make lines.
 #
 NSTD=  bj factor moo primes ttt
 
-all:   ${SUBDIR} ${NSTD}
+all:   ${YYYSUBDIR} ${NSTD}
 
-${SUBDIR}: FRC
+${YYYSUBDIR}: FRC
        cd $@; make ${MFLAGS} SEPFLAG=${SEPFLAG}
 
 FRC:
 
 install: ${NSTD}
-       -for i in ${SUBDIR}; do \
+       -for i in ${YYYSUBDIR}; do \
                (cd $$i; make ${MFLAGS} DESTDIR=${DESTDIR} install); done
        -for i in ${NSTD}; do \
                (${INSTALL} -s $$i ${DESTDIR}/usr/games/$$i); done
 
 clean:
        rm -f a.out core *.o
-       -for i in ${SUBDIR}; do (cd $$i; make ${MFLAGS} clean); done
+       -for i in ${YYYSUBDIR}; do (cd $$i; make ${MFLAGS} clean); done
        rm -f ${NSTD}
 
 depend:
@@ -47,21 +48,21 @@ depend:
 # Files listed in ${NSTD} have explicit make lines given below.
 
 bj: bj.s etc.s us.s
-       as -o bj.o etc.s bj.s us.s
+       ${AS} -o bj.o etc.s bj.s us.s
        ${LD} -o $@ bj.o -lc
 
 factor: factor.s
-       as -o factor.o factor.s
+       ${AS} -o factor.o factor.s
        ${LD} -o $@ factor.o -lc
 
 moo: moo.s etc.s
-       as -o moo.o etc.s moo.s
+       ${AS} -o moo.o etc.s moo.s
        ${LD} -o $@ moo.o -lc
 
 primes: primes.s
-       as -o primes.o primes.s
+       ${AS} -o primes.o primes.s
        ${LD} -o $@ primes.o -lc
 
 ttt: ttt.s etc.s
-       as -o ttt.o etc.s ttt.s
+       ${AS} -o ttt.o etc.s ttt.s
        ${LD} -o $@ ttt.o -lc
index 141769f..c22cb8a 100644 (file)
@@ -1,3 +1,5 @@
+NM=/bin/nm
+CPP=/lib/cpp
 INSTALL=install
 BINDIR = /usr/games
 LIBDIR = /usr/games/lib
@@ -9,12 +11,12 @@ SEPFLAG= -i
 all:   z zork
 
 z:     z.c
-       cc -O ${SEPFLAG} -o z z.c
+       ${CC} -O ${SEPFLAG} -o z z.c
 
 # All the 1.o stuff is just to do a . = . + 140000
 zork:  1.o o.o 
        ${LD} 1.o 1.o 1.o o.o
-       nm a.out >syms
+       ${NM} a.out >syms
        dd if=a.out of=h bs=16 count=1
        dd if=a.out of=b.out bs=26120 skip=2
        cat h d b.out >zork
@@ -36,4 +38,4 @@ clean:
 o.o:   o.s
 
 .s.o:
-       /lib/cpp -E $< | sed -e 's;^#;/;' | as -o $@
+       ${CPP} -E $< | sed -e 's;^#;/;' | ${AS} -o $@
diff --git a/games/pdp/zork/o.sh b/games/pdp/zork/o.sh
new file mode 100755 (executable)
index 0000000..faebcbb
--- /dev/null
@@ -0,0 +1,12 @@
+#!/bin/sh
+ROOT="`pwd |sed -e 's/\/games\/pdp\/zork$//'`"
+AS="$ROOT/cross/bin/as"
+CC="$ROOT/cross/bin/cc"
+CPP="$ROOT/cross/lib/cpp"
+INSTALL="$ROOT/install.sh --strip-program=\"$ROOT/cross/bin/strip\""
+LD="$ROOT/cross/bin/ld"
+MANROFF="nroff -man"
+NM="$ROOT/cross/bin/nm"
+mkdir --parents "$ROOT/stage/lib"
+make AS="$AS" CC="$CC" CPP="$CPP" LD="$LD" MANROFF="$MANROFF" NM="$NM" && \
+make INSTALL="$INSTALL" DESTDIR="$ROOT/stage" install
index b8a6873..b33e30f 100644 (file)
@@ -6,7 +6,7 @@ CFLAGS= -O
 SEPFLAG= -i
 
 quiz: quiz.c
-       cc ${SEPFLAG} ${CFLAGS} -o quiz quiz.c
+       ${CC} ${SEPFLAG} ${CFLAGS} -o quiz quiz.c
 
 install: quiz quiz.k
        ${INSTALL} -s quiz ${DESTDIR}/usr/games/quiz
index 5b6310d..29833d2 100644 (file)
@@ -20,15 +20,15 @@ SEPFLAG= -i
 all:   ${ALL}
 
 snake: $(OBJS)
-       cc ${SEPFLAG} $(OBJS) -o snake $(LIBS)
+       ${CC} ${SEPFLAG} $(OBJS) -o snake $(LIBS)
 
 snake.o move.o:snake.h
 
 snscore: snscore.c
-       cc ${SEPFLAG} $(CFLAGS) snscore.c -o snscore
+       ${CC} ${SEPFLAG} $(CFLAGS) snscore.c -o snscore
 
 busy:  busy.c
-       cc ${SEPFLAG} $(CFLAGS) busy.c -o busy
+       ${CC} ${SEPFLAG} $(CFLAGS) busy.c -o busy
 
 install: all
        ${INSTALL} -s -m 4755 -o ${USER} snake ${BIN}/snake
index 984960a..5ce61e3 100644 (file)
@@ -8,7 +8,7 @@ INSTALL=install
 #
 DESTDIR=
 CFLAGS=        -O
-LFLAGS=        
+LDFLAGS=       
 SEPFLAG= -i
 SRCS=  abandon.c attack.c autover.c capture.c check_out.c checkcond.c \
        compkl.c computer.c damage.c damaged.c dcrept.c destruct.c \
@@ -29,7 +29,7 @@ OBJS= abandon.o attack.o autover.o capture.o check_out.o checkcond.o \
 HDRS=  getpar.h trek.h
 
 trek:  ${OBJS} ${HDRS}
-       cc ${SEPFLAG} ${LFLAGS} -o trek ${OBJS} -lm
+       ${CC} ${SEPFLAG} ${LDFLAGS} -o trek ${OBJS} -lm
 
 ${OBJS}:
        ${CC} ${CFLAGS} -c $*.c
@@ -118,12 +118,14 @@ klmove.o: klmove.c
 klmove.o: trek.h
 lose.o: lose.c
 lose.o: trek.h
+lose.o: /usr/include/setjmp.h
 lrscan.o: lrscan.c
 lrscan.o: trek.h
 main.o: main.c
 main.o: trek.h
 main.o: /usr/include/stdio.h
 main.o: /usr/include/sgtty.h
+main.o: /usr/include/setjmp.h
 move.o: move.c
 move.o: trek.h
 nova.o: nova.c
@@ -136,6 +138,7 @@ phaser.o: getpar.h
 play.o: play.c
 play.o: trek.h
 play.o: getpar.h
+play.o: /usr/include/setjmp.h
 ram.o: ram.c
 ram.o: trek.h
 ranf.o: ranf.c
@@ -176,6 +179,7 @@ warp.o: trek.h
 win.o: win.c
 win.o: trek.h
 win.o: getpar.h
+win.o: /usr/include/setjmp.h
 cgetc.o: cgetc.c
 cgetc.o: /usr/include/stdio.h
 # DEPENDENCIES MUST END AT END OF FILE
index b7131e3..29a89f1 100644 (file)
@@ -13,7 +13,8 @@ MANROFF=/usr/man/manroff
 #
 CC = cc
 bin = /usr/games
-mansrc = /tmp
+# Nick has disabled all this crud:
+#mansrc = /tmp
 CFLAGS = -O -O
 LDFLAGS = 
 CHOWNER = bin
@@ -21,14 +22,17 @@ privlib = /usr/games/lib/warp
 NDIRC = 
 NDIRO = 
 LARGE =  -i
-SMALL = 
+# Nick has disabled all this crud:
+#SMALL = 
 
-libs =  -ltermlib  /usr/lib/libtermlib.a -lm
+#libs =  -ltermlib  /usr/lib/libtermlib.a -lm
+libs = -ltermlib -lm
 
 public = warp
 private = warp.doc smap.0 smap.1 smap.2 smap.3 smap.4 smap.5 smap.6 smap.7
-manpages = warp.man
-util = Makefile makedepend makedir smap.0 smap.1 smap.2 smap.3 smap.4 smap.5 smap.6 smap.7
+# Nick has disabled all this crud:
+#manpages = warp.man
+#util = Makefile makedepend makedir smap.0 smap.1 smap.2 smap.3 smap.4 smap.5 smap.6 smap.7
 
 sh = Makefile.SH makedepend.SH makedir.SH
 
@@ -55,26 +59,29 @@ obj = $(obj1) $(obj2) $(obj3) $(obj4) $(NDIRO)
 
 lintflags = -phbvxac
 
-add1 = Makefile.old 
-add2 = bsd config.h config.sh eunice filexp
-add3 = loc makedepend 
-add4 = 
-add5 = pdp11 warp usg v7
-
-addedbyconf = $(add1) $(add2) $(add3) $(add4) $(add5)
-
-# grrr
-SHELL = /bin/sh
+# Nick has disabled all this crud:
+#add1 = Makefile.old 
+#add2 = bsd config.h config.sh eunice filexp
+#add3 = loc makedepend 
+#add4 = 
+#add5 = pdp11 warp usg v7
+#
+#addedbyconf = $(add1) $(add2) $(add3) $(add4) $(add5)
+#
+## grrr
+#SHELL = /bin/sh
 
 .c.o:
        $(CC) -c $(CFLAGS) $(LARGE) $*.c
 
-all: $(public) $(private) $(util)
+# Nick has disabled all this crud:
+#all: $(public) $(private) $(util)
+all: $(public) $(private) warp.0
        touch all
 
 warp: $(obj)
 #      $(CC) $(LDFLAGS) $(obj) $(LARGE) $(libs) -o warp
-       ${LD} -X -i /lib/crt0.o $(obj2) $(obj4) init.o intrp.o \
+       ${LD} -X -i ${STAGEDIR}/lib/crt0.o $(obj2) $(obj4) init.o intrp.o \
                -Z sig.o term.o \
                -Z them.o us.o \
                -Z bang.o move.o \
@@ -85,42 +92,54 @@ warp: $(obj)
 $(h):
        touch $@
 
-install: $(public) $(private) $(util)
-# won't work with csh
-       export PATH || exit 1
-       - mv $(bin)/warp $(bin)/warp.old
-       - if test `pwd` != $(bin); then cp $(public) $(bin); fi
-       - cd $(bin); chmod 755 $(public); chown '$(CHOWNER)' $(public)
-       - chmod 4711 $(bin)/warp
-       - chmod 755 makedir
-       - ./makedir `./filexp $(privlib)`
-       - \
-if test `pwd` != `./filexp $(privlib)`; then \
-cp $(private) `./filexp $(privlib)`; \
-fi
-       - \
-cd `./filexp $(privlib)`; \
-chmod 755 $(private); \
-chown '$(CHOWNER)' . $(private); \
-cp /dev/null save.blurfl
-       - \
-if test ! -f `./filexp $(privlib)/warp.news`; then \
-cp warp.news `./filexp $(privlib)`; \
-fi
-       - \
-if test `pwd` != $(mansrc); then \
-for page in $(manpages); do \
-${MANROFF} $$page > $(mansrc)/`basename $$page .man`.0; \
-chown bin.bin $(mansrc)/`basename $$page .man`.0; \
-chmod 444 $(mansrc)/`basename $$page .man`.0; \
-done; \
-fi
+# Nick has disabled all this crud:
+#install: $(public) $(private) $(util)
+## won't work with csh
+#      export PATH || exit 1
+#      - mv $(bin)/warp $(bin)/warp.old
+#      - if test `pwd` != $(bin); then cp $(public) $(bin); fi
+#      - cd $(bin); chmod 755 $(public); chown '$(CHOWNER)' $(public)
+#      - chmod 4711 $(bin)/warp
+#      - chmod 755 makedir
+#      - ./makedir `./filexp $(privlib)`
+#      - \
+#if test `pwd` != `./filexp $(privlib)`; then \
+#cp $(private) `./filexp $(privlib)`; \
+#fi
+#      - \
+#cd `./filexp $(privlib)`; \
+#chmod 755 $(private); \
+#chown '$(CHOWNER)' . $(private); \
+#cp /dev/null save.blurfl
+#      - \
+#if test ! -f `./filexp $(privlib)/warp.news`; then \
+#cp warp.news `./filexp $(privlib)`; \
+#fi
+#      - \
+#if test `pwd` != $(mansrc); then \
+#for page in $(manpages); do \
+#${MANROFF} $$page > $(mansrc)/`basename $$page .man`.0; \
+#chown bin.bin $(mansrc)/`basename $$page .man`.0; \
+#chmod 444 $(mansrc)/`basename $$page .man`.0; \
+#done; \
+#fi
+install: all
+       ${INSTALL} -m 4711 -o ${CHOWNER} warp ${DESTDIR}${bin}
+       ${INSTALL} -m 755 -o ${CHOWNER} ${private} ${DESTDIR}${privlib}
+       touch ${DESTDIR}${privlib}/save.blurfl
+       ${INSTALL} warp.news ${DESTDIR}${privlib}
+# manual was left in /tmp before, so don't bother installing it
+#      ${INSTALL} -c -o bin -g bin -m 444 warp.0 ${DESTDIR}/usr/man/cat0
+
+warp.0: warp.man
+       ${MANROFF} $< >$@
 
 clean:
        rm -f core *.o warp smap.* all sm
 
-realclean:
-       rm -f warp *.o core $(addedbyconf) $(util)
+# Nick has disabled all this crud:
+#realclean:
+#      rm -f warp *.o core $(addedbyconf) $(util)
 
 # The following lint has practically everything turned on.  Unfortunately,
 # you have to wade through a lot of mumbo jumbo that can't be suppressed.
@@ -146,11 +165,16 @@ smap.6: smp.6 sm
        ./sm <smp.6 >smap.6
 smap.7: smp.7 sm
        ./sm <smp.7 >smap.7
+# for cross compiling, to access the host compiler we use cc not ${CC}
 sm: sm.c
-       cc sm.c $(SMALL) -o sm
+#      cc sm.c $(SMALL) -o sm
+       cc sm.c -o sm
 
-depend: makedepend
-       /bin/sh ./makedepend
+# Nick has disabled all this crud:
+#depend: makedepend
+#      /bin/sh ./makedepend
+depend: ${c}
+       ${MKDEP} ${CFLAGS} ${c}
 
 clist:
        echo $(c) | tr ' ' '\012' >.clist
@@ -161,378 +185,223 @@ hlist:
 shlist:
        echo $(sh) | tr ' ' '\012' >.shlist
 
-# AUTOMATICALLY GENERATED MAKE DEPENDENCIES--PUT NOTHING BELOW THIS LINE
-# If this runs make out of memory, delete /usr/include lines.
-bang.o: /usr/include/ctype.h
-bang.o: /usr/include/errno.h
-bang.o: /usr/include/fcntl.h
-bang.o: /usr/include/pwd.h
-bang.o: /usr/include/sgtty.h
-bang.o: /usr/include/signal.h
-bang.o: /usr/include/stdio.h
-bang.o: /usr/include/sys/ioctl.h
-bang.o: /usr/include/sys/stat.h
-bang.o: /usr/include/sys/timeb.h
-bang.o: /usr/include/sys/ttychars.h
-bang.o: /usr/include/sys/ttydev.h
-bang.o: /usr/include/sys/types.h
-bang.o: EXTERN.h
-bang.o: INTERN.h
-bang.o: bang.c
-bang.o: bang.h
-bang.o: config.h
-bang.o: move.h
-bang.o: object.h
-bang.o: sig.h
-bang.o: term.h
-bang.o: them.h
-bang.o: warp.h
-init.o: /usr/include/ctype.h
-init.o: /usr/include/errno.h
-init.o: /usr/include/fcntl.h
-init.o: /usr/include/pwd.h
-init.o: /usr/include/sgtty.h
-init.o: /usr/include/signal.h
-init.o: /usr/include/stdio.h
-init.o: /usr/include/sys/ioctl.h
-init.o: /usr/include/sys/stat.h
-init.o: /usr/include/sys/timeb.h
-init.o: /usr/include/sys/ttychars.h
-init.o: /usr/include/sys/ttydev.h
-init.o: /usr/include/sys/types.h
-init.o: EXTERN.h
-init.o: INTERN.h
-init.o: bang.h
-init.o: config.h
-init.o: init.c
+# DO NOT DELETE THIS LINE -- mkdep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+bang.o: bang.c EXTERN.h warp.h config.h
+bang.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+bang.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+bang.o: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
+bang.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+bang.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+bang.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+bang.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stat.h
+bang.o: /home/nick/src/211bsd.git/stage/usr/include/errno.h
+bang.o: /home/nick/src/211bsd.git/stage/usr/include/sgtty.h
+bang.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+bang.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+bang.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h
+bang.o: /home/nick/src/211bsd.git/stage/usr/include/pwd.h object.h move.h sig.h
+bang.o: term.h them.h INTERN.h bang.h
+init.o: init.c EXTERN.h warp.h config.h
+init.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+init.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+init.o: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
+init.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+init.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+init.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+init.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stat.h
+init.o: /home/nick/src/211bsd.git/stage/usr/include/errno.h
+init.o: /home/nick/src/211bsd.git/stage/usr/include/sgtty.h
+init.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+init.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+init.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h
+init.o: /home/nick/src/211bsd.git/stage/usr/include/pwd.h bang.h object.h
+init.o: move.h play.h score.h term.h them.h us.h util.h weapon.h INTERN.h
 init.o: init.h
-init.o: move.h
-init.o: object.h
-init.o: play.h
-init.o: score.h
-init.o: term.h
-init.o: them.h
-init.o: us.h
-init.o: util.h
-init.o: warp.h
-init.o: weapon.h
-intrp.o: /usr/include/ctype.h
-intrp.o: /usr/include/errno.h
-intrp.o: /usr/include/fcntl.h
-intrp.o: /usr/include/pwd.h
-intrp.o: /usr/include/sgtty.h
-intrp.o: /usr/include/signal.h
-intrp.o: /usr/include/stdio.h
-intrp.o: /usr/include/sys/ioctl.h
-intrp.o: /usr/include/sys/stat.h
-intrp.o: /usr/include/sys/timeb.h
-intrp.o: /usr/include/sys/ttychars.h
-intrp.o: /usr/include/sys/ttydev.h
-intrp.o: /usr/include/sys/types.h
-intrp.o: EXTERN.h
-intrp.o: INTERN.h
-intrp.o: config.h
-intrp.o: intrp.c
-intrp.o: intrp.h
-intrp.o: sig.h
-intrp.o: term.h
-intrp.o: util.h
-intrp.o: warp.h
-move.o: /usr/include/ctype.h
-move.o: /usr/include/errno.h
-move.o: /usr/include/fcntl.h
-move.o: /usr/include/pwd.h
-move.o: /usr/include/sgtty.h
-move.o: /usr/include/signal.h
-move.o: /usr/include/stdio.h
-move.o: /usr/include/sys/ioctl.h
-move.o: /usr/include/sys/stat.h
-move.o: /usr/include/sys/timeb.h
-move.o: /usr/include/sys/ttychars.h
-move.o: /usr/include/sys/ttydev.h
-move.o: /usr/include/sys/types.h
-move.o: EXTERN.h
-move.o: INTERN.h
-move.o: bang.h
-move.o: config.h
-move.o: move.c
+intrp.o: intrp.c EXTERN.h warp.h config.h
+intrp.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+intrp.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+intrp.o: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
+intrp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+intrp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+intrp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+intrp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stat.h
+intrp.o: /home/nick/src/211bsd.git/stage/usr/include/errno.h
+intrp.o: /home/nick/src/211bsd.git/stage/usr/include/sgtty.h
+intrp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+intrp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+intrp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h
+intrp.o: /home/nick/src/211bsd.git/stage/usr/include/pwd.h sig.h util.h term.h
+intrp.o: INTERN.h intrp.h /home/nick/src/211bsd.git/stage/usr/include/unistd.h
+intrp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+move.o: move.c EXTERN.h warp.h config.h
+move.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+move.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+move.o: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
+move.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+move.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+move.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+move.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stat.h
+move.o: /home/nick/src/211bsd.git/stage/usr/include/errno.h
+move.o: /home/nick/src/211bsd.git/stage/usr/include/sgtty.h
+move.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+move.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+move.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h
+move.o: /home/nick/src/211bsd.git/stage/usr/include/pwd.h bang.h object.h
+move.o: move.h play.h score.h term.h them.h us.h util.h weapon.h INTERN.h
 move.o: move.h
-move.o: object.h
-move.o: play.h
-move.o: score.h
-move.o: term.h
-move.o: them.h
-move.o: us.h
-move.o: util.h
-move.o: warp.h
-move.o: weapon.h
-object.o: /usr/include/ctype.h
-object.o: /usr/include/errno.h
-object.o: /usr/include/fcntl.h
-object.o: /usr/include/pwd.h
-object.o: /usr/include/sgtty.h
-object.o: /usr/include/signal.h
-object.o: /usr/include/stdio.h
-object.o: /usr/include/sys/ioctl.h
-object.o: /usr/include/sys/stat.h
-object.o: /usr/include/sys/timeb.h
-object.o: /usr/include/sys/ttychars.h
-object.o: /usr/include/sys/ttydev.h
-object.o: /usr/include/sys/types.h
-object.o: EXTERN.h
-object.o: INTERN.h
-object.o: config.h
-object.o: object.c
-object.o: object.h
-object.o: warp.h
-play.o: /usr/include/ctype.h
-play.o: /usr/include/errno.h
-play.o: /usr/include/fcntl.h
-play.o: /usr/include/pwd.h
-play.o: /usr/include/sgtty.h
-play.o: /usr/include/signal.h
-play.o: /usr/include/stdio.h
-play.o: /usr/include/sys/ioctl.h
-play.o: /usr/include/sys/stat.h
-play.o: /usr/include/sys/timeb.h
-play.o: /usr/include/sys/ttychars.h
-play.o: /usr/include/sys/ttydev.h
-play.o: /usr/include/sys/types.h
-play.o: EXTERN.h
-play.o: INTERN.h
-play.o: bang.h
-play.o: config.h
-play.o: move.h
-play.o: object.h
-play.o: play.c
-play.o: play.h
-play.o: score.h
-play.o: term.h
-play.o: them.h
-play.o: us.h
-play.o: util.h
-play.o: warp.h
-play.o: weapon.h
-score.o: /usr/include/ctype.h
-score.o: /usr/include/errno.h
-score.o: /usr/include/fcntl.h
-score.o: /usr/include/pwd.h
-score.o: /usr/include/sgtty.h
-score.o: /usr/include/signal.h
-score.o: /usr/include/stdio.h
-score.o: /usr/include/sys/ioctl.h
-score.o: /usr/include/sys/stat.h
-score.o: /usr/include/sys/timeb.h
-score.o: /usr/include/sys/ttychars.h
-score.o: /usr/include/sys/ttydev.h
-score.o: /usr/include/sys/types.h
-score.o: EXTERN.h
-score.o: INTERN.h
-score.o: config.h
-score.o: intrp.h
-score.o: object.h
-score.o: play.h
-score.o: score.c
-score.o: score.h
-score.o: sig.h
-score.o: term.h
-score.o: us.h
-score.o: util.h
-score.o: warp.h
-score.o: weapon.h
-sig.o: /usr/include/ctype.h
-sig.o: /usr/include/errno.h
-sig.o: /usr/include/fcntl.h
-sig.o: /usr/include/pwd.h
-sig.o: /usr/include/sgtty.h
-sig.o: /usr/include/signal.h
-sig.o: /usr/include/stdio.h
-sig.o: /usr/include/sys/ioctl.h
-sig.o: /usr/include/sys/stat.h
-sig.o: /usr/include/sys/timeb.h
-sig.o: /usr/include/sys/ttychars.h
-sig.o: /usr/include/sys/ttydev.h
-sig.o: /usr/include/sys/types.h
-sig.o: EXTERN.h
-sig.o: INTERN.h
-sig.o: config.h
-sig.o: play.h
-sig.o: score.h
-sig.o: sig.c
-sig.o: sig.h
-sig.o: term.h
-sig.o: util.h
-sig.o: warp.h
-term.o: /usr/include/ctype.h
-term.o: /usr/include/errno.h
-term.o: /usr/include/fcntl.h
-term.o: /usr/include/pwd.h
-term.o: /usr/include/sgtty.h
-term.o: /usr/include/signal.h
-term.o: /usr/include/stdio.h
-term.o: /usr/include/sys/ioctl.h
-term.o: /usr/include/sys/stat.h
-term.o: /usr/include/sys/timeb.h
-term.o: /usr/include/sys/ttychars.h
-term.o: /usr/include/sys/ttydev.h
-term.o: /usr/include/sys/types.h
-term.o: EXTERN.h
-term.o: INTERN.h
-term.o: bang.h
-term.o: config.h
-term.o: intrp.h
-term.o: object.h
-term.o: play.h
-term.o: score.h
-term.o: sig.h
-term.o: term.c
-term.o: term.h
-term.o: us.h
-term.o: util.h
-term.o: warp.h
-term.o: weapon.h
-them.o: /usr/include/ctype.h
-them.o: /usr/include/errno.h
-them.o: /usr/include/fcntl.h
-them.o: /usr/include/pwd.h
-them.o: /usr/include/sgtty.h
-them.o: /usr/include/signal.h
-them.o: /usr/include/stdio.h
-them.o: /usr/include/sys/ioctl.h
-them.o: /usr/include/sys/stat.h
-them.o: /usr/include/sys/timeb.h
-them.o: /usr/include/sys/ttychars.h
-them.o: /usr/include/sys/ttydev.h
-them.o: /usr/include/sys/types.h
-them.o: EXTERN.h
-them.o: INTERN.h
-them.o: bang.h
-them.o: config.h
-them.o: move.h
-them.o: object.h
-them.o: score.h
-them.o: term.h
-them.o: them.c
-them.o: them.h
-them.o: us.h
-them.o: util.h
-them.o: warp.h
-them.o: weapon.h
-us.o: /usr/include/ctype.h
-us.o: /usr/include/errno.h
-us.o: /usr/include/fcntl.h
-us.o: /usr/include/pwd.h
-us.o: /usr/include/sgtty.h
-us.o: /usr/include/signal.h
-us.o: /usr/include/stdio.h
-us.o: /usr/include/sys/ioctl.h
-us.o: /usr/include/sys/stat.h
-us.o: /usr/include/sys/timeb.h
-us.o: /usr/include/sys/ttychars.h
-us.o: /usr/include/sys/ttydev.h
-us.o: /usr/include/sys/types.h
-us.o: EXTERN.h
-us.o: INTERN.h
-us.o: bang.h
-us.o: config.h
-us.o: object.h
-us.o: play.h
-us.o: sig.h
-us.o: term.h
-us.o: us.c
-us.o: us.h
-us.o: util.h
-us.o: warp.h
-us.o: weapon.h
-util.o: /usr/include/ctype.h
-util.o: /usr/include/errno.h
-util.o: /usr/include/fcntl.h
-util.o: /usr/include/pwd.h
-util.o: /usr/include/sgtty.h
-util.o: /usr/include/signal.h
-util.o: /usr/include/stdio.h
-util.o: /usr/include/sys/dir.h
-util.o: /usr/include/sys/ioctl.h
-util.o: /usr/include/sys/stat.h
-util.o: /usr/include/sys/timeb.h
-util.o: /usr/include/sys/ttychars.h
-util.o: /usr/include/sys/ttydev.h
-util.o: /usr/include/sys/types.h
-util.o: EXTERN.h
-util.o: INTERN.h
-util.o: config.h
-util.o: ndir.h
-util.o: object.h
-util.o: sig.h
-util.o: term.h
-util.o: util.c
-util.o: util.h
-util.o: warp.h
-version.o: INTERN.h
-version.o: patchlevel.h
-version.o: version.c
-version.o: version.h
-warp.o: /usr/include/ctype.h
-warp.o: /usr/include/errno.h
-warp.o: /usr/include/fcntl.h
-warp.o: /usr/include/pwd.h
-warp.o: /usr/include/sgtty.h
-warp.o: /usr/include/signal.h
-warp.o: /usr/include/stdio.h
-warp.o: /usr/include/sys/ioctl.h
-warp.o: /usr/include/sys/stat.h
-warp.o: /usr/include/sys/timeb.h
-warp.o: /usr/include/sys/ttychars.h
-warp.o: /usr/include/sys/ttydev.h
-warp.o: /usr/include/sys/types.h
-warp.o: EXTERN.h
-warp.o: INTERN.h
-warp.o: bang.h
-warp.o: config.h
-warp.o: init.h
-warp.o: intrp.h
-warp.o: move.h
-warp.o: object.h
-warp.o: play.h
-warp.o: score.h
-warp.o: sig.h
-warp.o: term.h
-warp.o: them.h
-warp.o: us.h
-warp.o: util.h
-warp.o: version.h
-warp.o: warp.c
-warp.o: warp.h
-warp.o: weapon.h
-weapon.o: /usr/include/ctype.h
-weapon.o: /usr/include/errno.h
-weapon.o: /usr/include/fcntl.h
-weapon.o: /usr/include/pwd.h
-weapon.o: /usr/include/sgtty.h
-weapon.o: /usr/include/signal.h
-weapon.o: /usr/include/stdio.h
-weapon.o: /usr/include/sys/ioctl.h
-weapon.o: /usr/include/sys/stat.h
-weapon.o: /usr/include/sys/timeb.h
-weapon.o: /usr/include/sys/ttychars.h
-weapon.o: /usr/include/sys/ttydev.h
-weapon.o: /usr/include/sys/types.h
-weapon.o: EXTERN.h
-weapon.o: INTERN.h
-weapon.o: bang.h
-weapon.o: config.h
-weapon.o: move.h
-weapon.o: object.h
-weapon.o: score.h
-weapon.o: sig.h
-weapon.o: term.h
-weapon.o: them.h
-weapon.o: us.h
-weapon.o: util.h
-weapon.o: warp.h
-weapon.o: weapon.c
-weapon.o: weapon.h
-Makefile: Makefile.SH config.sh ; /bin/sh Makefile.SH
-makedepend: makedepend.SH config.sh ; /bin/sh makedepend.SH
-makedir: makedir.SH config.sh ; /bin/sh makedir.SH
-# WARNING: Put nothing here or make depend will gobble it up!
+object.o: object.c EXTERN.h warp.h config.h
+object.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+object.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+object.o: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
+object.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+object.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+object.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+object.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stat.h
+object.o: /home/nick/src/211bsd.git/stage/usr/include/errno.h
+object.o: /home/nick/src/211bsd.git/stage/usr/include/sgtty.h
+object.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+object.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+object.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h
+object.o: /home/nick/src/211bsd.git/stage/usr/include/pwd.h INTERN.h object.h
+play.o: play.c EXTERN.h warp.h config.h
+play.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+play.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+play.o: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
+play.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+play.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+play.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+play.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stat.h
+play.o: /home/nick/src/211bsd.git/stage/usr/include/errno.h
+play.o: /home/nick/src/211bsd.git/stage/usr/include/sgtty.h
+play.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+play.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+play.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h
+play.o: /home/nick/src/211bsd.git/stage/usr/include/pwd.h bang.h score.h
+play.o: object.h move.h term.h them.h us.h util.h weapon.h INTERN.h play.h
+score.o: score.c EXTERN.h warp.h config.h
+score.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+score.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+score.o: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
+score.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+score.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+score.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+score.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stat.h
+score.o: /home/nick/src/211bsd.git/stage/usr/include/errno.h
+score.o: /home/nick/src/211bsd.git/stage/usr/include/sgtty.h
+score.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+score.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+score.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h
+score.o: /home/nick/src/211bsd.git/stage/usr/include/pwd.h intrp.h object.h
+score.o: play.h sig.h term.h us.h util.h weapon.h INTERN.h score.h
+sig.o: sig.c EXTERN.h warp.h config.h
+sig.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+sig.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+sig.o: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
+sig.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+sig.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+sig.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+sig.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stat.h
+sig.o: /home/nick/src/211bsd.git/stage/usr/include/errno.h
+sig.o: /home/nick/src/211bsd.git/stage/usr/include/sgtty.h
+sig.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+sig.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+sig.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h
+sig.o: /home/nick/src/211bsd.git/stage/usr/include/pwd.h play.h score.h term.h
+sig.o: util.h INTERN.h sig.h
+term.o: term.c EXTERN.h warp.h config.h
+term.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+term.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+term.o: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
+term.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+term.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+term.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+term.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stat.h
+term.o: /home/nick/src/211bsd.git/stage/usr/include/errno.h
+term.o: /home/nick/src/211bsd.git/stage/usr/include/sgtty.h
+term.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+term.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+term.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h
+term.o: /home/nick/src/211bsd.git/stage/usr/include/pwd.h bang.h intrp.h
+term.o: object.h play.h score.h sig.h us.h util.h weapon.h INTERN.h term.h
+them.o: them.c EXTERN.h warp.h config.h
+them.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+them.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+them.o: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
+them.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+them.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+them.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+them.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stat.h
+them.o: /home/nick/src/211bsd.git/stage/usr/include/errno.h
+them.o: /home/nick/src/211bsd.git/stage/usr/include/sgtty.h
+them.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+them.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+them.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h
+them.o: /home/nick/src/211bsd.git/stage/usr/include/pwd.h bang.h object.h
+them.o: move.h score.h term.h us.h util.h weapon.h INTERN.h them.h
+us.o: us.c EXTERN.h warp.h config.h
+us.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+us.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+us.o: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
+us.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+us.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+us.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+us.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stat.h
+us.o: /home/nick/src/211bsd.git/stage/usr/include/errno.h
+us.o: /home/nick/src/211bsd.git/stage/usr/include/sgtty.h
+us.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+us.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+us.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h
+us.o: /home/nick/src/211bsd.git/stage/usr/include/pwd.h bang.h object.h play.h
+us.o: sig.h term.h util.h weapon.h INTERN.h us.h
+util.o: util.c EXTERN.h warp.h config.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stat.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/errno.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/sgtty.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/pwd.h ndir.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/sys/dir.h object.h sig.h
+util.o: term.h INTERN.h util.h
+version.o: version.c patchlevel.h INTERN.h version.h
+warp.o: warp.c INTERN.h warp.h config.h
+warp.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+warp.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+warp.o: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
+warp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+warp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+warp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+warp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stat.h
+warp.o: /home/nick/src/211bsd.git/stage/usr/include/errno.h
+warp.o: /home/nick/src/211bsd.git/stage/usr/include/sgtty.h
+warp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+warp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+warp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h
+warp.o: /home/nick/src/211bsd.git/stage/usr/include/pwd.h EXTERN.h bang.h
+warp.o: init.h intrp.h object.h move.h play.h score.h sig.h term.h them.h us.h
+warp.o: util.h version.h weapon.h
+weapon.o: weapon.c EXTERN.h warp.h config.h
+weapon.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+weapon.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+weapon.o: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
+weapon.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+weapon.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+weapon.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+weapon.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stat.h
+weapon.o: /home/nick/src/211bsd.git/stage/usr/include/errno.h
+weapon.o: /home/nick/src/211bsd.git/stage/usr/include/sgtty.h
+weapon.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+weapon.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+weapon.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h
+weapon.o: /home/nick/src/211bsd.git/stage/usr/include/pwd.h bang.h object.h
+weapon.o: move.h score.h sig.h term.h them.h us.h util.h INTERN.h weapon.h
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/games/warp/UU/filexp b/games/warp/UU/filexp
deleted file mode 100755 (executable)
index 0261424..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/sh
-: expand filename
-case "$1" in
- ~/*|~)
-    echo $1 | /bin/sed "s|~|${HOME-$LOGDIR}|"
-    ;;
- ~*)
-    if /bin/test -f /bin/csh; then
-       /bin/csh -f -c "glob $1"
-       echo ""
-    else
-       name=`/bin/expr x$1 : '..\([^/]*\)'`
-       dir=`/bin/sed -n -e "/^${name}:/{s/^[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:\([^:]*\).*"'$'"/\1/" -e p -e q -e '}' </etc/passwd`
-       if /bin/test ! -d "$dir"; then
-           me=`basename $0`
-           echo "$me: can't locate home directory for: $name" >&2
-           exit 1
-       fi
-       case "$1" in
-       */*)
-           echo $dir/`/bin/expr x$1 : '..[^/]*/\(.*\)'`
-           ;;
-       *)
-           echo $dir
-           ;;
-       esac
-    fi
-    ;;
-*)
-    echo $1
-    ;;
-esac
diff --git a/games/warp/UU/grimble b/games/warp/UU/grimble
deleted file mode 100644 (file)
index ccda612..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-__.SYMDEF
-addch.o
-addstr.o
-box.o
-clear.o
-clrtobot.o
-clrtoeol.o
-cr_put.o
-cr_tty.o
-curses.o
-delch.o
-deleteln.o
-delwin.o
-endwin.o
-erase.o
-fullname.o
-getch.o
-getstr.o
-idlok.o
-id_subwins.o
-initscr.o
-insch.o
-insertln.o
-longname.o
-move.o
-mvprintw.o
-mvscanw.o
-mvwin.o
-newwin.o
-overlay.o
-overwrite.o
-printw.o
-putchar.o
-refresh.o
-scanw.o
-scroll.o
-toucholap.o
-standout.o
-touchwin.o
-tstp.o
-unctrl.o
diff --git a/games/warp/UU/myread b/games/warp/UU/myread
deleted file mode 100644 (file)
index 76bd4e5..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-ans='!'
-while expr "X$ans" : "X!" >/dev/null; do
-    read ans
-    case "$ans" in
-    !)
-       sh
-       echo " "
-       echo -n "$rp "
-       ;;
-    !*)
-       set `expr "X$ans" : "X!\(.*\)$"`
-       sh -c "$*"
-       echo " "
-       echo -n "$rp "
-       ;;
-    esac
-done
-rp='Your answer:'
-case "$ans" in
-'') ans="$dflt";;
-esac
index b1c6173..3d77acd 100644 (file)
-/* config.h
- * This file was produced by running the config.h.SH script, which
- * gets its values from config.sh, which is generally produced by
- * running Configure.
- *
- * Feel free to modify any of this as the need arises.  Note, however,
- * that running config.h.SH again will wipe out any changes you've made.
- * For a more permanent change edit config.sh and rerun config.h.SH.
- */
-
-
-/* EUNICE:
- *     This symbol, if defined, indicates that the program is being compiled
- *     under the EUNICE package under VMS.  The program will need to handle
- *     things like files that don't go away the first time you unlink them,
- *     due to version numbering.  It will also need to compensate for lack
- *     of a respectable link() command.
- */
-/* VMX:
- *     This symbol, if defined, indicates that the program is running under
- *     VMS.  It is currently only set in conjunction with the EUNICE symbol.
- */
-#/*undef       EUNICE          /**/
-#/*undef       VMS             /**/
-
-/* CHARSPRINTF:
- *     This symbol is defined if this system declares "char *sprintf()" in
- *     stdio.h.  The trend seems to be to declare it as "int sprintf()".  It
- *     is up to the package author to declare sprintf correctly based on the
- *     symbol.
- */
-#define        CHARSPRINTF     /**/
-
-/* FCNTL:
- *     This symbol, if defined, indicates to the C program that it should
- *     include fcntl.h.
- */
-#define        FCNTL           /**/
-
-/* FTIMER:
- *     This symbol, if defined, indicates that the ftime() routine exists.
- */
-#define        FTIMER          /**/
-
-/* GETHOSTNAME:
- *     This symbol, if defined, indicates that the C program may use the
- *     gethostname() routine to derive the host name.  See also DOUNAME
- *     and PHOSTNAME.
- */
-/* DOUNAME:
- *     This symbol, if defined, indicates that the C program may use the
- *     uname() routine to derive the host name.  See also GETHOSTNAME and
- *     PHOSTNAME.
- */
-/* PHOSTNAME:
- *     This symbol, if defined, indicates that the C program may use the
- *     contents of PHOSTNAME as a command to feed to the popen() routine
- *     to derive the host name.  See also GETHOSTNAME and DOUNAME.
- */
-#define        GETHOSTNAME     /**/
-#/*undef       DOUNAME         /**/
-#/*undef       PHOSTNAME "hostname"    /**/
-
-/* GETPWENT:
- *     This symbol, if defined, indicates that the getpwent() routine
- *     should be used instead of the getpw() routine.
- */
-#/*undef       GETPWENT        /**/
-
-/* HAVETERMLIB:
- *     This symbol, when defined, indicates that termlib-style routines
- *     are available.  There is nothing to include.
- */
-#define        HAVETERMLIB     /**/
-
-/* index:
- *     This preprocessor symbol is defined, along with rindex, if the system
- *     uses the strchr and strrchr routines instead.
- */
-/* rindex:
- *     This preprocessor symbol is defined, along with index, if the system
- *     uses the strchr and strrchr routines instead.
- */
-#/*undef       index strchr    /* cultural */
-#/*undef       rindex strrchr  /*  differences? */
-
-/* IOCTL:
- *     This symbol, if defined, indicates that sys/ioctl.h exists and should
- *     be included.
- */
-#define        IOCTL           /**/
-
-/* NORMSIG:
- *     This symbol, if defined, indicates that normal signal handling routines
- *     should be used, as opposed to the ones in 4.1bsd (sigset, etc.).
- */
-#define        NORMSIG         /**/
-
-/* PORTABLE:
- *     This symbol, if defined, indicates to the C program that it should
- *     not assume that it is running on the machine it was compiled on.
- *     The program should be prepared to look up the host name, translate
- *     generic filenames, use PATH, etc.
- */
-#define        PORTABLE        /**/
-
-/* RDCHK:
- *     This symbol, if defined, indicates that the rdchk routine is available
- *     to find out if there is input pending on an IO channel.  Generally
- *     the routine is used only if FIONREAD and O_NDELAY aren't available.
- */
-#/*undef       RDCHK           /**/
-
-/* SCOREFULL:
- *     This symbol, if defined, indicates that any scoreboard kept by the
- *     program should be kept on the basis of the user's full name as opposed
- *     to the user's login name.  If the user can change his full name he
- *     can enter multiple scores if this is defined.
- */
-#/*undef       SCOREFULL       /**/
-
-/* SIGNEDCHAR:
- *     This symbol, if defined, indicates that characters are a signed type.
- *     If not defined, things declared as signed characters (and that make
- *     use of negative values) should probably be declared as shorts instead.
- */
-#define        SIGNEDCHAR      /**/
-
-/* TERMIO:
- *     This symbol, if defined, indicates that the program should include
- *     termio.h rather than sgtty.h.  There are also differences in the
- *     ioctl() calls that depend on the value of this symbol.
- */
-#/*undef       TERMIO          /**/
-
-/* USENDIR:
- *     This symbol, if defined, indicates that the program should compile
- *     the ndir.c code provided with the package.
- */
-/* LIBNDIR:
- *     This symbol, if defined, indicates that the program should include the
- *     system's version of ndir.h, rather than the one with this package.
- */
-#/*undef       USENDIR         /**/
-#/*undef       LIBNDIR         /**/
-
-/* WHOAMI:
- *     This symbol, if defined, indicates that the program may include
- *     whoami.h.
- */
-#/*undef       WHOAMI          /**/
-
-/* HOSTNAME:
- *     This symbol contains name of the host the program is going to run on.
- *     The domain is not kept with hostname, but must be gotten from MYDOMAIN.
- *     The dot comes with MYDOMAIN, and need not be supplied by the program.
- *     If gethostname() or uname() exist, HOSTNAME may be ignored.
- */
-/* MYDOMAIN:
- *     This symbol contains the domain of the host the program is going to
- *     run on.  The domain must be appended to HOSTNAME to form a complete
- *     host name.  The dot comes with MYDOMAIN, and need not be supplied by
- *     the program.  If the host name is derived from PHOSTNAME, the domain
- *     may or may not already be there, and the program should check.
- */
-#define HOSTNAME "kazoo"               /**/
-#define MYDOMAIN ".uucp"               /**/
-
-/* PASSNAMES:
- *     This symbol, if defined, indicates that full names are stored in
- *     the /etc/passwd file.
- */
-/* BERKNAMES:
- *     This symbol, if defined, indicates that full names are stored in
- *     the /etc/passwd file in Berkeley format (name first thing, everything
- *     up to first comma, with & replaced by capitalized login id, yuck).
- */
-/* USGNAMES:
- *     This symbol, if defined, indicates that full names are stored in
- *     the /etc/passwd file in USG format (everything after - and before ( is
- *     the name).
- */
-#define        PASSNAMES /*  (undef to take name from ~/.fullname) */
-#define        BERKNAMES /* (that is, ":name,stuff:") */
-#/*undef       USGNAMES  /* (that is, ":stuff-name(stuff):") */
-
-/* PREFSHELL:
- *     This symbol contains the full name of the preferred user shell on this
- *     system.  Usual values are /bin/csh, /bin/ksh, /bin/sh.
- */
-#define PREFSHELL "/bin/csh"           /**/
-
-/* RANDBITS:
- *     This symbol contains the number of bits of random number the rand()
- *     function produces.  Usual values are 15, 16, and 31.
- */
-#define RANDBITS 15            /**/
-
-/* Reg1:
- *     This symbol, along with Reg2, Reg3, etc. is either the word "register"
- *     or null, depending on whether the C compiler pays attention to this
- *     many register declarations.  The intent is that you don't have to
- *     order your register declarations in the order of importance, so you
- *     can freely declare register variables in sub-blocks of code and as
- *     function parameters.  Do not use Reg<n> more than once per routine.
- */
-
-#define Reg1 register          /**/
-#define Reg2 register          /**/
-#define Reg3 register          /**/
-#define Reg4           /**/
-#define Reg5           /**/
-#define Reg6           /**/
-#define Reg7           /**/
-#define Reg8           /**/
-#define Reg9           /**/
-#define Reg10          /**/
-#define Reg11          /**/
-#define Reg12          /**/
-#define Reg13          /**/
-#define Reg14          /**/
-#define Reg15          /**/
-#define Reg16          /**/
-
-/* ROOTID:
- *     This symbol contains the uid of root, normally 0.
- */
-#define ROOTID 0               /**/
-
-/* VOIDFLAGS:
- *     This symbol indicates how much support of the void type is given by this
- *     compiler.  What various bits mean:
- *
- *         1 = supports declaration of void
- *         2 = supports arrays of pointers to functions returning void
- *         4 = supports comparisons between pointers to void functions and
- *                 addresses of void functions
- *
- *     The package designer should define VOIDUSED to indicate the requirements
- *     of the package.  This can be done either by #defining VOIDUSED before
- *     including config.h, or by defining defvoidused in Myinit.U.
- */
-#ifndef VOIDUSED
-#define VOIDUSED 7
-#endif
-#define VOIDFLAGS 7
-#if (VOIDFLAGS & VOIDUSED) != VOIDUSED
-#define void int               /* is void to be avoided? */
-#define M_VOID         /* Xenix strikes again */
-#endif
-
-/* warp private library, may use ~ expansion, %x and %l */
-#define PRIVLIB "/usr/games/lib/warp"          /**/
-
+/* Nick has manually configured the package */
+#define HAVETERMLIB 1
+#define Reg1 register
+#define Reg2 register
+#define Reg3 register
+#define Reg4
+#define Reg5
+#define Reg6
+#define Reg7
+#define Reg8
+#define Reg9
+#define Reg10
+#define HOSTNAME "kazoo"
+#define MYDOMAIN ".uucp"
+#define NORMSIG 1
diff --git a/games/warp/config.sh b/games/warp/config.sh
deleted file mode 100644 (file)
index 13706c1..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-#!/bin/sh
-# config.sh
-# This file was produced by running the Configure script.
-
-d_eunice='/*undef'
-eunicefix=':'
-define='define'
-loclist='
-expr
-sed
-echo
-cat
-rm
-mv
-cp
-tr
-mkdir
-sort
-uniq
-grep
-'
-expr='/bin/expr'
-sed='/bin/sed'
-echo='/bin/echo'
-cat='/bin/cat'
-rm='/bin/rm'
-mv='/bin/mv'
-cp='/bin/cp'
-tail=''
-tr='/usr/bin/tr'
-mkdir='/bin/mkdir'
-sort='/bin/sort'
-uniq='/usr/bin/uniq'
-grep='/usr/ucb/grep'
-trylist='
-test
-egrep
-Mcc
-'
-test='/bin/test'
-inews=''
-egrep='/usr/bin/egrep'
-more=''
-pg=''
-Mcc='Mcc'
-vi=''
-mailx=''
-mail=''
-Log='$Log'
-Header='$Header'
-cc='cc'
-contains='grep'
-cpp='cc -E'
-d_charsprf='define'
-d_fcntl='define'
-d_ftime='define'
-d_gethname='define'
-d_douname='/*undef'
-d_phostname='/*undef'
-d_getpwent='/*undef'
-d_havetlib='define'
-termlib='-ltermlib'
-d_index='/*undef'
-d_ioctl='define'
-d_normsig='define'
-jobslib=''
-d_portable='/*undef'
-d_rdchk='/*undef'
-d_scorfl='/*undef'
-d_sgndchr='define'
-d_termio='/*undef'
-d_usendir='/*undef'
-d_libndir='/*undef'
-ndirc=''
-ndiro=''
-d_whoami='/*undef'
-hostname='sms'
-phostname='hostname'
-mydomain='.imsd.contel.com'
-libc='/lib/libc.a'
-libnm='/usr/lib/libtermlib.a'
-mansrc='/tmp'
-manext='1'
-models='unsplit split'
-split='-i'
-small=''
-medium=''
-large=''
-huge=''
-ccflags='-O'
-ldflags=''
-n='-n'
-c=''
-nametype='bsd'
-d_passnames='define'
-d_berknames='define'
-d_usgnames='/*undef'
-passcat='cat /etc/passwd'
-package='warp'
-prefshell='/bin/csh'
-randbits='15'
-registers='3'
-reg1='register'
-reg2='register'
-reg3='register'
-reg4=''
-reg5=''
-reg6=''
-reg7=''
-reg8=''
-reg9=''
-reg10=''
-reg11=''
-reg12=''
-reg13=''
-reg14=''
-reg15=''
-reg16=''
-rootid='0'
-spitshell='cat'
-shsharp='true'
-sharpbang='#!'
-startsh='#!/bin/sh'
-voidflags='7'
-bin='/usr/games'
-chowner='bin'
-privlib='/usr/games/lib/warp'
-CONFIG=true
diff --git a/games/warp/filexp b/games/warp/filexp
deleted file mode 100755 (executable)
index 0261424..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/sh
-: expand filename
-case "$1" in
- ~/*|~)
-    echo $1 | /bin/sed "s|~|${HOME-$LOGDIR}|"
-    ;;
- ~*)
-    if /bin/test -f /bin/csh; then
-       /bin/csh -f -c "glob $1"
-       echo ""
-    else
-       name=`/bin/expr x$1 : '..\([^/]*\)'`
-       dir=`/bin/sed -n -e "/^${name}:/{s/^[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:\([^:]*\).*"'$'"/\1/" -e p -e q -e '}' </etc/passwd`
-       if /bin/test ! -d "$dir"; then
-           me=`basename $0`
-           echo "$me: can't locate home directory for: $name" >&2
-           exit 1
-       fi
-       case "$1" in
-       */*)
-           echo $dir/`/bin/expr x$1 : '..[^/]*/\(.*\)'`
-           ;;
-       *)
-           echo $dir
-           ;;
-       esac
-    fi
-    ;;
-*)
-    echo $1
-    ;;
-esac
diff --git a/games/warp/makedepend b/games/warp/makedepend
deleted file mode 100755 (executable)
index 5385546..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-#!/bin/sh
-# $Header: makedepend.SH,v 7.0.1.1 86/12/12 17:00:05 lwall Exp $
-#
-# $Log:        makedepend.SH,v $
-# Revision 7.0.1.1  86/12/12  17:00:05  lwall
-# Baseline for net release.
-# 
-# Revision 4.3.1.2  85/05/13  15:53:42  lwall
-# Made cpp look in /usr/local/include too.
-# 
-# Revision 4.3.1.1  85/05/10  11:35:10  lwall
-# Branch for patches.
-# 
-# Revision 4.3  85/05/01  11:42:26  lwall
-# Baseline for release with 4.3bsd.
-# 
-
-export PATH || (echo "OOPS, this isn't sh.  Desperation time.  I will feed myself to sh."; sh $0; kill $$)
-
-cat='/bin/cat'
-cp='/bin/cp'
-cpp='cc -E'
-echo='/bin/echo'
-egrep='/usr/bin/egrep'
-expr='/bin/expr'
-mv='/bin/mv'
-rm='/bin/rm'
-sed='/bin/sed'
-sort='/bin/sort'
-test='/bin/test'
-tr='/usr/bin/tr'
-uniq='/usr/bin/uniq'
-
-$cat /dev/null >.deptmp
-$echo "(Note: this is going to take a while.)"
-$rm -f *.c.c c/*.c.c
-if test -f Makefile; then
-    mf=Makefile
-else
-    mf=makefile
-fi
-if test -f $mf; then
-    defrule=`<$mf sed -n               \
-       -e '/^\.c\.o:.*;/{'             \
-       -e    's/\$\*\.c//'             \
-       -e    's/^[^;]*;[        ]*//p' \
-       -e    q                         \
-       -e '}'                          \
-       -e '/^\.c\.o: *$/{'             \
-       -e    N                         \
-       -e    's/\$\*\.c//'             \
-       -e    's/^.*\n[  ]*//p'         \
-       -e    q                         \
-       -e '}'`
-fi
-case "$defrule" in
-'') defrule='$(CC) -c $(CFLAGS)' ;;
-esac
-
-make clist || ($echo "Searching for .c files..."; \
-       $echo *.c */*.c | $tr ' ' '\012' | $egrep -v '\*' >.clist)
-for file in `$cat .clist`; do
-# for file in `cat /dev/null`; do
-    filebase=`basename $file .c`
-    $echo "Finding dependencies for $filebase.o."
-    $sed -n <$file >$file.c \
-       -e "/^${filebase}_init(/q" \
-       -e '/^#/{' \
-       -e 's|/\*.*$||' \
-       -e 's|\\$||' \
-       -e p \
-       -e '}'
-    $cpp -I/usr/local/include -I. -I./h $file.c | \
-    $sed \
-       -e '/^# *[0-9]/!d' \
-       -e 's/^.*"\(.*\)".*$/'$filebase'.o: \1/' \
-       -e 's|: \./|: |' \
-       -e 's|\.c\.c|.c|' | \
-    $uniq | $sort | $uniq >> .deptmp
-done
-
-$sed <Makefile >Makefile.new -e '1,/^# AUTOMATICALLY/!d'
-
-make shlist || ($echo "Searching for .SH files..."; \
-       $echo *.SH */*.SH | $tr ' ' '\012' | $egrep -v '\*' >.shlist)
-if $test -s .deptmp; then
-    for file in `cat .shlist`; do
-       $echo `$expr X$file : 'X\(.*\).SH`: $file config.sh \; \
-           /bin/sh $file >> .deptmp
-    done
-    $echo "Updating Makefile..."
-    $echo "# If this runs make out of memory, delete /usr/include lines." \
-       >> Makefile.new
-    $sed 's|^\(.*\.o:\) *\(.*/.*\.c\) *$|\1 \2; '"$defrule \2|" .deptmp \
-       >>Makefile.new
-else
-    make hlist || ($echo "Searching for .h files..."; \
-       $echo *.h */*.h | $tr ' ' '\012' | $egrep -v '\*' >.hlist)
-    $echo "You don't seem to have a proper C preprocessor.  Using grep instead."
-    $egrep '^#include ' `cat .clist` `cat .hlist`  >.deptmp
-    $echo "Updating Makefile..."
-    <.clist $sed -n                                                    \
-       -e '/\//{'                                                      \
-       -e   's|^\(.*\)/\(.*\)\.c|\2.o: \1/\2.c; '"$defrule \1/\2.c|p"  \
-       -e   d                                                          \
-       -e '}'                                                          \
-       -e 's|^\(.*\)\.c|\1.o: \1.c|p' >> Makefile.new
-    <.hlist $sed -n 's|\(.*/\)\(.*\)|s= \2= \1\2=|p' >.hsed
-    <.deptmp $sed -n 's|c:#include "\(.*\)".*$|o: \1|p' | \
-       $sed 's|^[^;]*/||' | \
-       $sed -f .hsed >> Makefile.new
-    <.deptmp $sed -n 's|c:#include <\(.*\)>.*$|o: /usr/include/\1|p' \
-       >> Makefile.new
-    <.deptmp $sed -n 's|h:#include "\(.*\)".*$|h: \1|p' | \
-       $sed -f .hsed >> Makefile.new
-    <.deptmp $sed -n 's|h:#include <\(.*\)>.*$|h: /usr/include/\1|p' \
-       >> Makefile.new
-    for file in `$cat .shlist`; do
-       $echo `$expr X$file : 'X\(.*\).SH`: $file config.sh \; \
-           /bin/sh $file >> Makefile.new
-    done
-fi
-$rm -f Makefile.old
-$cp Makefile Makefile.old
-$cp Makefile.new Makefile
-$rm Makefile.new
-$echo "# WARNING: Put nothing here or make depend will gobble it up!" >> Makefile
-$rm -f .deptmp `sed 's/\.c/.c.c/' .clist` .shlist .clist .hlist .hsed
-
diff --git a/games/warp/makedir b/games/warp/makedir
deleted file mode 100755 (executable)
index 3c6dd24..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/bin/sh
-# $Header: makedir.SH,v 7.0 86/10/08 15:12:34 lwall Exp $
-# 
-# $Log:        makedir.SH,v $
-# Revision 7.0  86/10/08  15:12:34  lwall
-# Split into separate files.  Added amoebas and pirates.
-# 
-# Revision 4.3.1.1  85/05/10  11:35:14  lwall
-# Branch for patches.
-# 
-# Revision 4.3  85/05/01  11:42:31  lwall
-# Baseline for release with 4.3bsd.
-# 
-
-export PATH || (echo "OOPS, this isn't sh.  Desperation time.  I will feed myself to sh."; sh $0; kill $$)
-
-case $# in
-  0)
-    /bin/echo "makedir pathname filenameflag"
-    exit 1
-    ;;
-esac
-
-: guarantee one slash before 1st component
-case $1 in
-  /*) ;;
-  *)  set ./$1 $2 ;;
-esac
-
-: strip last component if it is to be a filename
-case X$2 in
-  X1) set `/bin/echo $1 | /bin/sed 's:\(.*\)/[^/]*$:\1:'` ;;
-  *)  set $1 ;;
-esac
-
-: return reasonable status if nothing to be created
-if /bin/test -d "$1" ; then
-    exit 0
-fi
-
-list=''
-while true ; do
-    case $1 in
-    */*)
-       list="$1 $list"
-       set `echo $1 | /bin/sed 's:\(.*\)/:\1 :'`
-       ;;
-    *)
-       break
-       ;;
-    esac
-done
-
-set $list
-
-for dir do
-    /bin/mkdir $dir >/dev/null 2>&1
-done
diff --git a/games/warp/o.sh b/games/warp/o.sh
new file mode 100755 (executable)
index 0000000..e28016b
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/sh
+ROOT="`pwd |sed -e 's/\/games\/warp$//'`"
+CC="$ROOT/cross/bin/cc"
+INSTALL="$ROOT/install.sh --strip-program=\"$ROOT/cross/bin/strip\""
+LD="$ROOT/cross/bin/ld"
+MANROFF="nroff -man"
+mkdir --parents "$ROOT/stage/lib"
+make CC="$CC" LD="$LD" MANROFF="$MANROFF" STAGEDIR="$ROOT/stage" && \
+make INSTALL="$INSTALL" DESTDIR="$ROOT/stage" install
index 7ab0f70..84fd888 100644 (file)
@@ -4,7 +4,7 @@ LIBDIR=/usr/games/lib
 all:   words1
 
 words1:        words1.c
-       cc -O -n -o words1 words1.c
+       ${CC} -O -n -o words1 words1.c
 
 install: words1 words.sh
        ${INSTALL} -s words1 ${LIBDIR}
diff --git a/lib/ccom.new/n.sh b/lib/ccom.new/n.sh
new file mode 100755 (executable)
index 0000000..a37250e
--- /dev/null
@@ -0,0 +1,8 @@
+#!/bin/sh
+ROOT="`pwd |sed -e 's/\/lib\/ccom$//'`"
+CC="cc -g -Iinclude -Wall -Wno-char-subscripts -Wno-deprecated-declarations -Wno-format -Wno-maybe-uninitialized -Wno-parentheses -Wno-unused-result"
+INSTALL="$ROOT/install.sh --strip-program=/bin/true"
+MANROFF="nroff -man"
+mkdir --parents "$ROOT/cross/lib"
+make CC="$CC" MANROFF="$MANROFF" LDC0FLAGS= LDC1FLAGS= PURFLAG= && \
+make INSTALL="$INSTALL" DESTDIR="$ROOT/cross" install
index 02074d2..bffab8e 100644 (file)
@@ -2,7 +2,6 @@ INSTALL=install
 CFLAGS = -O
 LDC0FLAGS= -i
 LDC1FLAGS= -n
-# this is used for cvopt:
 #PURFLAG=-n
 
 DESTDIR =
@@ -28,7 +27,8 @@ table.o: optable cvopt
 
 # for cross compiling, to access the host compiler we use cc not ${CC}
 cvopt: cvopt.c
-       cc ${PURFLAG} -s -O -o cvopt cvopt.c
+#      ${CC} ${PURFLAG} -s -O -o cvopt cvopt.c
+       cc -o cvopt cvopt.c
 
 install: c0 c1
        -mv ${DESTDIR}${LIB}/c0 ${DESTDIR}${LIB}/oc0
index bedab50..f6192f4 100644 (file)
@@ -1,21 +1,17 @@
 #      Makefile        1.3     (2.11BSD) 96/7/11
 #
 
-CFLAGS=-O -DSTAGEDIR="${STAGEDIR}" -DFLEXNAMES -DTARGET_unix -DTARGET_pdp11 -DTARGET_BSD2_11
+CFLAGS=-O -DSTAGEPREFIX="${STAGEPREFIX}" -DFLEXNAMES -DTARGET_unix -DTARGET_pdp11 -DTARGET_BSD2_11
 SEPFLAG=-i
 INSTALL=install
-YACC=yacc
 
-cpp:   cpp.o y.tab.o
-       $(CC) $(CFLAGS) $(SEPFLAG) -o cpp cpp.o y.tab.o
+cpp:   cpp.o cpy.o
+       $(CC) $(CFLAGS) $(SEPFLAG) -o cpp cpp.o cpy.o
 
-y.tab.c: cpy.y
-       ${YACC} cpy.y
-
-y.tab.o: y.tab.c yylex.c
+cpy.o: cpy.c yylex.c
 
 clean:
-       rm -f *.s *.o y.tab.c cpp
+       rm -f *.s *.o cpy.c cpp
 
 install: cpp
        ${INSTALL} -s cpp $(DESTDIR)/lib
index cd70da2..6e4616b 100644 (file)
@@ -1089,7 +1089,7 @@ int main(argc,argv) int argc; char *argv[]; {
        exfail = 0;
                /* after user -I files here are the standard include libraries */
 # if unix
-       dirs[nd++] = STAGEDIR "/usr/include";
+       dirs[nd++] = STAGEPREFIX "/usr/include";
 # endif
 # if gcos
        dirs[nd++] = "cc/include";
index 09c62a5..2f74bff 100755 (executable)
@@ -4,5 +4,5 @@ CC="cc -g -Iinclude -Wall -Wno-char-subscripts -Wno-deprecated-declarations -Wno
 INSTALL="$ROOT/install.sh --strip-program=/bin/true"
 MANROFF="nroff -man"
 mkdir --parents "$ROOT/cross/lib"
-make CC="$CC" MANROFF="$MANROFF" STAGEDIR="\\\"$ROOT/stage\\\"" SEPFLAG= && \
+make CC="$CC" MANROFF="$MANROFF" STAGEPREFIX="\\\"$ROOT/stage\\\"" SEPFLAG= && \
 make INSTALL="$INSTALL" DESTDIR="$ROOT/cross" install
index 449b719..030a06e 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 ROOT="`pwd |sed -e 's/\/lib\/cpp$//'`"
 CC="$ROOT/cross/bin/cc"
-INSTALL="install --strip-program=\"$ROOT/cross/bin/strip\""
+INSTALL="$ROOT/install.sh --strip-program=\"$ROOT/cross/bin/strip\""
 YACC="$ROOT/cross/usr/bin/yacc"
 mkdir --parents "$ROOT/stage/lib"
 make CC="$CC" YACC="$YACC" && \
index 1917a1a..1868e5d 100644 (file)
@@ -1,3 +1,4 @@
+MANROFF=/usr/man/manroff
 INSTALL=install
 #@(#)@(#)Makefile      2.6.1 1996/11/27
 
@@ -34,6 +35,7 @@ MAKEFILE      =       Makefile
 #               STRNCASECMP     -      If you do not have strncasecmp()
 
 CFLAGS         =       -O -DBIND43
+SEPFLAG                =       -i
 TARGET         =       popper
 TAR            =       ${TARGET}.tar
 INSTALLDIR     =       ${DESTDIR}/usr/libexec
@@ -44,7 +46,7 @@ MANDIR                =       ${DESTDIR}/usr/man/cat8
 all: ${TARGET} ${CATPAGE}
 
 ${TARGET}: ${OBJS}
-       cc  -i ${OBJS} -o ${TARGET}
+       ${CC} ${SEPFLAG} ${OBJS} -o ${TARGET}
 
 tar: ${SRCS} ${DOCS} ${MAKEFILE}
        rm -f ${TAR} *.Z*
@@ -66,7 +68,8 @@ install: ${TARGET} ${CATPAGE}
        ${INSTALL} -c -m 444 -o root -g staff ${CATPAGE} ${MANDIR}
 
 ${CATPAGE}:    ${MANPAGE}
-       nroff -h -man ${MANPAGE} > ${CATPAGE}
+#      nroff -h -man ${MANPAGE} > ${CATPAGE}
+       ${MANROFF} ${MANPAGE} > ${CATPAGE}
 
 edit:
        ${SCCS} edit ${REL} ${SRCS}
index f06faaf..139f531 100644 (file)
@@ -21,7 +21,8 @@ NSTD=
 
 # Shell scripts
 #
-SHELL= none
+# screws up gnu make, which tries to use it as its shell for executing stuff:
+#SHELL= none
 
 # Manpage directory
 MANDIR= ${DESTDIR}/usr/local/man
@@ -34,7 +35,7 @@ ${SUBDIR}: FRC
 FRC:
 
 ${STD}:
-       cc ${CFLAGS} ${SEPFLAG} -o $@ $@.c
+       ${CC} ${CFLAGS} ${SEPFLAG} -o $@ $@.c
 
 # Files listed in ${NSTD} have explicit make lines given below.
 
similarity index 67%
rename from local/cxref/makefile
rename to local/cxref/Makefile
index 037c37c..25fa130 100644 (file)
@@ -1,3 +1,5 @@
+MANROFF=/usr/man/manroff
+INSTALL=install
 # makefile for cxref -- C cross referencing program
 #
 # Arnold Robbins, Information and Computer Science, Georgia Tech
@@ -25,12 +27,12 @@ DOCS=  README makefile cxref.1
 PRINTS= $(INCLS) $(SRCS) $(DOCS)
 
 CFLAGS= -O
-LFLAGS= -i
+SEPFLAG= -i
 
 ### system dependant definitions, change when you install cxref
 
 BIN=${DESTDIR}/usr/local
-LIB=/usr/local/lib/cxref
+LIB=${DESTDIR}/usr/local/lib/cxref
 
 # lex library, may be -lln on some systems
 LEXLIB= -ll
@@ -45,18 +47,18 @@ all: $(PROGS) cxref.0
        @echo " all" done
 
 docxref: $(SCANOBJS)
-       $(CC) $(LFLAGS) $(SCANOBJS) $(LEXLIB) -o $@
+       $(CC) $(SEPFLAG) $(SCANOBJS) $(LEXLIB) -o $@
 
 cscan.o docxref.o cxrfilt.o: $(INCLS)
 
 fmtxref: fmtxref.c
-       $(CC) $(LFLAGS) $(CFLAGS) $@.c $(LDFLAGS) -o $@
+       $(CC) $(SEPFLAG) $(CFLAGS) $@.c -o $@
 
 cxrfilt: cxrfilt.c
-       $(CC) $(LFLAGS) $(CFLAGS) $@.c $(LDFLAGS) -o $@
+       $(CC) $(SEPFLAG) $(CFLAGS) $@.c -o $@
 
 $(CXREF): $(CXREF).c
-       $(CC) $(LFLAGS) $(CFLAGS) -DSRCDIR='"$(LIB)"' -DSORT='"$(SORT)"' $@.c $(LDFLAGS) -o $@
+       $(CC) $(SEPFLAG) $(CFLAGS) -DSRCDIR='"$(LIB)"' -DSORT='"$(SORT)"' $@.c -o $@
 
 print:
        $(P) $(PRINTS) | lpr -b 'Cxref Source'
@@ -70,19 +72,20 @@ print2: $(PRINTS)
 
 install: $(PROGS) cxref.0
 # don't remove my bin!
-       rm -f ${BIN}/cxref
-       -mkdir $(LIB)
-       install -s $(CXREF) ${BIN}/$(CXREF)
-       install -s docxref  $(LIB)/docxref
-       install -s fmtxref  $(LIB)/fmtxref
-       install -s cxrfilt $(LIB)/cxrfilt
-       install -m 444 -c cxref.0 /usr/local/man/cat1/cxref.0
+#      rm -f ${BIN}/cxref
+# revisit the issue of making install directories more comprehensively later:
+#      -mkdir $(LIB)
+       ${INSTALL} -s $(CXREF) ${BIN}/$(CXREF)
+       ${INSTALL} -s docxref  $(LIB)/docxref
+       ${INSTALL} -s fmtxref  $(LIB)/fmtxref
+       ${INSTALL} -s cxrfilt $(LIB)/cxrfilt
+       ${INSTALL} -m 444 -c cxref.0 ${DESTDIR}/usr/local/man/cat1/cxref.0
 
 cxref.0:       cxref.1
-       /usr/man/manroff cxref.1 > cxref.0
+       ${MANROFF} cxref.1 > cxref.0
 
 clean:
-       rm -f $(SCANOBJS) cxref.0
+       rm -f $(SCANOBJS) cscan.c cxref.0
 
 clobber: clean
        rm -f $(PROGS) print2
diff --git a/local/cxref/o.sh b/local/cxref/o.sh
new file mode 100755 (executable)
index 0000000..2df719c
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/sh
+ROOT="`pwd |sed -e 's/\/local\/cxref$//'`"
+CC="$ROOT/cross/bin/cc"
+INSTALL="$ROOT/install.sh --strip-program=\"$ROOT/cross/bin/strip\""
+LEX="$ROOT/cross/usr/bin/lex"
+MANROFF="nroff -man"
+mkdir --parents "$ROOT/stage/lib"
+make CC="$CC" LEX="$LEX" MANROFF="$MANROFF" && \
+make INSTALL="$INSTALL" DESTDIR="$ROOT/stage" install
similarity index 91%
rename from local/less/makefile
rename to local/less/Makefile
index 66d052b..becd66d 100644 (file)
@@ -1,3 +1,5 @@
+INSTALL=install
+MANROFF=/usr/man/manroff
 # Revised 1996/1/28
 #
 # Makefile for "less"
@@ -134,20 +136,20 @@ CFLAGS = $(OPTIM) $(DEFS)
 all: less less.0
 
 less: $(OBJ)
-       cc $(OPTIM) -o less $(OBJ) $(LIBS)
+       ${CC} $(OPTIM) -o less $(OBJ) $(LIBS)
 
 less.0:        less.nro
-       /usr/man/manroff $(MANUAL) > less.0
+       ${MANROFF} $(MANUAL) > less.0
 
 install: less less.0 less.help
-       install -s -m 751 less ${INSTALL_LESS}
-       install -c -m 444 less.help ${INSTALL_HELP}
-       install -c -m 444 -o bin -g bin less.0 $(INSTALL_MAN)
+       ${INSTALL} -s -m 751 less ${DESTDIR}${INSTALL_LESS}
+       ${INSTALL} -c -m 444 less.help ${DESTDIR}${INSTALL_HELP}
+       ${INSTALL} -c -m 444 -o bin -g bin less.0 ${DESTDIR}$(INSTALL_MAN)
 
 $(OBJ): less.h funcs.h
 
-# help.o depends on makefile for the definition of HELPFILE.
-help.o: makefile
+# help.o depends on Makefile for the definition of HELPFILE.
+help.o: Makefile
 
 lint:
        lint -hp $(DEFS) $(SRC)
@@ -160,6 +162,6 @@ clean:
        rm -f $(OBJ) less less.0
 
 shar:
-       shar -v README install less.man less.help makefile.* *.h *.awk > less.shar.a
+       shar -v README install less.man less.help Makefile *.h *.awk > less.shar.a
        shar -v less.nro $(SRC1) > less.shar.b
        shar -v $(SRC2) > less.shar.c
diff --git a/local/less/o.sh b/local/less/o.sh
new file mode 100755 (executable)
index 0000000..4099045
--- /dev/null
@@ -0,0 +1,8 @@
+#!/bin/sh
+ROOT="`pwd |sed -e 's/\/local\/less$//'`"
+CC="$ROOT/cross/bin/cc"
+INSTALL="$ROOT/install.sh --strip-program=\"$ROOT/cross/bin/strip\""
+MANROFF="nroff -man"
+mkdir --parents "$ROOT/stage/lib"
+make CC="$CC" MANROFF="$MANROFF" && \
+make INSTALL="$INSTALL" DESTDIR="$ROOT/stage" install
index 40568b9..f2e4ade 100644 (file)
@@ -7,8 +7,7 @@ INSTALL=install
 # Berkeley flavors of Unix should include -DBSD in the CFLAGS
 
 CFLAGS = -O -DBSD
-LDFLAGS        = -i
-LD     = cc
+SEPFLAG        = -i
 LINT   = lint
 SHLIB  = 
 SHAR   = shar -a
@@ -58,46 +57,46 @@ MKMANIFEST = mkmanifest.o
 all:   $(PROGS) $(MANPAGES)
 
 mattrib: $(MATTRIB)
-       $(LD) $(LDFLAGS) $(MATTRIB) $(SHOBJ) -o mattrib $(SHLIB)
+       $(CC) $(SEPFLAG) $(MATTRIB) $(SHOBJ) -o mattrib $(SHLIB)
 
 mcd:   $(MCD)
-       $(LD) $(LDFLAGS) $(MCD) $(SHOBJ) -o mcd $(SHLIB)
+       $(CC) $(SEPFLAG) $(MCD) $(SHOBJ) -o mcd $(SHLIB)
 
 mcopy: $(MCOPY)
-       $(LD) $(LDFLAGS) $(MCOPY) $(SHOBJ) -o mcopy $(SHLIB)
+       $(CC) $(SEPFLAG) $(MCOPY) $(SHOBJ) -o mcopy $(SHLIB)
 
 mdel:  $(MDEL)
-       $(LD) $(LDFLAGS) $(MDEL) $(SHOBJ) -o mdel $(SHLIB)
+       $(CC) $(SEPFLAG) $(MDEL) $(SHOBJ) -o mdel $(SHLIB)
 
 mdir:  $(MDIR)
-       $(LD) $(LDFLAGS) $(MDIR) $(SHOBJ) -o mdir $(SHLIB)
+       $(CC) $(SEPFLAG) $(MDIR) $(SHOBJ) -o mdir $(SHLIB)
 
 mformat: $(MFORMAT)
-       $(LD) $(LDFLAGS) $(MFORMAT) $(SHOBJ) -o mformat $(SHLIB)
+       $(CC) $(SEPFLAG) $(MFORMAT) $(SHOBJ) -o mformat $(SHLIB)
 
 mlabel:        $(MLABEL)
-       $(LD) $(LDFLAGS) $(MLABEL) $(SHOBJ) -o mlabel $(SHLIB)
+       $(CC) $(SEPFLAG) $(MLABEL) $(SHOBJ) -o mlabel $(SHLIB)
 
 mmd:   $(MMD)
-       $(LD) $(LDFLAGS) $(MMD) $(SHOBJ) -o mmd $(SHLIB)
+       $(CC) $(SEPFLAG) $(MMD) $(SHOBJ) -o mmd $(SHLIB)
 
 mrd:   $(MRD)
-       $(LD) $(LDFLAGS) $(MRD) $(SHOBJ) -o mrd $(SHLIB)
+       $(CC) $(SEPFLAG) $(MRD) $(SHOBJ) -o mrd $(SHLIB)
 
 mread: $(MREAD)
-       $(LD) $(LDFLAGS) $(MREAD) $(SHOBJ) -o mread $(SHLIB)
+       $(CC) $(SEPFLAG) $(MREAD) $(SHOBJ) -o mread $(SHLIB)
 
 mren:  $(MREN)
-       $(LD) $(LDFLAGS) $(MREN) $(SHOBJ) -o mren $(SHLIB)
+       $(CC) $(SEPFLAG) $(MREN) $(SHOBJ) -o mren $(SHLIB)
 
 mtype: $(MTYPE)
-       $(LD) $(LDFLAGS) $(MTYPE) $(SHOBJ) -o mtype $(SHLIB)
+       $(CC) $(SEPFLAG) $(MTYPE) $(SHOBJ) -o mtype $(SHLIB)
 
 mwrite:        $(MWRITE)
-       $(LD) $(LDFLAGS) $(MWRITE) $(SHOBJ) -o mwrite $(SHLIB)
+       $(CC) $(SEPFLAG) $(MWRITE) $(SHOBJ) -o mwrite $(SHLIB)
 
 mkmanifest:    $(MKMANIFEST)
-       $(LD) $(LDFLAGS) $(MKMANIFEST) $(SHOBJ) -o mkmanifest $(SHLIB)
+       $(CC) $(SEPFLAG) $(MKMANIFEST) $(SHOBJ) -o mkmanifest $(SHLIB)
 
 mattrib.0: Mattrib.1
         ${MANROFF} Mattrib.1  >  mattrib.0
index 6651a57..b0795b4 100644 (file)
@@ -59,7 +59,7 @@ LDFLAGS               = -i
 all:   qterm qterm.0
 
 qterm: $(OBJS) $(HFILES)
-       $(LD) $(LDFLAGS) /lib/crt0.o -o qterm $(OBJS) $(LIBS)
+       $(LD) $(LDFLAGS) ${STAGEDIR}/lib/crt0.o -o qterm $(OBJS) $(LIBS)
 
 reconfig:
        -@for i in $(CONFIGFILES); do \
index 6ccb94f..057c863 100644 (file)
@@ -1,16 +1,14 @@
 MANROFF=/usr/man/manroff
 INSTALL=install
+SIZE=size
 # Driver makefile for zmodem.  Calls makefile.generic.
 
-DESTDIR=
-CC=cc
 CFLAGS=-O -DV7 -DMD=2 -DTXBSIZE=8192 -DNFGVMIN
 SEPFLAG=-i
+
 DESTBIN = $(DESTDIR)/usr/local
 DESTMAN = $(DESTDIR)/usr/local/man/cat1
 
-INSTALL = /usr/bin/install
-
 OBJ = sz rz
 
 all: $(OBJ) rz.0 sz.0
@@ -21,7 +19,7 @@ sz:   sz.o
 
 rz:    rz.o
        $(CC) ${SEPFLAG} rz.o -o rz
-       size rz
+       ${SIZE} rz
 
 rz.0:  rz.1
        ${MANROFF} rz.1 > rz.0
@@ -34,19 +32,21 @@ install: rz sz rz.0 sz.0
        ${INSTALL} -c -s -m 755 sz ${DESTBIN}
        ${INSTALL} -c -m 444 rz.0 ${DESTMAN}
        ${INSTALL} -c -m 444 -o bin -g bin sz.0 ${DESTMAN}
+
+# Nick has changed these to symlinks:
        rm -f $(DESTBIN)/sb $(DESTBIN)/sx
-       ln $(DESTBIN)/sz $(DESTBIN)/sb
-       ln $(DESTBIN)/sz $(DESTBIN)/sx
+       ln -s $(DESTBIN)/sz $(DESTBIN)/sb
+       ln -s $(DESTBIN)/sz $(DESTBIN)/sx
        rm -f $(DESTBIN)/rb $(DESTBIN)/rx
-       ln $(DESTBIN)/rz $(DESTBIN)/rb
-       ln $(DESTBIN)/rz $(DESTBIN)/rx
+       ln -s $(DESTBIN)/rz $(DESTBIN)/rb
+       ln -s $(DESTBIN)/rz $(DESTBIN)/rx
 
        rm -f $(DESTMAN)/sb.0 $(DESTMAN)/sx.0
-       ln $(DESTMAN)/sz.0 $(DESTMAN)/sb.0
-       ln $(DESTMAN)/sz.0 $(DESTMAN)/sx.0
+       ln -s $(DESTMAN)/sz.0 $(DESTMAN)/sb.0
+       ln -s $(DESTMAN)/sz.0 $(DESTMAN)/sx.0
        rm -f $(DESTMAN)/rb.0 $(DESTMAN)/rx.0
-       ln $(DESTMAN)/rz.0 $(DESTMAN)/rb.0
-       ln $(DESTMAN)/rz.0 $(DESTMAN)/rx.0
+       ln -s $(DESTMAN)/rz.0 $(DESTMAN)/rb.0
+       ln -s $(DESTMAN)/rz.0 $(DESTMAN)/rx.0
 
 clean:
        rm -f $(OBJ) sb sx rb rx rz sz *.o *.0
diff --git a/n.sh b/n.sh
index fedf20a..ac21bda 100755 (executable)
--- a/n.sh
+++ b/n.sh
@@ -34,22 +34,24 @@ make -C usr.lib/libvmf INSTALL="$INSTALL" DESTDIR="$ROOT/cross" install
 make -C bin CC="$CC" MANROFF="$MANROFF" SEPFLAG= size
 make -C bin/ar CC="$CC" MANROFF="$MANROFF" SEPFLAG=
 make -C bin/as CC="$CC" MANROFF="$MANROFF" SEPFLAG=
-make -C bin/cc CC="$CC" MANROFF="$MANROFF" CROSSDIR="\\\"$ROOT/cross\\\"" STAGEDIR="\\\"$ROOT/stage\\\"" SEPFLAG=
-make -C bin/ld CC="$CC" MANROFF="$MANROFF" STAGEDIR="\\\"$ROOT/stage\\\"" SEPFLAG= LDFLAGS="-L$ROOT/cross/usr/lib"
+make -C bin/cc CC="$CC" MANROFF="$MANROFF" CROSSPREFIX="\\\"$ROOT/cross\\\"" STAGEPREFIX="\\\"$ROOT/stage\\\"" SEPFLAG=
+make -C bin/ld CC="$CC" MANROFF="$MANROFF" STAGEPREFIX="\\\"$ROOT/stage\\\"" SEPFLAG= LDFLAGS="-L$ROOT/cross/usr/lib"
 make -C bin/nm CC="$CC" MANROFF="$MANROFF" SEPFLAG=
 make -C bin/strip CC="$CC" MANROFF="$MANROFF" SEPFLAG=
 make -C lib/c2 CC="$CC" MANROFF="$MANROFF" SEPFLAG=
 make -C lib/ccom CC="$CC" MANROFF="$MANROFF" LDC0FLAGS= LDC1FLAGS= PURFLAG=
-make -C lib/cpp CC="$CC" MANROFF="$MANROFF" STAGEDIR="\\\"$ROOT/stage\\\"" SEPFLAG=
+make -C lib/cpp CC="$CC" MANROFF="$MANROFF" STAGEPREFIX="\\\"$ROOT/stage\\\"" SEPFLAG=
+make -C ucb CC="$CC" MANROFF="$MANROFF" SEPFLAG= mkstr unifdef xstr
 make -C ucb/strcompact CC="$CC" MANROFF="$MANROFF" SEPFLAG= CROSSDIR="\\\"$ROOT/cross\\\"" LOCALESTR="\\\"LC_ALL=C \\\""
 make -C ucb/symcompact CC="$CC" MANROFF="$MANROFF" SEPFLAG=
 make -C ucb/symdump CC="$CC" MANROFF="$MANROFF" SEPFLAG=
 make -C ucb/symorder CC="$CC" MANROFF="$MANROFF" SEPFLAG=
 make -C usr.bin CC="$ROOT/cross/bin/cc" NM="$ROOT/cross/bin/nm" lorder mkdep
+make -C usr.bin/lex CC="$CC" MANROFF="$MANROFF" CROSSPREFIX="\\\"$ROOT/cross\\\"" SEPFLAG=
 make -C usr.bin/ranlib CC="$CC" MANROFF="$MANROFF" SEPFLAG=
-make -C usr.bin/yacc CC="$CC" MANROFF="$MANROFF" CROSSDIR="\\\"$ROOT/cross\\\"" SEPFLAG=
+make -C usr.bin/yacc CC="$CC" MANROFF="$MANROFF" CROSSPREFIX="\\\"$ROOT/cross\\\"" SEPFLAG=
 
-"$INSTALL" bin/size "$ROOT/cross/bin"
+$INSTALL bin/size "$ROOT/cross/bin"
 make -C bin/ar INSTALL="$INSTALL" DESTDIR="$ROOT/cross" install
 make -C bin/as INSTALL="$INSTALL" DESTDIR="$ROOT/cross" install
 make -C bin/cc INSTALL="$INSTALL" DESTDIR="$ROOT/cross" install
@@ -59,12 +61,14 @@ make -C bin/strip INSTALL="$INSTALL" DESTDIR="$ROOT/cross" install
 make -C lib/c2 INSTALL="$INSTALL" DESTDIR="$ROOT/cross" install
 make -C lib/ccom INSTALL="$INSTALL" DESTDIR="$ROOT/cross" install
 make -C lib/cpp INSTALL="$INSTALL" DESTDIR="$ROOT/cross" install
+$INSTALL ucb/mkstr ucb/unifdef ucb/xstr "$ROOT/cross/usr/ucb"
 make -C ucb/strcompact INSTALL="$INSTALL" DESTDIR="$ROOT/cross" install
 make -C ucb/symcompact INSTALL="$INSTALL" DESTDIR="$ROOT/cross" install
 make -C ucb/symdump INSTALL="$INSTALL" DESTDIR="$ROOT/cross" install
 make -C ucb/symorder INSTALL="$INSTALL" DESTDIR="$ROOT/cross" install
-"$INSTALL" usr.bin/lorder "$ROOT/cross/usr/bin"
-"$INSTALL" usr.bin/mkdep "$ROOT/cross/usr/bin"
+$INSTALL usr.bin/lorder "$ROOT/cross/usr/bin"
+$INSTALL usr.bin/mkdep "$ROOT/cross/usr/bin"
+make -C usr.bin/lex INSTALL="$INSTALL" DESTDIR="$ROOT/cross" install
 make -C usr.bin/ranlib INSTALL="$INSTALL" DESTDIR="$ROOT/cross" install
 make -C usr.bin/yacc INSTALL="$INSTALL" DESTDIR="$ROOT/cross" install
 #
index 155b5ed..d367668 100644 (file)
@@ -13,7 +13,7 @@ INSTALL=install
 # But if you want to recover buffers on system crashes, you should create a
 # directory that doesn't get clearned upon reboot, and use that instead.
 # You would probably want to clean out that directory periodically with
-# ``cron''.  LIBDIR is for online documentation, the PORTSRV process,
+# ``cron''.  LIBPREFIX is for online documentation, the PORTSRV process,
 # RECOVER, and the system-wide .joverc file.  BINDIR is where to put the
 # executables JOVE and TEACHJOVE.  MANDIR is where the manual pages go for
 # JOVE, RECOVER and TEACHJOVE.  MANEXT is the extension for the man pages,
@@ -21,7 +21,7 @@ INSTALL=install
 
 DESTDIR =
 TMPDIR = /tmp
-LIBDIR = /usr/new/lib/jove
+LIBPREFIX = /usr/new/lib/jove
 BINDIR = /usr/new
 MANDIR = /usr/new/man/cat1
 MANEXT = 0
@@ -30,11 +30,11 @@ SHELL = /bin/csh
 # These should all just be right if the above ones are.
 JOVE = $(DESTDIR)$(BINDIR)/jove
 TEACHJOVE = $(DESTDIR)$(BINDIR)/teachjove
-RECOVER = $(DESTDIR)$(LIBDIR)/recover
-PORTSRV = $(DESTDIR)$(LIBDIR)/portsrv
-JOVERC = $(DESTDIR)$(LIBDIR)/.joverc
-CMDS.DOC = $(DESTDIR)$(LIBDIR)/cmds.doc
-TEACH-JOVE = $(DESTDIR)$(LIBDIR)/teach-jove
+RECOVER = $(DESTDIR)$(LIBPREFIX)/recover
+PORTSRV = $(DESTDIR)$(LIBPREFIX)/portsrv
+JOVERC = $(DESTDIR)$(LIBPREFIX)/.joverc
+CMDS.DOC = $(DESTDIR)$(LIBPREFIX)/cmds.doc
+TEACH-JOVE = $(DESTDIR)$(LIBPREFIX)/teach-jove
 JOVEM = $(DESTDIR)$(MANDIR)/jove.$(MANEXT)
 TEACHJOVEM = $(DESTDIR)$(MANDIR)/teachjove.$(MANEXT)
 
@@ -121,7 +121,7 @@ xjove:      $(OBJECTS)
        -if [ X$(SEPFLAG) = X ]; then \
                $(CC) $(LDFLAGS) -o xjove $(OBJECTS) $(LIBS); \
        elif [ X$(SEPFLAG) = X-i ]; then \
-               ld $(SEPFLAG) $(LDFLAGS) -X /lib/crt0.o \
+               ${LD} $(SEPFLAG) $(LDFLAGS) -X ${STAGEDIR}/lib/crt0.o \
                        -Z $(OVLAY1) \
                        -Z $(OVLAY2) \
                        -Z $(OVLAY3) \
@@ -139,7 +139,7 @@ gjove:      $(OBJECTS)
        @-size gjove
 
 ovjove:        $(OBJECTS)
-       ${LD} $(SEPFLAG) $(LDFLAGS) -X /lib/crt0.o \
+       ${LD} $(SEPFLAG) $(LDFLAGS) -X ${STAGEDIR}/lib/crt0.o \
                -Z $(OVLAY1) \
                -Z $(OVLAY2) \
                -Z $(OVLAY3) \
@@ -181,7 +181,7 @@ tune.c: Makefile tune.template
        @echo "/* Changes should be made in Makefile, not to this file! */" > tune.c
        @echo "" >> tune.c
        @sed -e 's;TMPDIR;$(TMPDIR);' \
-            -e 's;LIBDIR;$(LIBDIR);' \
+            -e 's;LIBPREFIX;$(LIBPREFIX);' \
             -e 's;BINDIR;$(BINDIR);' \
             -e 's;SHELL;$(SHELL);' tune.template >> tune.c
 
@@ -193,11 +193,11 @@ macvert:  macvert.c
 
 # install doesn't work for Xenix (no install program)
 
-install: DESTDIR_LIBDIR TEACH-JOVE CMDS.DOC JOVERC PORTSRV RECOVER JOVE \
+install: DESTDIR_LIBPREFIX TEACH-JOVE CMDS.DOC JOVERC PORTSRV RECOVER JOVE \
        TEACHJOVE JOVEM TEACHJOVEM
 
-DESTDIR_LIBDIR:
-       -mkdir $(DESTDIR)$(LIBDIR)
+DESTDIR_LIBPREFIX:
+       -mkdir $(DESTDIR)$(LIBPREFIX)
 
 TEACH-JOVE: doc/teach-jove
        ${INSTALL} -c -m 644 doc/teach-jove $(TEACH-JOVE)
@@ -225,7 +225,7 @@ TEACHJOVE: teachjove
 
 JOVEM: doc/jove.nr
        @sed -e 's;TMPDIR;$(TMPDIR);' \
-            -e 's;LIBDIR;$(LIBDIR);' \
+            -e 's;LIBPREFIX;$(LIBPREFIX);' \
             -e 's;SHELL;$(SHELL);' doc/jove.nr \
        | ${MANROFF} \
        > $(JOVEM)
@@ -234,7 +234,7 @@ JOVEM: doc/jove.nr
 
 TEACHJOVEM: doc/teachjove.nr
        @sed -e 's;TMPDIR;$(TMPDIR);' \
-            -e 's;LIBDIR;$(LIBDIR);' \
+            -e 's;LIBPREFIX;$(LIBPREFIX);' \
             -e 's;SHELL;$(SHELL);' doc/teachjove.nr \
        | ${MANROFF} \
        > $(TEACHJOVEM)
similarity index 57%
rename from new/kermit5.188/makefile
rename to new/kermit5.188/Makefile
index 60686aa..944d0ab 100644 (file)
@@ -1,3 +1,5 @@
+MKSTR=mkstr
+XSTR=xstr
 # CKUBS2.MAK, Wed Jul  17 22:10:40 1996
 #
 # Abbreviated version for 2.10 / 2.11 BSD, which chokes on full-size makefile
 # EFLAGS is the set of options and flags _EXCLUDING_ the optimize flag.
 #
 EXT=o
-OPT= -O
+# Old way, see bsd211 stuff:
+#OPT= -O
+#EFLAGS=-DBSD43 -DLCKDIR -DNODEBUG -DNOTLOG -DMINIDIAL \
+#      -DNOCSETS -DNOHELP -DNOSCRIPT -DNOSPL -DNOXMIT -DNOSETBUF $(KFLAGS) \
+#      -DSTR_FILE=\\\"/usr/local/lib/kermit5.sr\\\"
+# New way, see ./cc stuff:
+CFLAGS=-O ${EFLAGS}
 EFLAGS=-DBSD43 -DLCKDIR -DNODEBUG -DNOTLOG -DMINIDIAL \
        -DNOCSETS -DNOHELP -DNOSCRIPT -DNOSPL -DNOXMIT -DNOSETBUF $(KFLAGS) \
-       -DSTR_FILE=\\\"/usr/local/lib/kermit5.sr\\\"
+       -DSTR_FILE=\"/usr/local/lib/kermit5.sr\"
 LNKFLAGS= -i
-CC=./ckustr.sed
-CC2=cc
 #
 ###########################################################################
 #
@@ -86,7 +92,7 @@ wermit: ckcmai.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
        ckucon.$(EXT) ckutio.$(EXT) ckufio.$(EXT) ckudia.$(EXT) \
        ckuscr.$(EXT) ckcnet.$(EXT) ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) \
        ckuusy.$(EXT) ckustr.o strings.o
-       $(CC2) $(LNKFLAGS) -o wermit \
+       $(CC) $(LNKFLAGS) -o wermit \
                ckutio.$(EXT) ckufio.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) \
                ckcfn3.$(EXT) \
                 -Z ckcmai.$(EXT) ckuusr.$(EXT) ckucmd.$(EXT) \
@@ -98,99 +104,132 @@ wermit: ckcmai.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
                 -Y ckustr.o strings.o $(LIBS)
 
 strings.o: strings
-       xstr
-       cc -c xs.c
+       ${XSTR}
+       ${CC} -c xs.c
        mv -f xs.o strings.o
        rm -f xs.c
 
 ###########################################################################
 # Dependencies for each module...
 #
-ckcmai.$(EXT): ckcmai.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcnet.h
+ckcmai.$(EXT): ckcmai.c cc ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcnet.h
+       ./cc ${CFLAGS} -c $<
 
-ckcpro.$(EXT): ckcpro.c ckcker.h ckcdeb.h ckcasc.h
+ckcpro.$(EXT): ckcpro.c cc ckcker.h ckcdeb.h ckcasc.h
+       ./cc ${CFLAGS} -c $<
 
 ckcpro.c: ckcpro.w wart ckcdeb.h ckcasc.h ckcker.h
        ./wart ckcpro.w ckcpro.c
 
-ckcfns.$(EXT): ckcfns.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h \
+ckcfns.$(EXT): ckcfns.c cc ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h \
                ckuxla.h
+       ./cc ${CFLAGS} -c $<
 
-ckcfn2.$(EXT): ckcfn2.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h ckuxla.h
+ckcfn2.$(EXT): ckcfn2.c cc ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h ckuxla.h
+       ./cc ${CFLAGS} -c $<
 
-ckcfn3.$(EXT): ckcfn3.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h \
+ckcfn3.$(EXT): ckcfn3.c cc ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h \
                ckuxla.h
+       ./cc ${CFLAGS} -c $<
 
-ckuxla.$(EXT): ckuxla.c ckcker.h ckcdeb.h ckcxla.h ckuxla.h
+ckuxla.$(EXT): ckuxla.c cc ckcker.h ckcdeb.h ckcxla.h ckuxla.h
+       ./cc ${CFLAGS} -c $<
 
-ckuusr.$(EXT): ckuusr.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \
-               ckcasc.h ckcnet.h
+ckuusr.$(EXT): ckuusr.c cc ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h \
+               ckuxla.h ckcasc.h ckcnet.h
+       ./cc ${CFLAGS} -c $<
 
-ckuus2.$(EXT): ckuus2.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \
-               ckcasc.h
+ckuus2.$(EXT): ckuus2.c cc ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h \
+               ckuxla.h ckcasc.h
+       ./cc ${CFLAGS} -c $<
 
-ckuus3.$(EXT): ckuus3.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \
-               ckcasc.h ckcnet.h
+ckuus3.$(EXT): ckuus3.c cc ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h \
+               ckuxla.h ckcasc.h ckcnet.h
+       ./cc ${CFLAGS} -c $<
 
-ckuus4.$(EXT): ckuus4.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \
-               ckcasc.h ckcnet.h
+ckuus4.$(EXT): ckuus4.c cc ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h \
+               ckuxla.h ckcasc.h ckcnet.h
+       ./cc ${CFLAGS} -c $<
 
-ckuus5.$(EXT): ckuus5.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcasc.h
+ckuus5.$(EXT): ckuus5.c cc ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcasc.h
+       ./cc ${CFLAGS} -c $<
 
-ckuus6.$(EXT): ckuus6.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcasc.h
+ckuus6.$(EXT): ckuus6.c cc ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcasc.h
+       ./cc ${CFLAGS} -c $<
 
 ckuus7.$(EXT): ckuus7.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \
-               ckcasc.h ckcnet.h
-
-ckuusx.$(EXT): ckuusx.c  ckcker.h ckuusr.h ckcdeb.h ckcasc.h
-
-ckuusy.$(EXT): ckuusy.c  ckcker.h ckcdeb.h ckcasc.h
-
-ckucmd.$(EXT): ckucmd.c ckcasc.h ckucmd.h ckcdeb.h
-
-ckufio.$(EXT): ckufio.c ckcdeb.h ckuver.h
-
-ckutio.$(EXT): ckutio.c ckcdeb.h ckcnet.h ckuver.h
-
-ckucon.$(EXT): ckucon.c ckcker.h ckcdeb.h ckcasc.h ckcnet.h
-
-ckcnet.$(EXT): ckcnet.c ckcdeb.h ckcker.h ckcnet.h
-
-wart: ckwart.$(EXT)
-       $(CC) $(LNKFLAGS) -o wart ckwart.$(EXT)
-
-ckcmdb.$(EXT): ckcmdb.c ckcdeb.h
-
-ckwart.$(EXT): ckwart.c
-
-ckudia.$(EXT): ckudia.c ckcker.h ckcdeb.h ckucmd.h ckcasc.h
-       $(CC) CFLAGS=${EFLAGS} -c ckudia.c
-
-ckuscr.$(EXT): ckuscr.c ckcker.h ckcdeb.h ckcasc.h
-
-#2.11BSD
-#
-bsd211:
-       @echo "Making C-Kermit 5A for 2BSD with overlays..."
-       @echo -n "Be sure to install kermit5.sr with the same pathname"
-       @echo " specified in ckustr.c!"
-       chmod +x ckustr.sed
-       make wermit CFLAGS="${OPT} ${EFLAGS}" LIBS=-lstubs
-
-#2.10BSD
-#
-bsd210:
-       @echo -n "Be sure to install ctimed with the same pathname"
-       @echo " specified in ckustr.c for STR_CTIMED!"
-       @echo "Making C-Kermit 5A for 2BSD with overlays..."
-       @echo -n "Be sure to install kermit5.sr with the same pathname"
-       @echo " specified in ckustr.c!"
-       chmod +x ckustr.sed
-       make wermit ctimed CFLAGS="${OPT} ${EFLAGS} \
-                       -DSTR_CTIMED=\\\"/usr/lib/ctimed\\\""
-
-ctimed:
-       $(CC2) $(CFLAGS) $(LNKFLAGS) -o ctimed cku2tm.c
+               ckcasc.h ckcnet.h cc
+       ./cc ${CFLAGS} -c $<
+
+ckuusx.$(EXT): ckuusx.c cc ckcker.h ckuusr.h ckcdeb.h ckcasc.h
+       ./cc ${CFLAGS} -c $<
+
+ckuusy.$(EXT): ckuusy.c cc ckcker.h ckcdeb.h ckcasc.h
+       ./cc ${CFLAGS} -c $<
+
+ckucmd.$(EXT): ckucmd.c cc ckcasc.h ckucmd.h ckcdeb.h
+       ./cc ${CFLAGS} -c $<
+
+ckufio.$(EXT): ckufio.c cc ckcdeb.h ckuver.h
+       ./cc ${CFLAGS} -c $<
+
+ckutio.$(EXT): ckutio.c cc ckcdeb.h ckcnet.h ckuver.h
+       ./cc ${CFLAGS} -c $<
+
+ckucon.$(EXT): ckucon.c cc ckcker.h ckcdeb.h ckcasc.h ckcnet.h
+       ./cc ${CFLAGS} -c $<
+
+ckcnet.$(EXT): ckcnet.c cc ckcdeb.h ckcker.h ckcnet.h
+       ./cc ${CFLAGS} -c $<
+
+ckcmdb.$(EXT): ckcmdb.c cc ckcdeb.h
+       ./cc ${CFLAGS} -c $<
+
+ckudia.$(EXT): ckudia.c cc ckcker.h ckcdeb.h ckucmd.h ckcasc.h
+# this one does not use -O for some reason
+#      $(CC) CFLAGS=${EFLAGS} -c ckudia.c
+       ./cc ${EFLAGS} -c $<
+
+ckuscr.$(EXT): ckuscr.c cc ckcker.h ckcdeb.h ckcasc.h
+       ./cc ${CFLAGS} -c $<
+
+# for cross compiling, to access the host compiler we use cc not ${CC}
+wart: wart.c
+       cc -o $@ $<
+
+# make a script which extracts strings, then runs the target compiler
+cc: cc.sh
+       sed \
+-e 's@^mkstr @${MKSTR} @' \
+-e 's@| xstr @| ${XSTR} @' \
+-e 's@^cc @${CC} @' \
+$< >$@
+       chmod 755 $@
+
+# Nick will replace this stuff with an ordinary install script:
+##2.11BSD
+##
+#bsd211:
+#      @echo "Making C-Kermit 5A for 2BSD with overlays..."
+#      @echo -n "Be sure to install kermit5.sr with the same pathname"
+#      @echo " specified in ckustr.c!"
+#      chmod +x ckustr.sed
+#      make wermit CFLAGS="${OPT} ${EFLAGS}" LIBS=-lstubs
+#
+##2.10BSD
+##
+#bsd210:
+#      @echo -n "Be sure to install ctimed with the same pathname"
+#      @echo " specified in ckustr.c for STR_CTIMED!"
+#      @echo "Making C-Kermit 5A for 2BSD with overlays..."
+#      @echo -n "Be sure to install kermit5.sr with the same pathname"
+#      @echo " specified in ckustr.c!"
+#      chmod +x ckustr.sed
+#      make wermit ctimed CFLAGS="${OPT} ${EFLAGS} \
+#                      -DSTR_CTIMED=\\\"/usr/lib/ctimed\\\""
+#
+#ctimed:
+#      $(CC) $(CFLAGS) $(LNKFLAGS) -o ctimed cku2tm.c
 
 #Clean up intermediate and object files
 clean:
similarity index 80%
rename from new/kermit5.188/ckustr.sed
rename to new/kermit5.188/cc.sh
index 6e8c3e5..7eab7b4 100755 (executable)
@@ -1,4 +1,4 @@
-#! /bin/sh
+#! /bin/sh -v
 # Special cc preprocessor for using mkstr(1) to extract strings from the
 # kermit5 source.  Change the "CC=cc" line to "CC=./ckustr.sed" to use
 # string extraction.  NOTE: the file ckustr.c might need the StringFile
@@ -9,14 +9,15 @@
 STRINGS=kermit5.sr
 
 # Get filename and arguments.
-initargs=$@
+#initargs=$@
 while [ -n "$1" ]
 do
-       if [ $1 = -o ]
-       then
-               exec cc $initargs
-               exit 1
-       fi
+       # NO NEED ANYMORE, WE NOW USE THIS SCRIPT MORE JUDICIOUSLY
+       #if [ $1 = -o ]
+       #then
+       #       exec cc $initargs
+       #       exit 1
+       #fi
        if [ `expr substr $1 1 1` = - ]
        then
                if [ $1 != -c ]
@@ -29,12 +30,13 @@ do
        shift
 done
 
-# Only process compilations, and then only for certain files.
-if [ $csrc = ckustr.c -o $csrc = ckwart.c ]
-then
-       exec cc $initargs
-       exit 1
-fi
+# NO NEED ANYMORE, WE NOW USE THIS SCRIPT MORE JUDICIOUSLY
+## Only process compilations, and then only for certain files.
+#if [ $csrc = ckustr.c -o $csrc = ckwart.c ]
+#then
+#      exec cc $initargs
+#      exit 1
+#fi
 
 # String extractions
 echo Extracting strings from ${csrc}...
diff --git a/new/kermit5.188/o.sh b/new/kermit5.188/o.sh
new file mode 100755 (executable)
index 0000000..5128fe6
--- /dev/null
@@ -0,0 +1,10 @@
+#!/bin/sh
+ROOT="`pwd |sed -e 's/\/new\/kermit5.188$//'`"
+CC="$ROOT/cross/bin/cc"
+INSTALL="$ROOT/install.sh --strip-program=\"$ROOT/cross/bin/strip\""
+MKSTR="$ROOT/cross/usr/ucb/mkstr"
+MANROFF="nroff -man"
+XSTR="$ROOT/cross/usr/ucb/xstr"
+mkdir --parents "$ROOT/stage/lib"
+make CC="$CC" MKSTR="$MKSTR" MANROFF="$MANROFF" XSTR="$XSTR" && \
+make INSTALL="$INSTALL" DESTDIR="$ROOT/stage" install
index 999b675..b3d2aa0 100644 (file)
@@ -30,7 +30,7 @@ CCFLAGS = -DMSTDIR='\"$(MSTDIR)\"' -DARCHDIR='\"$(ARCHDIR)\"' \
        -DNOTES='\"$(NOTES)\"' -DNOTESUID=$(NOTESUID) -DNOTESGRP='\"$(NOTESGRP)\"' \
        -DANON='\"$(ANON)\"' -DANONUID=$(ANONUID) \
        -DBIN='\"$(BIN)\"' -O
-LFLAGS = -i
+LDFLAGS = -i
 #      -n is shared, read-only text segment
 TERMCAP = -ltermcap
 # Evidently on System V (and other USG systems?) the termcap routines
@@ -116,15 +116,15 @@ help:
        @echo a good first time sequence is make base then make boot.
 
 user:
-       make -f Makefile.user CFLAGS="${CCFLAGS}" LFLAGS="${LFLAGS}" \
+       make -f Makefile.user CFLAGS="${CCFLAGS}" LDFLAGS="${LFLAGS}" \
                TERMCAP="${TERMCAP}" $(USERCMDS)
 
 network:
-       make -f Makefile.net CFLAGS="${CCFLAGS}" LFLAGS="${LFLAGS}" \
+       make -f Makefile.net CFLAGS="${CCFLAGS}" LDFLAGS="${LFLAGS}" \
                TERMCAP="${TERMCAP}" $(NETCMDS)
 
 utility:
-       make -f Makefile.util CFLAGS="${CCFLAGS}" LFLAGS="${LFLAGS}" \
+       make -f Makefile.util CFLAGS="${CCFLAGS}" LDFLAGS="${LFLAGS}" \
                TERMCAP="${TERMCAP}" $(UTILCMDS)
 
 #      make base should only be run once!
index 20f8931..258fc09 100644 (file)
@@ -4,7 +4,7 @@ INSTALL=install
 #REMOTE=-DREMOTE                       # -DREMOTE  use remote tape
 SWAP=                          # -DSWAP swap bytes
 CFLAGS= $(SWAP) $(REMOTE) -O
-LFLAGS=-i
+LDFLAGS=-i
 OWNER=bin                      # user for remote tape access
 MODE=755
 BINDIR=/usr/new
@@ -14,7 +14,7 @@ MANSRC=       vmsbackup.1
 
 #
 vmsbackup: vmsbackup.o match.o
-       cc $(LFLAGS) -o vmsbackup vmsbackup.o match.o $(LIBS)
+       cc $(LDFLAGS) -o vmsbackup vmsbackup.o match.o $(LIBS)
 
 install: vmsbackup $(MAN)
        ${INSTALL} -m $(MODE) -o $(OWNER) -s vmsbackup ${DESTDIR}$(BINDIR)      
diff --git a/o.sh b/o.sh
index 04166ca..6a94595 100755 (executable)
--- a/o.sh
+++ b/o.sh
@@ -8,335 +8,65 @@ AS="$ROOT/cross/bin/as"
 CC="$ROOT/cross/bin/cc"
 CPP="$ROOT/cross/lib/cpp"
 LD="$ROOT/cross/bin/ld"
+LEX="$ROOT/cross/usr/bin/lex"
 LORDER="$ROOT/cross/usr/bin/lorder"
 MANROFF="nroff -man"
 MKDEP="$ROOT/cross/usr/bin/mkdep"
+MKSTR="$ROOT/cross/usr/ucb/mkstr"
 INSTALL="$ROOT/install.sh --strip-program=\"$ROOT/cross/usr/bin/strip\""
 RANLIB="$ROOT/cross/usr/bin/ranlib"
+UNIFDEF="$ROOT/cross/usr/ucb/unifdef"
 SIZE="$ROOT/cross/bin/size"
 STRCOMPACT="$ROOT/cross/usr/ucb/strcompact"
 SYMCOMPACT="$ROOT/cross/usr/ucb/symcompact"
 SYMORDER="$ROOT/cross/usr/ucb/symorder"
+XSTR="$ROOT/cross/usr/ucb/xstr"
 YACC="$ROOT/cross/usr/bin/yacc"
 
 # create skeleton filesystem for target
-mkdir --parents "$ROOT/stage/bin"
-mkdir --parents "$ROOT/stage/dev"
-mkdir --parents "$ROOT/stage/dev/fd"
-mkdir --parents "$ROOT/stage/etc"
-mkdir --parents "$ROOT/stage/etc/uucp"
-mkdir --parents "$ROOT/stage/mnt"
-mkdir --parents "$ROOT/stage/lib"
-mkdir --parents "$ROOT/stage/mdec"
-mkdir --parents "$ROOT/stage/tmp"
-mkdir --parents "$ROOT/stage/var"
-mkdir --parents "$ROOT/stage/var/db"
-mkdir --parents "$ROOT/stage/var/run"
-mkdir --parents "$ROOT/stage/var/log"
-mkdir --parents "$ROOT/stage/var/log/learn"
-mkdir --parents "$ROOT/stage/var/cron"
-mkdir --parents "$ROOT/stage/var/cron/tabs"
-mkdir --parents "$ROOT/stage/sbin"
-mkdir --parents "$ROOT/stage/usr"
-mkdir --parents "$ROOT/stage/usr/adm"
-mkdir --parents "$ROOT/stage/usr/bin"
-mkdir --parents "$ROOT/stage/usr/crash"
-mkdir --parents "$ROOT/stage/usr/dict"
-mkdir --parents "$ROOT/stage/usr/dict/papers"
-mkdir --parents "$ROOT/stage/usr/doc"
-mkdir --parents "$ROOT/stage/usr/doc/2.10"
-mkdir --parents "$ROOT/stage/usr/doc/2.10/setup.2.9"
-mkdir --parents "$ROOT/stage/usr/doc/2.10/setup.2.9/RCS"
-mkdir --parents "$ROOT/stage/usr/doc/2.10/kchanges.2.10"
-mkdir --parents "$ROOT/stage/usr/doc/2.10/fsck"
-mkdir --parents "$ROOT/stage/usr/doc/2.10/v7summary"
-mkdir --parents "$ROOT/stage/usr/doc/2.10/px"
-mkdir --parents "$ROOT/stage/usr/doc/2.10/pxp"
-mkdir --parents "$ROOT/stage/usr/doc/2.10/pascal"
-mkdir --parents "$ROOT/stage/usr/doc/2.10/setup.2.10"
-mkdir --parents "$ROOT/stage/usr/doc/2.10/kchanges.2.11"
-mkdir --parents "$ROOT/stage/usr/doc/2.10/setup.2.11"
-mkdir --parents "$ROOT/stage/usr/doc/misc"
-mkdir --parents "$ROOT/stage/usr/doc/misc/px"
-mkdir --parents "$ROOT/stage/usr/doc/misc/kchanges.4.2"
-mkdir --parents "$ROOT/stage/usr/doc/misc/uchanges.4.2"
-mkdir --parents "$ROOT/stage/usr/doc/misc/gprof"
-mkdir --parents "$ROOT/stage/usr/doc/misc/diskperf"
-mkdir --parents "$ROOT/stage/usr/doc/misc/sdb"
-mkdir --parents "$ROOT/stage/usr/doc/misc/ctour"
-mkdir --parents "$ROOT/stage/usr/doc/misc/berknet"
-mkdir --parents "$ROOT/stage/usr/doc/misc/sysperf"
-mkdir --parents "$ROOT/stage/usr/doc/ps1"
-mkdir --parents "$ROOT/stage/usr/doc/ps1/02.f77"
-mkdir --parents "$ROOT/stage/usr/doc/ps1/04.pascal"
-mkdir --parents "$ROOT/stage/usr/doc/ps1/05.as"
-mkdir --parents "$ROOT/stage/usr/doc/ps1/06.sysman"
-mkdir --parents "$ROOT/stage/usr/doc/ps1/08.ipc"
-mkdir --parents "$ROOT/stage/usr/doc/ps1/07.ipctut"
-mkdir --parents "$ROOT/stage/usr/doc/ps1/09.lint"
-mkdir --parents "$ROOT/stage/usr/doc/ps1/10.adb"
-mkdir --parents "$ROOT/stage/usr/doc/ps1/11.dbx"
-mkdir --parents "$ROOT/stage/usr/doc/ps1/12.make"
-mkdir --parents "$ROOT/stage/usr/doc/ps1/13.rcs"
-mkdir --parents "$ROOT/stage/usr/doc/ps1/14.sccs"
-mkdir --parents "$ROOT/stage/usr/doc/ps1/15.yacc"
-mkdir --parents "$ROOT/stage/usr/doc/ps1/16.lex"
-mkdir --parents "$ROOT/stage/usr/doc/ps1/17.m4"
-mkdir --parents "$ROOT/stage/usr/doc/ps1/18.curses"
-mkdir --parents "$ROOT/stage/usr/doc/ps1/03.f77io"
-mkdir --parents "$ROOT/stage/usr/doc/ps1/01.Clang"
-mkdir --parents "$ROOT/stage/usr/doc/ps2"
-mkdir --parents "$ROOT/stage/usr/doc/ps2/02.summary"
-mkdir --parents "$ROOT/stage/usr/doc/ps2/03.uprog"
-mkdir --parents "$ROOT/stage/usr/doc/ps2/04.implement"
-mkdir --parents "$ROOT/stage/usr/doc/ps2/05.iosys"
-mkdir --parents "$ROOT/stage/usr/doc/ps2/06.efl"
-mkdir --parents "$ROOT/stage/usr/doc/ps2/07.fp"
-mkdir --parents "$ROOT/stage/usr/doc/ps2/09.lisp"
-mkdir --parents "$ROOT/stage/usr/doc/ps2/01.cacm"
-mkdir --parents "$ROOT/stage/usr/doc/ps2/08.ratfor"
-mkdir --parents "$ROOT/stage/usr/doc/run"
-mkdir --parents "$ROOT/stage/usr/doc/smm"
-mkdir --parents "$ROOT/stage/usr/doc/smm/01.setup"
-mkdir --parents "$ROOT/stage/usr/doc/smm/12.uchanges"
-mkdir --parents "$ROOT/stage/usr/doc/smm/13.kchanges"
-mkdir --parents "$ROOT/stage/usr/doc/smm/11.named"
-mkdir --parents "$ROOT/stage/usr/doc/smm/06.lpd"
-mkdir --parents "$ROOT/stage/usr/doc/smm/16.sendmail"
-mkdir --parents "$ROOT/stage/usr/doc/smm/02.config"
-mkdir --parents "$ROOT/stage/usr/doc/smm/03.kdebug"
-mkdir --parents "$ROOT/stage/usr/doc/smm/05.fsck"
-mkdir --parents "$ROOT/stage/usr/doc/smm/04.quotas"
-mkdir --parents "$ROOT/stage/usr/doc/smm/08.timedop"
-mkdir --parents "$ROOT/stage/usr/doc/smm/14.fastfs"
-mkdir --parents "$ROOT/stage/usr/doc/smm/19.porttour"
-mkdir --parents "$ROOT/stage/usr/doc/smm/20.termdesc"
-mkdir --parents "$ROOT/stage/usr/doc/smm/17.security"
-mkdir --parents "$ROOT/stage/usr/doc/smm/18.password"
-mkdir --parents "$ROOT/stage/usr/doc/smm/15.net"
-mkdir --parents "$ROOT/stage/usr/doc/smm/09.uucpimpl"
-mkdir --parents "$ROOT/stage/usr/doc/smm/10.newsop"
-mkdir --parents "$ROOT/stage/usr/doc/smm/22.timed"
-mkdir --parents "$ROOT/stage/usr/doc/smm/07.sendmailop"
-mkdir --parents "$ROOT/stage/usr/doc/smm/21.uucpnet"
-mkdir --parents "$ROOT/stage/usr/doc/usd"
-mkdir --parents "$ROOT/stage/usr/doc/usd/02.learn"
-mkdir --parents "$ROOT/stage/usr/doc/usd/03.shell"
-mkdir --parents "$ROOT/stage/usr/doc/usd/04.csh"
-mkdir --parents "$ROOT/stage/usr/doc/usd/05.dc"
-mkdir --parents "$ROOT/stage/usr/doc/usd/06.bc"
-mkdir --parents "$ROOT/stage/usr/doc/usd/07.Mail"
-mkdir --parents "$ROOT/stage/usr/doc/usd/08.mh"
-mkdir --parents "$ROOT/stage/usr/doc/usd/09.newsread"
-mkdir --parents "$ROOT/stage/usr/doc/usd/10.etiq"
-mkdir --parents "$ROOT/stage/usr/doc/usd/11.notes"
-mkdir --parents "$ROOT/stage/usr/doc/usd/12.edtut"
-mkdir --parents "$ROOT/stage/usr/doc/usd/13.edadv"
-mkdir --parents "$ROOT/stage/usr/doc/usd/14.edit"
-mkdir --parents "$ROOT/stage/usr/doc/usd/15.vi"
-mkdir --parents "$ROOT/stage/usr/doc/usd/16.ex"
-mkdir --parents "$ROOT/stage/usr/doc/usd/17.jove"
-mkdir --parents "$ROOT/stage/usr/doc/usd/18.sed"
-mkdir --parents "$ROOT/stage/usr/doc/usd/19.awk"
-mkdir --parents "$ROOT/stage/usr/doc/usd/20.msmacros"
-mkdir --parents "$ROOT/stage/usr/doc/usd/21.msdiffs"
-mkdir --parents "$ROOT/stage/usr/doc/usd/22.memacros"
-mkdir --parents "$ROOT/stage/usr/doc/usd/23.meref"
-mkdir --parents "$ROOT/stage/usr/doc/usd/24.troff"
-mkdir --parents "$ROOT/stage/usr/doc/usd/25.trofftut"
-mkdir --parents "$ROOT/stage/usr/doc/usd/26.eqn"
-mkdir --parents "$ROOT/stage/usr/doc/usd/27.eqnguide"
-mkdir --parents "$ROOT/stage/usr/doc/usd/28.tbl"
-mkdir --parents "$ROOT/stage/usr/doc/usd/29.refer"
-mkdir --parents "$ROOT/stage/usr/doc/usd/30.invert"
-mkdir --parents "$ROOT/stage/usr/doc/usd/31.bib"
-mkdir --parents "$ROOT/stage/usr/doc/usd/32.diction"
-mkdir --parents "$ROOT/stage/usr/doc/usd/33.rogue"
-mkdir --parents "$ROOT/stage/usr/doc/usd/34.trek"
-mkdir --parents "$ROOT/stage/usr/doc/usd/01.begin"
-mkdir --parents "$ROOT/stage/usr/games"
-mkdir --parents "$ROOT/stage/usr/games/lib"
-mkdir --parents "$ROOT/stage/usr/games/lib/warp"
-mkdir --parents "$ROOT/stage/usr/games/lib/phantasia"
-mkdir --parents "$ROOT/stage/usr/games/lib/quiz.k"
-mkdir --parents "$ROOT/stage/usr/games/lib/hackdir"
-mkdir --parents "$ROOT/stage/usr/games/lib/atc"
-mkdir --parents "$ROOT/stage/usr/guest"
-mkdir --parents "$ROOT/stage/usr/guest/operator"
-mkdir --parents "$ROOT/stage/usr/hosts"
-mkdir --parents "$ROOT/stage/usr/include"
-mkdir --parents "$ROOT/stage/usr/include/arpa"
-mkdir --parents "$ROOT/stage/usr/include/pascal"
-mkdir --parents "$ROOT/stage/usr/include/protocols"
-mkdir --parents "$ROOT/stage/usr/include/OLD"
-mkdir --parents "$ROOT/stage/usr/ingres"
-mkdir --parents "$ROOT/stage/usr/ingres/bin"
-mkdir --parents "$ROOT/stage/usr/ingres/source"
-mkdir --parents "$ROOT/stage/usr/ingres/source/access"
-mkdir --parents "$ROOT/stage/usr/ingres/source/dbu"
-mkdir --parents "$ROOT/stage/usr/ingres/source/decomp"
-mkdir --parents "$ROOT/stage/usr/ingres/source/equel"
-mkdir --parents "$ROOT/stage/usr/ingres/source/equel/runtime"
-mkdir --parents "$ROOT/stage/usr/ingres/source/monitor"
-mkdir --parents "$ROOT/stage/usr/ingres/source/ovqp"
-mkdir --parents "$ROOT/stage/usr/ingres/source/parser"
-mkdir --parents "$ROOT/stage/usr/ingres/source/qrymod"
-mkdir --parents "$ROOT/stage/usr/ingres/source/scanner"
-mkdir --parents "$ROOT/stage/usr/ingres/source/support"
-mkdir --parents "$ROOT/stage/usr/ingres/source/iutil"
-mkdir --parents "$ROOT/stage/usr/ingres/source/gutil"
-mkdir --parents "$ROOT/stage/usr/ingres/source/yyyacc"
-mkdir --parents "$ROOT/stage/usr/ingres/data"
-mkdir --parents "$ROOT/stage/usr/ingres/data/base"
-mkdir --parents "$ROOT/stage/usr/ingres/doc"
-mkdir --parents "$ROOT/stage/usr/ingres/doc/access"
-mkdir --parents "$ROOT/stage/usr/ingres/doc/error"
-mkdir --parents "$ROOT/stage/usr/ingres/doc/files"
-mkdir --parents "$ROOT/stage/usr/ingres/doc/geoquel"
-mkdir --parents "$ROOT/stage/usr/ingres/doc/unix"
-mkdir --parents "$ROOT/stage/usr/ingres/doc/other"
-mkdir --parents "$ROOT/stage/usr/ingres/doc/quel"
-mkdir --parents "$ROOT/stage/usr/ingres/demo"
-mkdir --parents "$ROOT/stage/usr/ingres/files"
-mkdir --parents "$ROOT/stage/usr/ingres/lib"
-mkdir --parents "$ROOT/stage/usr/lib"
-mkdir --parents "$ROOT/stage/usr/libdata"
-mkdir --parents "$ROOT/stage/usr/libdata/lex"
-mkdir --parents "$ROOT/stage/usr/libexec"
-mkdir --parents "$ROOT/stage/usr/libexec/lint"
-mkdir --parents "$ROOT/stage/usr/libexec/refer"
-mkdir --parents "$ROOT/stage/usr/libexec/struct"
-mkdir --parents "$ROOT/stage/usr/libexec/find"
-mkdir --parents "$ROOT/stage/usr/libexec/diction"
-mkdir --parents "$ROOT/stage/usr/libexec/lpr"
-mkdir --parents "$ROOT/stage/usr/local"
-mkdir --parents "$ROOT/stage/usr/local/lib"
-mkdir --parents "$ROOT/stage/usr/local/lib/mp"
-mkdir --parents "$ROOT/stage/usr/local/lib/cxref"
-mkdir --parents "$ROOT/stage/usr/local/man"
-mkdir --parents "$ROOT/stage/usr/local/man/cat1"
-mkdir --parents "$ROOT/stage/usr/local/man/cat2"
-mkdir --parents "$ROOT/stage/usr/local/man/cat3"
-mkdir --parents "$ROOT/stage/usr/local/man/cat4"
-mkdir --parents "$ROOT/stage/usr/local/man/cat5"
-mkdir --parents "$ROOT/stage/usr/local/man/cat6"
-mkdir --parents "$ROOT/stage/usr/local/man/cat7"
-mkdir --parents "$ROOT/stage/usr/local/man/cat8"
-mkdir --parents "$ROOT/stage/usr/man"
-mkdir --parents "$ROOT/stage/usr/man/cat7"
-mkdir --parents "$ROOT/stage/usr/man/cat5"
-mkdir --parents "$ROOT/stage/usr/man/cat1"
-mkdir --parents "$ROOT/stage/usr/man/cat2"
-mkdir --parents "$ROOT/stage/usr/man/cat3"
-mkdir --parents "$ROOT/stage/usr/man/cat4"
-mkdir --parents "$ROOT/stage/usr/man/cat6"
-mkdir --parents "$ROOT/stage/usr/man/cat8"
-mkdir --parents "$ROOT/stage/usr/man/cat3f"
-mkdir --parents "$ROOT/stage/usr/msgs"
-mkdir --parents "$ROOT/stage/usr/new"
-mkdir --parents "$ROOT/stage/usr/new/lib"
-mkdir --parents "$ROOT/stage/usr/new/lib/jove"
-mkdir --parents "$ROOT/stage/usr/new/man"
-mkdir --parents "$ROOT/stage/usr/new/man/cat1"
-mkdir --parents "$ROOT/stage/usr/new/man/cat2"
-mkdir --parents "$ROOT/stage/usr/new/man/cat3"
-mkdir --parents "$ROOT/stage/usr/new/man/cat4"
-mkdir --parents "$ROOT/stage/usr/new/man/cat5"
-mkdir --parents "$ROOT/stage/usr/new/man/cat6"
-mkdir --parents "$ROOT/stage/usr/new/man/cat7"
-mkdir --parents "$ROOT/stage/usr/new/man/cat8"
-mkdir --parents "$ROOT/stage/usr/old"
-mkdir --parents "$ROOT/stage/usr/preserve"
-mkdir --parents "$ROOT/stage/usr/pub"
-mkdir --parents "$ROOT/stage/usr/sbin"
-mkdir --parents "$ROOT/stage/usr/share"
-mkdir --parents "$ROOT/stage/usr/share/me"
-mkdir --parents "$ROOT/stage/usr/share/ms"
-mkdir --parents "$ROOT/stage/usr/share/tmac"
-mkdir --parents "$ROOT/stage/usr/share/misc"
-mkdir --parents "$ROOT/stage/usr/share/tabset"
-mkdir --parents "$ROOT/stage/usr/share/learn"
-mkdir --parents "$ROOT/stage/usr/share/learn/bin"
-mkdir --parents "$ROOT/stage/usr/share/learn/C"
-mkdir --parents "$ROOT/stage/usr/share/learn/editor"
-mkdir --parents "$ROOT/stage/usr/share/learn/eqn"
-mkdir --parents "$ROOT/stage/usr/share/learn/files"
-mkdir --parents "$ROOT/stage/usr/share/learn/macros"
-mkdir --parents "$ROOT/stage/usr/share/learn/morefiles"
-mkdir --parents "$ROOT/stage/usr/share/learn/vi"
-mkdir --parents "$ROOT/stage/usr/share/adb"
-mkdir --parents "$ROOT/stage/usr/share/lint"
-mkdir --parents "$ROOT/stage/usr/share/font"
-mkdir --parents "$ROOT/stage/usr/share/pascal"
-mkdir --parents "$ROOT/stage/usr/share/term"
-mkdir --parents "$ROOT/stage/usr/share/fontinfo"
-mkdir --parents "$ROOT/stage/usr/share/zoneinfo"
-mkdir --parents "$ROOT/stage/usr/share/zoneinfo/Australia"
-mkdir --parents "$ROOT/stage/usr/share/zoneinfo/US"
-mkdir --parents "$ROOT/stage/usr/share/zoneinfo/Canada"
-mkdir --parents "$ROOT/stage/usr/share/zoneinfo/SystemV"
-mkdir --parents "$ROOT/stage/usr/spool"
-mkdir --parents "$ROOT/stage/usr/spool/at"
-mkdir --parents "$ROOT/stage/usr/spool/at/past"
-mkdir --parents "$ROOT/stage/usr/spool/locks"
-mkdir --parents "$ROOT/stage/usr/spool/lpd"
-mkdir --parents "$ROOT/stage/usr/spool/mail"
-mkdir --parents "$ROOT/stage/usr/spool/mqueue"
-mkdir --parents "$ROOT/stage/usr/spool/rwho"
-mkdir --parents "$ROOT/stage/usr/spool/uucp"
-mkdir --parents "$ROOT/stage/usr/spool/uucp/XTMP"
-mkdir --parents "$ROOT/stage/usr/spool/uucp/CORRUPT"
-mkdir --parents "$ROOT/stage/usr/spool/uucp/AUDIT"
-mkdir --parents "$ROOT/stage/usr/spool/uucp/LCK"
-mkdir --parents "$ROOT/stage/usr/spool/uucp/LOG"
-mkdir --parents "$ROOT/stage/usr/spool/uucp/LOG/uucico"
-mkdir --parents "$ROOT/stage/usr/spool/uucp/LOG/uux"
-mkdir --parents "$ROOT/stage/usr/spool/uucp/LOG/uuxqt"
-mkdir --parents "$ROOT/stage/usr/spool/uucp/LOG/uucp"
-mkdir --parents "$ROOT/stage/usr/spool/uucp/LOG/xferstats"
-mkdir --parents "$ROOT/stage/usr/spool/uucp/STST"
-mkdir --parents "$ROOT/stage/usr/spool/uucp/C."
-mkdir --parents "$ROOT/stage/usr/spool/uucp/D."
-mkdir --parents "$ROOT/stage/usr/spool/uucp/X."
-mkdir --parents "$ROOT/stage/usr/spool/uucp/TM."
-mkdir --parents "$ROOT/stage/usr/spool/uucp/D.curlyX"
-mkdir --parents "$ROOT/stage/usr/spool/uucp/D.curly"
-mkdir --parents "$ROOT/stage/usr/spool/uucppublic"
-mkdir --parents "$ROOT/stage/usr/spool/lpr"
-mkdir --parents "$ROOT/stage/usr/spool/lpr/lz0"
-mkdir --parents "$ROOT/stage/usr/spool/lpr/ps0"
-mkdir --parents "$ROOT/stage/usr/tmp"
-mkdir --parents "$ROOT/stage/usr/ucb"
+./stage.sh
 
-# clean leftover files from other architecture
-make clean
+#echo
+#echo "making clean"
+#echo
+#
+## clean leftover files from other architecture
+#make clean
+#
+#echo
+#echo "making depend"
+#echo
+#
+## do /usr/include, depend needs it
+#make -C include INSTALL="$INSTALL" SHARED=copies SYSDIR="$ROOT/sys" DESTDIR="$ROOT/stage" install
+#
+## do depend, it doesn't need libs
+#make CC="$CC" MKDEP="$MKDEP" depend
+#
+#echo
+#echo "making libraries"
+#echo
+#
+## build libraries, except lib/libkern and usr.lib/libU77
+#make -C lib/libc AR="$AR" AS="$AS" CC="$CC" CPP="$CPP" LD="$LD" LEX="$LEX" LORDER="$LORDER" MANROFF="$MANROFF" MKSTR="$MKSTR" RANLIB="$RANLIB" UNIFDEF="$UNIFDEF" SIZE="$SIZE" XSTR="$XSTR" YACC="$YACC" LOCALE="LC_ALL=C" STAGEDIR="$ROOT/stage"
+#make -C usr.lib AR="$AR" AS="$AS" CC="$CC" CPP="$CPP" LD="$LD" LEX="$LEX" LORDER="$LORDER" MANROFF="$MANROFF" MKSTR="$MKSTR" RANLIB="$RANLIB" UNIFDEF="$UNIFDEF" SIZE="$SIZE" XSTR="$XSTR" YACC="$YACC" LOCALE="LC_ALL=C" STAGEDIR="$ROOT/stage" SUBDIR="lib2648 libF77 libI77 libcurses libdbm libln libom libmp libplot libtermlib liby libutil libvmf liberrlst libident libstubs"
+#
+## install libraries, except lib/libkern and usr.lib/libU77
+#make -C lib/libc INSTALL="$INSTALL" RANLIB="$RANLIB" DESTDIR="$ROOT/stage" install
+#make -C usr.lib INSTALL="$INSTALL" RANLIB="$RANLIB" DESTDIR="$ROOT/stage" SUBDIR="lib2648 libF77 libI77 libcurses libdbm libln libom libmp libplot libtermlib liby libutil libvmf liberrlst libident libstubs" install
+#
+echo
+echo "making"
+echo
 
-# do /usr/include, depend needs it
-make -C include INSTALL="$INSTALL" SHARED=copies SYSDIR="$ROOT/sys" DESTDIR="$ROOT/stage" install
+# build everything, except libraries and new
+make -C lib AR="$AR" AS="$AS" CC="$CC" CPP="$CPP" LD="$LD" LEX="$LEX" LORDER="$LORDER" MANROFF="$MANROFF" MKSTR="$MKSTR" RANLIB="$RANLIB" UNIFDEF="$UNIFDEF" SIZE="$SIZE" XSTR="$XSTR" YACC="$YACC" LOCALE="LC_ALL=C" STAGEDIR="$ROOT/stage" SUBDIR="ccom c2 cpp"
+make AR="$AR" AS="$AS" CC="$CC" CPP="$CPP" LD="$LD" LEX="$LEX" LORDER="$LORDER" MANROFF="$MANROFF" MKSTR="$MKSTR" RANLIB="$RANLIB" UNIFDEF="$UNIFDEF" SIZE="$SIZE" XSTR="$XSTR" YACC="$YACC" LOCALE="LC_ALL=C" STAGEDIR="$ROOT/stage" XXXLIBDIR= XXXSRCDIR="share bin sbin etc games libexec local ucb usr.bin usr.sbin man" XXXSUBDIR="backgammon battlestar boggle btlgammon cribbage fortune hack hangman hunt mille monop pdp phantasia quiz robots sail snake trek warp words" YYYSUBDIR="chess"
 
-# do depend, it doesn't need libs
-make CC="$CC" MKDEP="$MKDEP" depend
+echo
+echo "making install"
+echo
 
-# build libraries, except lib/libkern and usr.lib/libU77
-for i in \
-lib/libc \
-usr.lib/lib2648 \
-usr.lib/libcurses \
-usr.lib/libdbm \
-usr.lib/liberrlst \
-usr.lib/libF77 \
-usr.lib/libI77 \
-usr.lib/libident \
-usr.lib/libln \
-usr.lib/libmp \
-usr.lib/libom \
-usr.lib/libplot \
-usr.lib/libstubs \
-usr.lib/libtermlib \
-usr.lib/libutil \
-usr.lib/libvmf \
-usr.lib/liby
-do
-  make -C $i AR="$AR" AS="$AS" CC="$CC" CPP="$CPP" LD="$LD" LORDER="$LORDER" MANROFF="$MANROFF" RANLIB="$RANLIB" YACC="$YACC" LOCALE="LC_ALL=C"
-  make -C $i INSTALL="$INSTALL" RANLIB="$RANLIB" DESTDIR="$ROOT/stage" install
-done
+# install everything, except libraries and new
+make -C lib INSTALL="$INSTALL" RANLIB="$RANLIB" DESTDIR="$ROOT/stage" SUBDIR="ccom c2 cpp" install
+make INSTALL="$INSTALL" RANLIB="$RANLIB" DESTDIR="$ROOT/stage" XXXLIBDIR= XXXSRCDIR="share bin sbin etc games libexec local ucb usr.bin usr.sbin man" XXXSUBDIR="backgammon battlestar boggle btlgammon cribbage fortune hack hangman hunt mille monop pdp phantasia quiz robots sail snake trek warp words" YYYSUBDIR="chess" install
index 93f2c2c..554b2d3 100644 (file)
@@ -27,13 +27,13 @@ ROBJS=      dumpitime.o dumprmain.o dumpoptr.o dumprtape.o dumptraverse.o \
 all: dump rdump dumpdir
 
 dump: ${OBJS}
-       cc ${CFLAGS} ${SEPFLAG} ${OBJS} -o dump
+       ${CC} ${CFLAGS} ${SEPFLAG} ${OBJS} -o dump
 
 rdump: ${ROBJS}
-       cc ${CFLAGS} ${SEPFLAG} ${ROBJS} -o rdump
+       ${CC} ${CFLAGS} ${SEPFLAG} ${ROBJS} -o rdump
 
 dumpdir: dumpdir.c
-       cc ${CFLAGS} ${SEPFLAG} dumpdir.c -o dumpdir
+       ${CC} ${CFLAGS} ${SEPFLAG} dumpdir.c -o dumpdir
 
 install: all
        ${INSTALL} -s dump ${DESTDIR}/sbin/dump
@@ -51,9 +51,9 @@ ${OBJS}: dump.h
 ${ROBJS}: dump.h
 
 dumprmain.o: dumpmain.c
-       cc -c -DRDUMP ${CFLAGS} dumpmain.c
+       ${CC} -c -DRDUMP ${CFLAGS} dumpmain.c
        mv dumpmain.o dumprmain.o
 
 dumprtape.o: dumptape.c
-       cc -c -DRDUMP ${CFLAGS} dumptape.c
+       ${CC} -c -DRDUMP ${CFLAGS} dumptape.c
        mv dumptape.o dumprtape.o
index ff4425c..c40d957 100644 (file)
@@ -8,7 +8,7 @@ INSTALL=install
 #
 DESTDIR=
 CFLAGS=        -O
-LFLAGS=        -i
+LDFLAGS=       -i
 XSTR=  /usr/ucb/xstr
 
 # The program itself
@@ -33,17 +33,17 @@ HDRS=       fsck.h
 all:   ${PROG}
 
 ${PROG}: ${OBJS} ${HDRS} strings.o
-       cc ${LFLAGS} -o ${PROG} ${OBJS} strings.o
+       ${CC} ${LDFLAGS} -o ${PROG} ${OBJS} strings.o
 
 .c.o:
-       cc -E ${CFLAGS} $*.c | ${XSTR} -c -
-       cc ${CFLAGS} -c x.c
+       ${CC} -E ${CFLAGS} $*.c | ${XSTR} -c -
+       ${CC} ${CFLAGS} -c x.c
        mv -f x.o $*.o
        rm -f x.c
 
 strings.o: strings
        ${XSTR}
-       cc -c xs.c
+       ${CC} -c xs.c
        mv -f xs.o strings.o
        rm -f xs.c
 
index 751843d..ec6540c 100644 (file)
@@ -57,10 +57,10 @@ zic.0:              $(ZICMANSRC)
                ${MANROFF} $(ZICMANSRC) > $(ZICMAN)
 
 zdump:         $(TZDOBJS)
-               $(CC) $(CFLAGS) $(LFLAGS) $(SEPFLAG) $(TZDOBJS) -o $@
+               $(CC) $(CFLAGS) $(LDFLAGS) $(SEPFLAG) $(TZDOBJS) -o $@
 
 zic:           $(TZCOBJS)
-               $(CC) $(CFLAGS) $(LFLAGS) $(SEPFLAG) $(TZCOBJS) -o $@
+               $(CC) $(CFLAGS) $(LDFLAGS) $(SEPFLAG) $(TZCOBJS) -o $@
 
 lint:          $(TZCSRCS) $(TZDSRCS)
                lint $(LINTFLAGS) $(CFLAGS) $(TZCSRCS)
diff --git a/stage.sh b/stage.sh
new file mode 100755 (executable)
index 0000000..a51b07b
--- /dev/null
+++ b/stage.sh
@@ -0,0 +1,301 @@
+#!/bin/sh
+
+ROOT="`pwd`"
+
+# create skeleton filesystem for target
+mkdir --parents "$ROOT/stage/bin"
+mkdir --parents "$ROOT/stage/dev"
+mkdir --parents "$ROOT/stage/dev/fd"
+mkdir --parents "$ROOT/stage/etc"
+mkdir --parents "$ROOT/stage/etc/uucp"
+mkdir --parents "$ROOT/stage/mnt"
+mkdir --parents "$ROOT/stage/lib"
+mkdir --parents "$ROOT/stage/mdec"
+mkdir --parents "$ROOT/stage/tmp"
+mkdir --parents "$ROOT/stage/var"
+mkdir --parents "$ROOT/stage/var/db"
+mkdir --parents "$ROOT/stage/var/run"
+mkdir --parents "$ROOT/stage/var/log"
+mkdir --parents "$ROOT/stage/var/log/learn"
+mkdir --parents "$ROOT/stage/var/cron"
+mkdir --parents "$ROOT/stage/var/cron/tabs"
+mkdir --parents "$ROOT/stage/sbin"
+mkdir --parents "$ROOT/stage/usr"
+mkdir --parents "$ROOT/stage/usr/adm"
+mkdir --parents "$ROOT/stage/usr/bin"
+mkdir --parents "$ROOT/stage/usr/crash"
+mkdir --parents "$ROOT/stage/usr/dict"
+mkdir --parents "$ROOT/stage/usr/dict/papers"
+mkdir --parents "$ROOT/stage/usr/doc"
+mkdir --parents "$ROOT/stage/usr/doc/2.10"
+mkdir --parents "$ROOT/stage/usr/doc/2.10/setup.2.9"
+mkdir --parents "$ROOT/stage/usr/doc/2.10/setup.2.9/RCS"
+mkdir --parents "$ROOT/stage/usr/doc/2.10/kchanges.2.10"
+mkdir --parents "$ROOT/stage/usr/doc/2.10/fsck"
+mkdir --parents "$ROOT/stage/usr/doc/2.10/v7summary"
+mkdir --parents "$ROOT/stage/usr/doc/2.10/px"
+mkdir --parents "$ROOT/stage/usr/doc/2.10/pxp"
+mkdir --parents "$ROOT/stage/usr/doc/2.10/pascal"
+mkdir --parents "$ROOT/stage/usr/doc/2.10/setup.2.10"
+mkdir --parents "$ROOT/stage/usr/doc/2.10/kchanges.2.11"
+mkdir --parents "$ROOT/stage/usr/doc/2.10/setup.2.11"
+mkdir --parents "$ROOT/stage/usr/doc/misc"
+mkdir --parents "$ROOT/stage/usr/doc/misc/px"
+mkdir --parents "$ROOT/stage/usr/doc/misc/kchanges.4.2"
+mkdir --parents "$ROOT/stage/usr/doc/misc/uchanges.4.2"
+mkdir --parents "$ROOT/stage/usr/doc/misc/gprof"
+mkdir --parents "$ROOT/stage/usr/doc/misc/diskperf"
+mkdir --parents "$ROOT/stage/usr/doc/misc/sdb"
+mkdir --parents "$ROOT/stage/usr/doc/misc/ctour"
+mkdir --parents "$ROOT/stage/usr/doc/misc/berknet"
+mkdir --parents "$ROOT/stage/usr/doc/misc/sysperf"
+mkdir --parents "$ROOT/stage/usr/doc/ps1"
+mkdir --parents "$ROOT/stage/usr/doc/ps1/02.f77"
+mkdir --parents "$ROOT/stage/usr/doc/ps1/04.pascal"
+mkdir --parents "$ROOT/stage/usr/doc/ps1/05.as"
+mkdir --parents "$ROOT/stage/usr/doc/ps1/06.sysman"
+mkdir --parents "$ROOT/stage/usr/doc/ps1/08.ipc"
+mkdir --parents "$ROOT/stage/usr/doc/ps1/07.ipctut"
+mkdir --parents "$ROOT/stage/usr/doc/ps1/09.lint"
+mkdir --parents "$ROOT/stage/usr/doc/ps1/10.adb"
+mkdir --parents "$ROOT/stage/usr/doc/ps1/11.dbx"
+mkdir --parents "$ROOT/stage/usr/doc/ps1/12.make"
+mkdir --parents "$ROOT/stage/usr/doc/ps1/13.rcs"
+mkdir --parents "$ROOT/stage/usr/doc/ps1/14.sccs"
+mkdir --parents "$ROOT/stage/usr/doc/ps1/15.yacc"
+mkdir --parents "$ROOT/stage/usr/doc/ps1/16.lex"
+mkdir --parents "$ROOT/stage/usr/doc/ps1/17.m4"
+mkdir --parents "$ROOT/stage/usr/doc/ps1/18.curses"
+mkdir --parents "$ROOT/stage/usr/doc/ps1/03.f77io"
+mkdir --parents "$ROOT/stage/usr/doc/ps1/01.Clang"
+mkdir --parents "$ROOT/stage/usr/doc/ps2"
+mkdir --parents "$ROOT/stage/usr/doc/ps2/02.summary"
+mkdir --parents "$ROOT/stage/usr/doc/ps2/03.uprog"
+mkdir --parents "$ROOT/stage/usr/doc/ps2/04.implement"
+mkdir --parents "$ROOT/stage/usr/doc/ps2/05.iosys"
+mkdir --parents "$ROOT/stage/usr/doc/ps2/06.efl"
+mkdir --parents "$ROOT/stage/usr/doc/ps2/07.fp"
+mkdir --parents "$ROOT/stage/usr/doc/ps2/09.lisp"
+mkdir --parents "$ROOT/stage/usr/doc/ps2/01.cacm"
+mkdir --parents "$ROOT/stage/usr/doc/ps2/08.ratfor"
+mkdir --parents "$ROOT/stage/usr/doc/run"
+mkdir --parents "$ROOT/stage/usr/doc/smm"
+mkdir --parents "$ROOT/stage/usr/doc/smm/01.setup"
+mkdir --parents "$ROOT/stage/usr/doc/smm/12.uchanges"
+mkdir --parents "$ROOT/stage/usr/doc/smm/13.kchanges"
+mkdir --parents "$ROOT/stage/usr/doc/smm/11.named"
+mkdir --parents "$ROOT/stage/usr/doc/smm/06.lpd"
+mkdir --parents "$ROOT/stage/usr/doc/smm/16.sendmail"
+mkdir --parents "$ROOT/stage/usr/doc/smm/02.config"
+mkdir --parents "$ROOT/stage/usr/doc/smm/03.kdebug"
+mkdir --parents "$ROOT/stage/usr/doc/smm/05.fsck"
+mkdir --parents "$ROOT/stage/usr/doc/smm/04.quotas"
+mkdir --parents "$ROOT/stage/usr/doc/smm/08.timedop"
+mkdir --parents "$ROOT/stage/usr/doc/smm/14.fastfs"
+mkdir --parents "$ROOT/stage/usr/doc/smm/19.porttour"
+mkdir --parents "$ROOT/stage/usr/doc/smm/20.termdesc"
+mkdir --parents "$ROOT/stage/usr/doc/smm/17.security"
+mkdir --parents "$ROOT/stage/usr/doc/smm/18.password"
+mkdir --parents "$ROOT/stage/usr/doc/smm/15.net"
+mkdir --parents "$ROOT/stage/usr/doc/smm/09.uucpimpl"
+mkdir --parents "$ROOT/stage/usr/doc/smm/10.newsop"
+mkdir --parents "$ROOT/stage/usr/doc/smm/22.timed"
+mkdir --parents "$ROOT/stage/usr/doc/smm/07.sendmailop"
+mkdir --parents "$ROOT/stage/usr/doc/smm/21.uucpnet"
+mkdir --parents "$ROOT/stage/usr/doc/usd"
+mkdir --parents "$ROOT/stage/usr/doc/usd/02.learn"
+mkdir --parents "$ROOT/stage/usr/doc/usd/03.shell"
+mkdir --parents "$ROOT/stage/usr/doc/usd/04.csh"
+mkdir --parents "$ROOT/stage/usr/doc/usd/05.dc"
+mkdir --parents "$ROOT/stage/usr/doc/usd/06.bc"
+mkdir --parents "$ROOT/stage/usr/doc/usd/07.Mail"
+mkdir --parents "$ROOT/stage/usr/doc/usd/08.mh"
+mkdir --parents "$ROOT/stage/usr/doc/usd/09.newsread"
+mkdir --parents "$ROOT/stage/usr/doc/usd/10.etiq"
+mkdir --parents "$ROOT/stage/usr/doc/usd/11.notes"
+mkdir --parents "$ROOT/stage/usr/doc/usd/12.edtut"
+mkdir --parents "$ROOT/stage/usr/doc/usd/13.edadv"
+mkdir --parents "$ROOT/stage/usr/doc/usd/14.edit"
+mkdir --parents "$ROOT/stage/usr/doc/usd/15.vi"
+mkdir --parents "$ROOT/stage/usr/doc/usd/16.ex"
+mkdir --parents "$ROOT/stage/usr/doc/usd/17.jove"
+mkdir --parents "$ROOT/stage/usr/doc/usd/18.sed"
+mkdir --parents "$ROOT/stage/usr/doc/usd/19.awk"
+mkdir --parents "$ROOT/stage/usr/doc/usd/20.msmacros"
+mkdir --parents "$ROOT/stage/usr/doc/usd/21.msdiffs"
+mkdir --parents "$ROOT/stage/usr/doc/usd/22.memacros"
+mkdir --parents "$ROOT/stage/usr/doc/usd/23.meref"
+mkdir --parents "$ROOT/stage/usr/doc/usd/24.troff"
+mkdir --parents "$ROOT/stage/usr/doc/usd/25.trofftut"
+mkdir --parents "$ROOT/stage/usr/doc/usd/26.eqn"
+mkdir --parents "$ROOT/stage/usr/doc/usd/27.eqnguide"
+mkdir --parents "$ROOT/stage/usr/doc/usd/28.tbl"
+mkdir --parents "$ROOT/stage/usr/doc/usd/29.refer"
+mkdir --parents "$ROOT/stage/usr/doc/usd/30.invert"
+mkdir --parents "$ROOT/stage/usr/doc/usd/31.bib"
+mkdir --parents "$ROOT/stage/usr/doc/usd/32.diction"
+mkdir --parents "$ROOT/stage/usr/doc/usd/33.rogue"
+mkdir --parents "$ROOT/stage/usr/doc/usd/34.trek"
+mkdir --parents "$ROOT/stage/usr/doc/usd/01.begin"
+mkdir --parents "$ROOT/stage/usr/games"
+mkdir --parents "$ROOT/stage/usr/games/lib"
+mkdir --parents "$ROOT/stage/usr/games/lib/warp"
+mkdir --parents "$ROOT/stage/usr/games/lib/phantasia"
+mkdir --parents "$ROOT/stage/usr/games/lib/quiz.k"
+mkdir --parents "$ROOT/stage/usr/games/lib/hackdir"
+mkdir --parents "$ROOT/stage/usr/games/lib/atc"
+mkdir --parents "$ROOT/stage/usr/guest"
+mkdir --parents "$ROOT/stage/usr/guest/operator"
+mkdir --parents "$ROOT/stage/usr/hosts"
+mkdir --parents "$ROOT/stage/usr/include"
+mkdir --parents "$ROOT/stage/usr/include/arpa"
+mkdir --parents "$ROOT/stage/usr/include/pascal"
+mkdir --parents "$ROOT/stage/usr/include/protocols"
+mkdir --parents "$ROOT/stage/usr/include/OLD"
+mkdir --parents "$ROOT/stage/usr/ingres"
+mkdir --parents "$ROOT/stage/usr/ingres/bin"
+mkdir --parents "$ROOT/stage/usr/ingres/source"
+mkdir --parents "$ROOT/stage/usr/ingres/source/access"
+mkdir --parents "$ROOT/stage/usr/ingres/source/dbu"
+mkdir --parents "$ROOT/stage/usr/ingres/source/decomp"
+mkdir --parents "$ROOT/stage/usr/ingres/source/equel"
+mkdir --parents "$ROOT/stage/usr/ingres/source/equel/runtime"
+mkdir --parents "$ROOT/stage/usr/ingres/source/monitor"
+mkdir --parents "$ROOT/stage/usr/ingres/source/ovqp"
+mkdir --parents "$ROOT/stage/usr/ingres/source/parser"
+mkdir --parents "$ROOT/stage/usr/ingres/source/qrymod"
+mkdir --parents "$ROOT/stage/usr/ingres/source/scanner"
+mkdir --parents "$ROOT/stage/usr/ingres/source/support"
+mkdir --parents "$ROOT/stage/usr/ingres/source/iutil"
+mkdir --parents "$ROOT/stage/usr/ingres/source/gutil"
+mkdir --parents "$ROOT/stage/usr/ingres/source/yyyacc"
+mkdir --parents "$ROOT/stage/usr/ingres/data"
+mkdir --parents "$ROOT/stage/usr/ingres/data/base"
+mkdir --parents "$ROOT/stage/usr/ingres/doc"
+mkdir --parents "$ROOT/stage/usr/ingres/doc/access"
+mkdir --parents "$ROOT/stage/usr/ingres/doc/error"
+mkdir --parents "$ROOT/stage/usr/ingres/doc/files"
+mkdir --parents "$ROOT/stage/usr/ingres/doc/geoquel"
+mkdir --parents "$ROOT/stage/usr/ingres/doc/unix"
+mkdir --parents "$ROOT/stage/usr/ingres/doc/other"
+mkdir --parents "$ROOT/stage/usr/ingres/doc/quel"
+mkdir --parents "$ROOT/stage/usr/ingres/demo"
+mkdir --parents "$ROOT/stage/usr/ingres/files"
+mkdir --parents "$ROOT/stage/usr/ingres/lib"
+mkdir --parents "$ROOT/stage/usr/lib"
+mkdir --parents "$ROOT/stage/usr/libdata"
+mkdir --parents "$ROOT/stage/usr/libdata/lex"
+mkdir --parents "$ROOT/stage/usr/libexec"
+mkdir --parents "$ROOT/stage/usr/libexec/lint"
+mkdir --parents "$ROOT/stage/usr/libexec/refer"
+mkdir --parents "$ROOT/stage/usr/libexec/struct"
+mkdir --parents "$ROOT/stage/usr/libexec/find"
+mkdir --parents "$ROOT/stage/usr/libexec/diction"
+mkdir --parents "$ROOT/stage/usr/libexec/lpr"
+mkdir --parents "$ROOT/stage/usr/local"
+mkdir --parents "$ROOT/stage/usr/local/lib"
+mkdir --parents "$ROOT/stage/usr/local/lib/mp"
+mkdir --parents "$ROOT/stage/usr/local/lib/cxref"
+mkdir --parents "$ROOT/stage/usr/local/man"
+mkdir --parents "$ROOT/stage/usr/local/man/cat1"
+mkdir --parents "$ROOT/stage/usr/local/man/cat2"
+mkdir --parents "$ROOT/stage/usr/local/man/cat3"
+mkdir --parents "$ROOT/stage/usr/local/man/cat4"
+mkdir --parents "$ROOT/stage/usr/local/man/cat5"
+mkdir --parents "$ROOT/stage/usr/local/man/cat6"
+mkdir --parents "$ROOT/stage/usr/local/man/cat7"
+mkdir --parents "$ROOT/stage/usr/local/man/cat8"
+mkdir --parents "$ROOT/stage/usr/man"
+mkdir --parents "$ROOT/stage/usr/man/cat7"
+mkdir --parents "$ROOT/stage/usr/man/cat5"
+mkdir --parents "$ROOT/stage/usr/man/cat1"
+mkdir --parents "$ROOT/stage/usr/man/cat2"
+mkdir --parents "$ROOT/stage/usr/man/cat3"
+mkdir --parents "$ROOT/stage/usr/man/cat4"
+mkdir --parents "$ROOT/stage/usr/man/cat6"
+mkdir --parents "$ROOT/stage/usr/man/cat8"
+mkdir --parents "$ROOT/stage/usr/man/cat3f"
+mkdir --parents "$ROOT/stage/usr/msgs"
+mkdir --parents "$ROOT/stage/usr/new"
+mkdir --parents "$ROOT/stage/usr/new/lib"
+mkdir --parents "$ROOT/stage/usr/new/lib/jove"
+mkdir --parents "$ROOT/stage/usr/new/man"
+mkdir --parents "$ROOT/stage/usr/new/man/cat1"
+mkdir --parents "$ROOT/stage/usr/new/man/cat2"
+mkdir --parents "$ROOT/stage/usr/new/man/cat3"
+mkdir --parents "$ROOT/stage/usr/new/man/cat4"
+mkdir --parents "$ROOT/stage/usr/new/man/cat5"
+mkdir --parents "$ROOT/stage/usr/new/man/cat6"
+mkdir --parents "$ROOT/stage/usr/new/man/cat7"
+mkdir --parents "$ROOT/stage/usr/new/man/cat8"
+mkdir --parents "$ROOT/stage/usr/old"
+mkdir --parents "$ROOT/stage/usr/preserve"
+mkdir --parents "$ROOT/stage/usr/pub"
+mkdir --parents "$ROOT/stage/usr/sbin"
+mkdir --parents "$ROOT/stage/usr/share"
+mkdir --parents "$ROOT/stage/usr/share/me"
+mkdir --parents "$ROOT/stage/usr/share/ms"
+mkdir --parents "$ROOT/stage/usr/share/tmac"
+mkdir --parents "$ROOT/stage/usr/share/misc"
+mkdir --parents "$ROOT/stage/usr/share/tabset"
+mkdir --parents "$ROOT/stage/usr/share/learn"
+mkdir --parents "$ROOT/stage/usr/share/learn/bin"
+mkdir --parents "$ROOT/stage/usr/share/learn/C"
+mkdir --parents "$ROOT/stage/usr/share/learn/editor"
+mkdir --parents "$ROOT/stage/usr/share/learn/eqn"
+mkdir --parents "$ROOT/stage/usr/share/learn/files"
+mkdir --parents "$ROOT/stage/usr/share/learn/macros"
+mkdir --parents "$ROOT/stage/usr/share/learn/morefiles"
+mkdir --parents "$ROOT/stage/usr/share/learn/vi"
+mkdir --parents "$ROOT/stage/usr/share/adb"
+mkdir --parents "$ROOT/stage/usr/share/lint"
+mkdir --parents "$ROOT/stage/usr/share/font"
+mkdir --parents "$ROOT/stage/usr/share/pascal"
+mkdir --parents "$ROOT/stage/usr/share/term"
+mkdir --parents "$ROOT/stage/usr/share/fontinfo"
+mkdir --parents "$ROOT/stage/usr/share/zoneinfo"
+mkdir --parents "$ROOT/stage/usr/share/zoneinfo/Australia"
+mkdir --parents "$ROOT/stage/usr/share/zoneinfo/US"
+mkdir --parents "$ROOT/stage/usr/share/zoneinfo/Canada"
+mkdir --parents "$ROOT/stage/usr/share/zoneinfo/SystemV"
+mkdir --parents "$ROOT/stage/usr/spool"
+mkdir --parents "$ROOT/stage/usr/spool/at"
+mkdir --parents "$ROOT/stage/usr/spool/at/past"
+mkdir --parents "$ROOT/stage/usr/spool/locks"
+mkdir --parents "$ROOT/stage/usr/spool/lpd"
+mkdir --parents "$ROOT/stage/usr/spool/mail"
+mkdir --parents "$ROOT/stage/usr/spool/mqueue"
+mkdir --parents "$ROOT/stage/usr/spool/rwho"
+mkdir --parents "$ROOT/stage/usr/spool/uucp"
+mkdir --parents "$ROOT/stage/usr/spool/uucp/XTMP"
+mkdir --parents "$ROOT/stage/usr/spool/uucp/CORRUPT"
+mkdir --parents "$ROOT/stage/usr/spool/uucp/AUDIT"
+mkdir --parents "$ROOT/stage/usr/spool/uucp/LCK"
+mkdir --parents "$ROOT/stage/usr/spool/uucp/LOG"
+mkdir --parents "$ROOT/stage/usr/spool/uucp/LOG/uucico"
+mkdir --parents "$ROOT/stage/usr/spool/uucp/LOG/uux"
+mkdir --parents "$ROOT/stage/usr/spool/uucp/LOG/uuxqt"
+mkdir --parents "$ROOT/stage/usr/spool/uucp/LOG/uucp"
+mkdir --parents "$ROOT/stage/usr/spool/uucp/LOG/xferstats"
+mkdir --parents "$ROOT/stage/usr/spool/uucp/STST"
+mkdir --parents "$ROOT/stage/usr/spool/uucp/C."
+mkdir --parents "$ROOT/stage/usr/spool/uucp/D."
+mkdir --parents "$ROOT/stage/usr/spool/uucp/X."
+mkdir --parents "$ROOT/stage/usr/spool/uucp/TM."
+mkdir --parents "$ROOT/stage/usr/spool/uucp/D.curlyX"
+mkdir --parents "$ROOT/stage/usr/spool/uucp/D.curly"
+mkdir --parents "$ROOT/stage/usr/spool/uucppublic"
+mkdir --parents "$ROOT/stage/usr/spool/lpr"
+mkdir --parents "$ROOT/stage/usr/spool/lpr/lz0"
+mkdir --parents "$ROOT/stage/usr/spool/lpr/ps0"
+mkdir --parents "$ROOT/stage/usr/tmp"
+mkdir --parents "$ROOT/stage/usr/ucb"
+
+# see games/boggle/Makefile
+./install.sh -m 444 words "$ROOT/stage/usr/dict"
+
+# see games/hack/Makefile
+cat <<EOF >"$ROOT/stage/usr/games/lib/hackdir.postinstall"
+chmod 700 hackdir
+chown daemon hackdir
+EOF
index 56a2d96..2e6ba98 100644 (file)
@@ -1,3 +1,4 @@
+SIZE=size
 INSTALL=install
 #      @(#)Makefile    5.16.2 (2.11BSD) 1996/10/31
 
@@ -34,7 +35,7 @@ Mail: $S $(OBJS)
        $(RM) -f Mail
        @echo Loading ...
        @$(CC) -i -o Mail $(OBJS) $(LIBES)
-       @size Mail
+       @${SIZE} Mail
 
 install: all
        ${INSTALL} -s Mail ${DESTDIR}/usr/ucb/Mail
@@ -54,7 +55,7 @@ lint:
 
 fmt:   fmt.o xhead.o
        $(CC) $(CFLAGS) -i fmt.o xhead.o -o fmt
-       size fmt
+       ${SIZE} fmt
 
 fmt.o: fmt.c
        $(CC) $(CFLAGS) -c fmt.c
index 3c9ce0c..051149c 100644 (file)
@@ -74,6 +74,7 @@ clean:
 FRC:
 
 depend:
+       -for i in ${SUBDIR}; do (cd $$i; make ${MFLAGS} depend); done
        for i in ${STD} ${NSTD} ${SETUID} ${KMEM}; do \
            ${CC} -M ${INCPATH} $$i.c | sed 's/\.o//' | \
            awk ' { if ($$1 != prev) \
@@ -181,8 +182,12 @@ logger: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
 logger: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
 logger: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
 mkstr: mkstr.c /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+mkstr: /home/nick/src/211bsd.git/stage/usr/include/stdlib.h
+mkstr: /home/nick/src/211bsd.git/stage/usr/include/string.h
 mkstr: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
 mkstr: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+mkstr: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h ./krcompat.h
+mkstr: /home/nick/src/211bsd.git/stage/usr/include/varargs.h
 mkstr: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
 mkstr: /home/nick/src/211bsd.git/stage/usr/include/sys/stat.h
 printenv: printenv.c
@@ -310,7 +315,13 @@ telnet: /home/nick/src/211bsd.git/stage/usr/include/string.h
 telnet: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
 unexpand: unexpand.c /home/nick/src/211bsd.git/stage/usr/include/stdio.h
 unifdef: unifdef.c /home/nick/src/211bsd.git/stage/usr/include/stdio.h
-unifdef: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
+unifdef: /home/nick/src/211bsd.git/stage/usr/include/stdlib.h
+unifdef: /home/nick/src/211bsd.git/stage/usr/include/string.h
+unifdef: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+unifdef: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+unifdef: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+unifdef: /home/nick/src/211bsd.git/stage/usr/include/ctype.h ./krcompat.h
+unifdef: /home/nick/src/211bsd.git/stage/usr/include/varargs.h
 users: users.c /home/nick/src/211bsd.git/stage/usr/include/stdio.h
 users: /home/nick/src/211bsd.git/stage/usr/include/utmp.h
 whois: whois.c /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
@@ -323,11 +334,17 @@ whois: /home/nick/src/211bsd.git/stage/usr/include/netdb.h
 what: what.c /home/nick/src/211bsd.git/stage/usr/include/stdio.h
 wc: wc.c /home/nick/src/211bsd.git/stage/usr/include/stdio.h
 xstr: xstr.c /home/nick/src/211bsd.git/stage/usr/include/stdio.h
-xstr: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
+xstr: /home/nick/src/211bsd.git/stage/usr/include/stdlib.h
+xstr: /home/nick/src/211bsd.git/stage/usr/include/string.h
 xstr: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
 xstr: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
 xstr: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+xstr: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
+xstr: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
 xstr: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+xstr: /home/nick/src/211bsd.git/stage/usr/include/unistd.h
+xstr: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h ./krcompat.h
+xstr: /home/nick/src/211bsd.git/stage/usr/include/varargs.h
 yes: yes.c
 clear: clear.c /home/nick/src/211bsd.git/stage/usr/include/stdio.h
 clear: /home/nick/src/211bsd.git/stage/usr/include/sgtty.h
index 97f2718..644eb7d 100644 (file)
@@ -7,7 +7,7 @@ SEPFLAG= -i
 BIN=${DESTDIR}/usr/ucb
 
 compress: compress.c USERMEM
-       cc ${SEPFLAG} $(COMFLAGS) -DUSERMEM=`cat USERMEM` -o compress compress.c
+       ${CC} ${SEPFLAG} $(COMFLAGS) -DUSERMEM=`cat USERMEM` -o compress compress.c
 
 # USERMEM may have to be set by hand.  It should contain the amount of
 # available user memory in bytes.  Set it to zero, for physical memory
index 8212918..0337a82 100644 (file)
@@ -78,7 +78,7 @@ all:  a.out exrecover expreserve
 
 a.out: ${OBJS}
        -if [ X${SEPFLAG} = X-i ]; then \
-               ld ${LDFLAGS} /lib/crt0.o ${SEPFLAG} \
+               ${LD} ${LDFLAGS} ${STAGEDIR}/lib/crt0.o ${SEPFLAG} \
                    -Z ex_voper.o ex_vget.o ex_vops.o ex_vops2.o ex_vops3.o \
                    -Z ex_set.o ex_re.o ex_io.o ex_tty.o ex_unix.o ex.o ex_v.o \
                    -Y ex_addr.o ex_cmds.o ex_cmds2.o ex_cmdsub.o ex_tagio.o \
@@ -86,7 +86,7 @@ a.out: ${OBJS}
                       ex_vput.o ex_put.o ex_subr.o printf.o strings.o \
                       ex_data.o ex_extern.o ${TERMLIB} -lc; \
        else \
-               ld ${LDFLAGS} /lib/crt0.o ${SEPFLAG} \
+               ${LD} ${LDFLAGS} ${STAGEDIR}/lib/crt0.o ${SEPFLAG} \
                    -Z ex_cmds.o ex_cmds2.o ex_cmdsub.o ex_tagio.o ex_re.o \
                    -Z ex_vadj.o ex_vmain.o ex_voper.o ex_vwind.o ex_vops3.o\
                    -Z ex_v.o ex_vget.o ex_vops.o ex_vops2.o ex_vput.o\
index efe3609..35b9021 100644 (file)
@@ -52,3 +52,82 @@ lint: ${SRCS}
 
 tags: ${SRCS}
        ctags ${SRCS}
+# DO NOT DELETE THIS LINE -- mkdep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+finger.o: finger.c /home/nick/src/211bsd.git/stage/usr/include/sys/param.h
+finger.o: /home/nick/src/211bsd.git/stage/usr/include/sys/localopts.h
+finger.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stddef.h
+finger.o: /home/nick/src/211bsd.git/stage/usr/include/machine/machparam.h
+finger.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+finger.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+finger.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+finger.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+finger.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+finger.o: /home/nick/src/211bsd.git/stage/usr/include/sys/file.h
+finger.o: /home/nick/src/211bsd.git/stage/usr/include/fcntl.h
+finger.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+finger.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h finger.h
+finger.o: /home/nick/src/211bsd.git/stage/usr/include/pwd.h
+finger.o: /home/nick/src/211bsd.git/stage/usr/include/utmp.h pathnames.h
+finger.o: /home/nick/src/211bsd.git/stage/usr/include/paths.h
+lprint.o: lprint.c /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+lprint.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+lprint.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+lprint.o: /home/nick/src/211bsd.git/stage/usr/include/sys/file.h
+lprint.o: /home/nick/src/211bsd.git/stage/usr/include/fcntl.h
+lprint.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+lprint.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stat.h
+lprint.o: /home/nick/src/211bsd.git/stage/usr/include/sys/time.h
+lprint.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+lprint.o: /home/nick/src/211bsd.git/stage/usr/include/time.h
+lprint.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+lprint.o: /home/nick/src/211bsd.git/stage/usr/include/tzfile.h
+lprint.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+lprint.o: /home/nick/src/211bsd.git/stage/usr/include/ctype.h finger.h
+lprint.o: /home/nick/src/211bsd.git/stage/usr/include/pwd.h
+lprint.o: /home/nick/src/211bsd.git/stage/usr/include/utmp.h pathnames.h
+lprint.o: /home/nick/src/211bsd.git/stage/usr/include/paths.h
+net.o: net.c /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+net.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+net.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+net.o: /home/nick/src/211bsd.git/stage/usr/include/sys/socket.h
+net.o: /home/nick/src/211bsd.git/stage/usr/include/netinet/in.h
+net.o: /home/nick/src/211bsd.git/stage/usr/include/netdb.h
+net.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+net.o: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
+sprint.o: sprint.c /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+sprint.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+sprint.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+sprint.o: /home/nick/src/211bsd.git/stage/usr/include/sys/time.h
+sprint.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+sprint.o: /home/nick/src/211bsd.git/stage/usr/include/time.h
+sprint.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+sprint.o: /home/nick/src/211bsd.git/stage/usr/include/tzfile.h
+sprint.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h finger.h
+sprint.o: /home/nick/src/211bsd.git/stage/usr/include/pwd.h
+sprint.o: /home/nick/src/211bsd.git/stage/usr/include/utmp.h
+util.o: util.c /home/nick/src/211bsd.git/stage/usr/include/sys/param.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/sys/localopts.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stddef.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/machine/machparam.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stat.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/sys/file.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/fcntl.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/strings.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/string.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/lastlog.h finger.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/pwd.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/utmp.h pathnames.h
+util.o: /home/nick/src/211bsd.git/stage/usr/include/paths.h
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
index e9dabb9..4084fe9 100644 (file)
@@ -51,3 +51,172 @@ lint: ${SRCS}
 
 tags: ${SRCS}
        ctags ${SRCS}
+# DO NOT DELETE THIS LINE -- mkdep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+cmds.o: cmds.c /home/nick/src/211bsd.git/stage/usr/include/sys/param.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/sys/localopts.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stddef.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/machine/machparam.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/sys/wait.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stat.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/sys/socket.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/arpa/ftp.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/errno.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/netdb.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/time.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/string.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/stdlib.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/unistd.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/netinet/in.h ftp_var.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/sys/param.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/sys/localopts.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stddef.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/machine/machparam.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+cmds.o: /home/nick/src/211bsd.git/stage/usr/include/setjmp.h pathnames.h
+cmdtab.o: cmdtab.c ftp_var.h
+cmdtab.o: /home/nick/src/211bsd.git/stage/usr/include/sys/param.h
+cmdtab.o: /home/nick/src/211bsd.git/stage/usr/include/sys/localopts.h
+cmdtab.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stddef.h
+cmdtab.o: /home/nick/src/211bsd.git/stage/usr/include/machine/machparam.h
+cmdtab.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+cmdtab.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+cmdtab.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+cmdtab.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+cmdtab.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+cmdtab.o: /home/nick/src/211bsd.git/stage/usr/include/setjmp.h
+ftp.o: ftp.c /home/nick/src/211bsd.git/stage/usr/include/sys/param.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/localopts.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stddef.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/machine/machparam.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stat.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/socket.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/time.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/time.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/file.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/fcntl.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/netinet/in.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/arpa/ftp.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/arpa/telnet.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/arpa/inet.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/errno.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/netdb.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/fcntl.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/pwd.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/unistd.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/varargs.h ftp_var.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/param.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/localopts.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stddef.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/machine/machparam.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/setjmp.h
+ftp.o: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
+glob.o: glob.c /home/nick/src/211bsd.git/stage/usr/include/sys/param.h
+glob.o: /home/nick/src/211bsd.git/stage/usr/include/sys/localopts.h
+glob.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stddef.h
+glob.o: /home/nick/src/211bsd.git/stage/usr/include/machine/machparam.h
+glob.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+glob.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+glob.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+glob.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+glob.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+glob.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stat.h
+glob.o: /home/nick/src/211bsd.git/stage/usr/include/sys/dir.h
+glob.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+glob.o: /home/nick/src/211bsd.git/stage/usr/include/errno.h
+glob.o: /home/nick/src/211bsd.git/stage/usr/include/pwd.h
+main.o: main.c ftp_var.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/sys/param.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/sys/localopts.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stddef.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/machine/machparam.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/setjmp.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/sys/socket.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/arpa/ftp.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/errno.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/netdb.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/pwd.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/stdlib.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/unistd.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+ruserpass.o: ruserpass.c
+ruserpass.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+ruserpass.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+ruserpass.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+ruserpass.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+ruserpass.o: /home/nick/src/211bsd.git/stage/usr/include/utmp.h
+ruserpass.o: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
+ruserpass.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stat.h
+ruserpass.o: /home/nick/src/211bsd.git/stage/usr/include/errno.h
+ruserpass.o: /home/nick/src/211bsd.git/stage/usr/include/string.h
+ruserpass.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+ruserpass.o: /home/nick/src/211bsd.git/stage/usr/include/unistd.h
+ruserpass.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h ftp_var.h
+ruserpass.o: /home/nick/src/211bsd.git/stage/usr/include/sys/param.h
+ruserpass.o: /home/nick/src/211bsd.git/stage/usr/include/sys/localopts.h
+ruserpass.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stddef.h
+ruserpass.o: /home/nick/src/211bsd.git/stage/usr/include/machine/machparam.h
+ruserpass.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+ruserpass.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+ruserpass.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+ruserpass.o: /home/nick/src/211bsd.git/stage/usr/include/setjmp.h
+ruserpass.o: /home/nick/src/211bsd.git/stage/usr/include/stdlib.h
+domacro.o: domacro.c ftp_var.h
+domacro.o: /home/nick/src/211bsd.git/stage/usr/include/sys/param.h
+domacro.o: /home/nick/src/211bsd.git/stage/usr/include/sys/localopts.h
+domacro.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stddef.h
+domacro.o: /home/nick/src/211bsd.git/stage/usr/include/machine/machparam.h
+domacro.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+domacro.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+domacro.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+domacro.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+domacro.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+domacro.o: /home/nick/src/211bsd.git/stage/usr/include/setjmp.h
+domacro.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+domacro.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+domacro.o: /home/nick/src/211bsd.git/stage/usr/include/errno.h
+domacro.o: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
+domacro.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
index a3ef787..8291c39 100644 (file)
@@ -13,7 +13,7 @@ SRCS= indent.c io.c lexi.c parse.c pr_comment.c args.c
 OBJS=  indent.o io.o lexi.o parse.o pr_comment.o args.o
 
 indent: ${OBJS}
-       cc ${SEPFLAG} ${CFLAGS} -o indent ${OBJS}
+       ${CC} ${SEPFLAG} ${CFLAGS} -o indent ${OBJS}
 
 clean:
        rm -f ${OBJS} indent core
@@ -43,14 +43,22 @@ depend:
 
 # DO NOT DELETE THIS LINE -- make depend uses it
 
-indent.o: indent.c ./indent_globs.h /usr/include/stdio.h ./indent_codes.h
-io.o: io.c ./indent_globs.h /usr/include/stdio.h
-lexi.o: lexi.c ./indent_globs.h /usr/include/stdio.h ./indent_codes.h
-lexi.o: /usr/include/ctype.h
-parse.o: parse.c ././indent_globs.h /usr/include/stdio.h ././indent_codes.h
-pr_comment.o: pr_comment.c ./indent_globs.h /usr/include/stdio.h
-args.o: args.c ./indent_globs.h /usr/include/stdio.h /usr/include/sys/types.h
-args.o: /usr/include/ctype.h
+indent.o: indent.c ./indent_globs.h
+indent.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h ./indent_codes.h
+io.o: io.c ./indent_globs.h /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+lexi.o: lexi.c ./indent_globs.h
+lexi.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h ./indent_codes.h
+lexi.o: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
+parse.o: parse.c ././indent_globs.h
+parse.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h ././indent_codes.h
+pr_comment.o: pr_comment.c ./indent_globs.h
+pr_comment.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+args.o: args.c ./indent_globs.h
+args.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+args.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+args.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+args.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+args.o: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
 # DEPENDENCIES MUST END AT END OF FILE
 # IF YOU PUT STUFF HERE IT WILL GO AWAY
 # see make depend above
diff --git a/ucb/krcompat.h b/ucb/krcompat.h
new file mode 100644 (file)
index 0000000..b5c0b7d
--- /dev/null
@@ -0,0 +1,21 @@
+#ifndef _KRCOMPAT_H
+#define _KRCOMPAT_H 1
+
+#undef PARAMS
+#ifdef __STDC__
+#include <stdarg.h>
+#define VA_START(ap, arg) va_start(ap, arg)
+#define PARAMS(args) args
+#else
+#include <varargs.h>
+#define VA_START(ap, arg) va_start(ap)
+#define PARAMS(args) ()
+#endif
+
+#ifdef __GNUC__
+#define NORETURN __attribute__ ((noreturn))
+#else
+#define NORETURN
+#endif
+
+#endif
index d5f4e13..6629eca 100644 (file)
@@ -52,3 +52,33 @@ lint: ${SRCS}
 
 tags: ${SRCS}
        ctags ${SRCS}
+# DO NOT DELETE THIS LINE -- mkdep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+lock.o: lock.c /home/nick/src/211bsd.git/stage/usr/include/sys/param.h
+lock.o: /home/nick/src/211bsd.git/stage/usr/include/sys/localopts.h
+lock.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stddef.h
+lock.o: /home/nick/src/211bsd.git/stage/usr/include/machine/machparam.h
+lock.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+lock.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+lock.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+lock.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+lock.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+lock.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stat.h
+lock.o: /home/nick/src/211bsd.git/stage/usr/include/sys/time.h
+lock.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+lock.o: /home/nick/src/211bsd.git/stage/usr/include/time.h
+lock.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+lock.o: /home/nick/src/211bsd.git/stage/usr/include/sys/signal.h
+lock.o: /home/nick/src/211bsd.git/stage/usr/include/sgtty.h
+lock.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+lock.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+lock.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h
+lock.o: /home/nick/src/211bsd.git/stage/usr/include/pwd.h
+lock.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+lock.o: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
+lock.o: /home/nick/src/211bsd.git/stage/usr/include/strings.h
+lock.o: /home/nick/src/211bsd.git/stage/usr/include/string.h
+lock.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
index 6383de6..56e5529 100644 (file)
@@ -57,16 +57,37 @@ FRC:
 # DO NOT DELETE THIS LINE -- mkdep uses it.
 # DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
 
-apropos.o: apropos.c /usr/include/sys/param.h /usr/include/sys/localopts.h
-apropos.o: /usr/include/sys/stddef.h /usr/include/machine/machparam.h
-apropos.o: /usr/include/sys/types.h /usr/include/signal.h
-apropos.o: /usr/include/sys/types.h /usr/include/stdio.h /usr/include/ctype.h
-apropos.o: /usr/include/strings.h /usr/include/string.h
-apropos.o: /usr/include/sys/types.h
-man.o: man.c /usr/include/sys/param.h /usr/include/sys/localopts.h
-man.o: /usr/include/sys/stddef.h /usr/include/machine/machparam.h
-man.o: /usr/include/sys/types.h /usr/include/signal.h /usr/include/sys/types.h
-man.o: /usr/include/sys/file.h /usr/include/fcntl.h /usr/include/sys/types.h
-man.o: /usr/include/sys/dir.h /usr/include/stdio.h /usr/include/ctype.h
+apropos.o: apropos.c /home/nick/src/211bsd.git/stage/usr/include/sys/param.h
+apropos.o: /home/nick/src/211bsd.git/stage/usr/include/sys/localopts.h
+apropos.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stddef.h
+apropos.o: /home/nick/src/211bsd.git/stage/usr/include/machine/machparam.h
+apropos.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+apropos.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+apropos.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+apropos.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+apropos.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+apropos.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+apropos.o: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
+apropos.o: /home/nick/src/211bsd.git/stage/usr/include/strings.h
+apropos.o: /home/nick/src/211bsd.git/stage/usr/include/string.h
+apropos.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+man.o: man.c /home/nick/src/211bsd.git/stage/usr/include/sys/param.h
+man.o: /home/nick/src/211bsd.git/stage/usr/include/sys/localopts.h
+man.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stddef.h
+man.o: /home/nick/src/211bsd.git/stage/usr/include/machine/machparam.h
+man.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+man.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+man.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+man.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+man.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+man.o: /home/nick/src/211bsd.git/stage/usr/include/sys/file.h
+man.o: /home/nick/src/211bsd.git/stage/usr/include/fcntl.h
+man.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+man.o: /home/nick/src/211bsd.git/stage/usr/include/sys/dir.h
+man.o: /home/nick/src/211bsd.git/stage/usr/include/sys/utsname.h
+man.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+man.o: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
+man.o: /home/nick/src/211bsd.git/stage/usr/include/string.h
+man.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
 
 # IF YOU PUT ANYTHING HERE IT WILL GO AWAY
index c3e6708..a29a2c8 100644 (file)
@@ -4,22 +4,23 @@
  * specifies the terms and conditions for redistribution.
  */
 
-#ifndef lint
+#if defined(DOCOPYRIGHT) && !defined(lint)
 char copyright[] =
 "@(#) Copyright (c) 1980 Regents of the University of California.\n\
  All rights reserved.\n";
-#endif not lint
+#endif
 
-#ifndef lint
+#if defined(DOSCCS) && !defined(lint)
 static char sccsid[] = "@(#)mkstr.c    5.1 (Berkeley) 5/31/85";
-#endif not lint
+#endif
 
 #include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "krcompat.h"
 
 #define        ungetchar(c)    ungetc(c, stdin)
 
-long   ftell();
-char   *calloc();
 /*
  * mkstr - create a string error message file by massaging C source
  *
@@ -52,10 +53,16 @@ char        *progname;
 char   usagestr[] =    "usage: %s [ - ] mesgfile prefix file ...\n";
 char   name[100], *np;
 
-main(argc, argv)
-       int argc;
-       char *argv[];
-{
+int main PARAMS((int argc, char *argv[]));
+void process PARAMS((void));
+int match PARAMS((char *ocp));
+void copystr PARAMS((void));
+int octdigit PARAMS((int c));
+void inithash PARAMS((void));
+long hashit PARAMS((char *str, int really, unsigned fakept));
+int fgetNUL PARAMS((char *obuf, register int rmdr, FILE *file));
+
+int main(argc, argv) int argc; char *argv[]; {
        char addon = 0;
 
        argc--, progname = *argv++;
@@ -86,10 +93,8 @@ main(argc, argv)
        exit(0);
 }
 
-process()
-{
-       register char *cp;
-       register c;
+void process() {
+       register int c;
 
        for (;;) {
                c = getchar();
@@ -110,11 +115,9 @@ process()
        }
 }
 
-match(ocp)
-       char *ocp;
-{
+int match(ocp) char *ocp; {
        register char *cp;
-       register c;
+       register int c;
 
        for (cp = ocp + 1; *cp; cp++) {
                c = getchar();
@@ -128,9 +131,8 @@ match(ocp)
        return (1);
 }
 
-copystr()
-{
-       register c, ch;
+void copystr() {
+       register int c, ch;
        char buf[512];
        register char *cp = buf;
 
@@ -185,23 +187,19 @@ copystr()
        }
 out:
        *cp = 0;
-       printf("%d", hashit(buf, 1, NULL));
+       printf("%ld", hashit(buf, 1, 0));
 }
 
-octdigit(c)
-       char c;
-{
-
+int octdigit(c) int c; {
        return (c >= '0' && c <= '7');
 }
 
-inithash()
-{
+void inithash() {
        char buf[512];
        int mesgpt = 0;
 
        rewind(mesgread);
-       while (fgetNUL(buf, sizeof buf, mesgread) != NULL) {
+       while (fgetNUL(buf, sizeof buf, mesgread) != 0) {
                hashit(buf, 0, mesgpt);
                mesgpt += strlen(buf) + 2;
        }
@@ -215,11 +213,7 @@ struct     hash {
        struct  hash *hnext;
 } *bucket[NBUCKETS];
 
-hashit(str, really, fakept)
-       char *str;
-       char really;
-       unsigned fakept;
-{
+long hashit(str, really, fakept) char *str; int really; unsigned fakept; {
        int i;
        register struct hash *hp;
        char buf[512];
@@ -264,17 +258,13 @@ hashit(str, really, fakept)
 #include <sys/types.h>
 #include <sys/stat.h>
 
-fgetNUL(obuf, rmdr, file)
-       char *obuf;
-       register int rmdr;
-       FILE *file;
-{
-       register c;
+int fgetNUL(obuf, rmdr, file) char *obuf; register int rmdr; FILE *file; {
+       register int c;
        register char *buf = obuf;
 
        while (--rmdr > 0 && (c = getc(file)) != 0 && c != EOF)
                *buf++ = c;
        *buf++ = 0;
        getc(file);
-       return ((feof(file) || ferror(file)) ? NULL : 1);
+       return ((feof(file) || ferror(file)) ? 0 : 1);
 }
index dc7ff11..2337fb5 100644 (file)
@@ -11,7 +11,7 @@ CFLAGS=-O
 SEPFLAG= -i
 SRCS = msgs.c msgs.h Makefile
 msgs: msgs.c msgs.h
-       cc ${SEPFLAG} $(CFLAGS) -o msgs msgs.c -ltermlib
+       ${CC} ${SEPFLAG} $(CFLAGS) -o msgs msgs.c -ltermlib
 install: msgs
        ${INSTALL} -s msgs ${DESTDIR}/usr/ucb
 clean:
diff --git a/ucb/n.sh b/ucb/n.sh
new file mode 100755 (executable)
index 0000000..1344027
--- /dev/null
+++ b/ucb/n.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+ROOT="`pwd |sed -e 's/\/ucb$//'`"
+CC="cc -g -Iinclude -Wall -Wno-char-subscripts -Wno-deprecated-declarations -Wno-format -Wno-maybe-uninitialized -Wno-parentheses -Wno-unused-result"
+INSTALL="$ROOT/install.sh --strip-program=/bin/true"
+MANROFF="nroff -man"
+mkdir --parents "$ROOT/cross/usr/ucb"
+make CC="$CC" MANROFF="$MANROFF" SEPFLAG= mkstr unifdef xstr && \
+$INSTALL mkstr unifdef xstr "$ROOT/cross/usr/ucb"
index 5bca72a..9d5d4de 100644 (file)
@@ -40,3 +40,151 @@ FRC:
 
 # DO NOT DELETE THIS LINE -- mkdep uses it.
 # DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+host.o: host.c /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+host.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+host.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+host.o: /home/nick/src/211bsd.git/stage/usr/include/sys/mbuf.h
+host.o: /home/nick/src/211bsd.git/stage/usr/include/netinet/in.h
+host.o: /home/nick/src/211bsd.git/stage/usr/include/netimp/if_imp.h
+host.o: /home/nick/src/211bsd.git/stage/usr/include/netimp/if_imphost.h
+inet.o: inet.c /home/nick/src/211bsd.git/stage/usr/include/strings.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/string.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/sys/param.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/sys/localopts.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stddef.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/machine/machparam.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/sys/socket.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/sys/socketvar.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/sys/mbuf.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/sys/protosw.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/arpa/inet.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/net/route.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/netinet/in.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/netinet/in_systm.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/netinet/in_pcb.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/netinet/ip.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/netinet/ip_icmp.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/netinet/icmp_var.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/netinet/ip_var.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/netinet/tcp.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/netinet/tcpip.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/netinet/tcp_seq.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/netinet/tcp_fsm.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/netinet/tcp_timer.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/netinet/tcp_var.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/netinet/tcp_debug.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/netinet/udp.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/netinet/udp_var.h
+inet.o: /home/nick/src/211bsd.git/stage/usr/include/netdb.h
+if.o: if.c /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+if.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+if.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+if.o: /home/nick/src/211bsd.git/stage/usr/include/sys/socket.h
+if.o: /home/nick/src/211bsd.git/stage/usr/include/net/if.h
+if.o: /home/nick/src/211bsd.git/stage/usr/include/net/if_arp.h
+if.o: /home/nick/src/211bsd.git/stage/usr/include/netinet/in.h
+if.o: /home/nick/src/211bsd.git/stage/usr/include/netinet/in_var.h
+if.o: /home/nick/src/211bsd.git/stage/usr/include/netns/ns.h
+if.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+if.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+main.o: main.c /home/nick/src/211bsd.git/stage/usr/include/sys/param.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/sys/localopts.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stddef.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/machine/machparam.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/sys/vmmac.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/sys/socket.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/errno.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/netdb.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/nlist.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+main.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+mbuf.o: mbuf.c /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+mbuf.o: /home/nick/src/211bsd.git/stage/usr/include/sys/param.h
+mbuf.o: /home/nick/src/211bsd.git/stage/usr/include/sys/localopts.h
+mbuf.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stddef.h
+mbuf.o: /home/nick/src/211bsd.git/stage/usr/include/machine/machparam.h
+mbuf.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+mbuf.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+mbuf.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+mbuf.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+mbuf.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+mbuf.o: /home/nick/src/211bsd.git/stage/usr/include/sys/mbuf.h
+route.o: route.c /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+route.o: /home/nick/src/211bsd.git/stage/usr/include/strings.h
+route.o: /home/nick/src/211bsd.git/stage/usr/include/string.h
+route.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+route.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+route.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+route.o: /home/nick/src/211bsd.git/stage/usr/include/sys/param.h
+route.o: /home/nick/src/211bsd.git/stage/usr/include/sys/localopts.h
+route.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stddef.h
+route.o: /home/nick/src/211bsd.git/stage/usr/include/machine/machparam.h
+route.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+route.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+route.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+route.o: /home/nick/src/211bsd.git/stage/usr/include/sys/socket.h
+route.o: /home/nick/src/211bsd.git/stage/usr/include/sys/mbuf.h
+route.o: /home/nick/src/211bsd.git/stage/usr/include/net/if.h
+route.o: /home/nick/src/211bsd.git/stage/usr/include/net/if_arp.h
+route.o: /home/nick/src/211bsd.git/stage/usr/include/net/route.h
+route.o: /home/nick/src/211bsd.git/stage/usr/include/netinet/in.h
+route.o: /home/nick/src/211bsd.git/stage/usr/include/netns/ns.h
+route.o: /home/nick/src/211bsd.git/stage/usr/include/netdb.h
+unix.o: unix.c /home/nick/src/211bsd.git/stage/usr/include/sys/param.h
+unix.o: /home/nick/src/211bsd.git/stage/usr/include/sys/localopts.h
+unix.o: /home/nick/src/211bsd.git/stage/usr/include/sys/stddef.h
+unix.o: /home/nick/src/211bsd.git/stage/usr/include/machine/machparam.h
+unix.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+unix.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+unix.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+unix.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+unix.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+unix.o: /home/nick/src/211bsd.git/stage/usr/include/sys/protosw.h
+unix.o: /home/nick/src/211bsd.git/stage/usr/include/sys/socket.h
+unix.o: /home/nick/src/211bsd.git/stage/usr/include/sys/socketvar.h
+unix.o: /home/nick/src/211bsd.git/stage/usr/include/sys/mbuf.h
+unix.o: /home/nick/src/211bsd.git/stage/usr/include/sys/un.h
+unix.o: /home/nick/src/211bsd.git/stage/usr/include/sys/unpcb.h
+unix.o: /home/nick/src/211bsd.git/stage/usr/include/sys/file.h
+unix.o: /home/nick/src/211bsd.git/stage/usr/include/fcntl.h
+ns.o: ns.c /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+ns.o: /home/nick/src/211bsd.git/stage/usr/include/errno.h
+ns.o: /home/nick/src/211bsd.git/stage/usr/include/nlist.h
+ns.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+ns.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+ns.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+ns.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+ns.o: /home/nick/src/211bsd.git/stage/usr/include/sys/socket.h
+ns.o: /home/nick/src/211bsd.git/stage/usr/include/sys/socketvar.h
+ns.o: /home/nick/src/211bsd.git/stage/usr/include/sys/mbuf.h
+ns.o: /home/nick/src/211bsd.git/stage/usr/include/sys/protosw.h
+ns.o: /home/nick/src/211bsd.git/stage/usr/include/net/route.h
+ns.o: /home/nick/src/211bsd.git/stage/usr/include/net/if.h
+ns.o: /home/nick/src/211bsd.git/stage/usr/include/net/if_arp.h
+ns.o: /home/nick/src/211bsd.git/stage/usr/include/netinet/tcp_fsm.h
+ns.o: /home/nick/src/211bsd.git/stage/usr/include/netns/ns.h
+ns.o: /home/nick/src/211bsd.git/stage/usr/include/netns/ns_pcb.h
+ns.o: /home/nick/src/211bsd.git/stage/usr/include/netns/idp.h
+ns.o: /home/nick/src/211bsd.git/stage/usr/include/netns/idp_var.h
+ns.o: /home/nick/src/211bsd.git/stage/usr/include/netns/ns_error.h
+ns.o: /home/nick/src/211bsd.git/stage/usr/include/netns/sp.h
+ns.o: /home/nick/src/211bsd.git/stage/usr/include/netns/spidp.h
+ns.o: /home/nick/src/211bsd.git/stage/usr/include/netns/spp_timer.h
+ns.o: /home/nick/src/211bsd.git/stage/usr/include/netns/spp_var.h
+ns.o: /home/nick/src/211bsd.git/stage/usr/include/netns/spp_debug.h
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
index 81209a7..7af4115 100644 (file)
@@ -14,7 +14,7 @@ eyacc: ${OBJS}
        -if [ X${SEPFLAG} = X-i ]; then \
                ${CC} ${SEPFLAG} ${LDFLAGS} -o eyacc ${OBJS}; \
        else \
-               ld ${SEPFLAG} ${LDFLAGS} -o eyacc /lib/crt0.o ey0.o \
+               ${LD} ${SEPFLAG} ${LDFLAGS} -o eyacc ${STAGEDIR}/lib/crt0.o ey0.o \
                -Z ey1.o ey3.o -Z ey2.o ey4.o \
                -Y ey5.o -lc; \
        fi
index 4aea3e7..bdca700 100644 (file)
@@ -70,7 +70,7 @@ pi: ${OBJS} version
        -if [ X${SEPFLAG} = X-i ]; then \
                ${CC} ${SEPFLAG} ${CFLAGS} -o pi ${OBJS} Version.c; \
        else \
-               ld ${SEPFLAG} ${LDFLAGS} -o pi /lib/crt0.o ${BASE} \
+               ${LD} ${SEPFLAG} ${LDFLAGS} -o pi ${STAGEDIR}/lib/crt0.o ${BASE} \
                -Z ${OV1} -Z ${OV2} -Z ${OV3} -Z ${OV4} -Z ${OV5} -Z ${OV6} \
                -Y -lc; \
        fi
index 79fa50d..67674fb 100644 (file)
@@ -35,7 +35,7 @@ all: ${ALL}
        ${AS} -o $*.o $*.s
 
 px: as.o ${OBJS}
-       ${LD} ${SEPFLAG} ${LDFLAGS} -o px /lib/crt0.o as.o ${OBJS} -lm -lc
+       ${LD} ${SEPFLAG} ${LDFLAGS} -o px ${STAGEDIR}/lib/crt0.o as.o ${OBJS} -lm -lc
 
 gather: gather.o
        cc ${SEPFLAG} -o gather gather.o
index e5640c4..2fa1b34 100644 (file)
@@ -7,7 +7,7 @@ INSTALL=install
 SRCS=strcompact.c ../../lib/libc/pdp/gen/nsym.c
 OBJS=strcompact.o ../../lib/libc/pdp/gen/nsym.o
 
-CFLAGS=-O -DCROSSDIR="${CROSSDIR}" -DLOCALESTR="${LOCALESTR}"
+CFLAGS=-O -DCROSSPREFIX="${CROSSPREFIX}" -DLOCALESTR="${LOCALESTR}"
 SEPFLAG=-i
 
 all:   strcompact
index c049737..421cc69 100755 (executable)
@@ -4,5 +4,5 @@ CC="cc -g -Iinclude -Wall -Wno-char-subscripts -Wno-deprecated-declarations -Wno
 INSTALL="$ROOT/install.sh --strip-program=/bin/true"
 MANROFF="nroff -man"
 mkdir --parents "$ROOT/cross/usr/ucb"
-make CC="$CC" MANROFF="$MANROFF" SEPFLAG= CROSSDIR="\\\"$ROOT/cross\\\"" LOCALESTR="\\\"LC_ALL=C \\\"" && \
+make CC="$CC" MANROFF="$MANROFF" SEPFLAG= CROSSPREFIX="\\\"$ROOT/cross\\\"" LOCALESTR="\\\"LC_ALL=C \\\"" && \
 make INSTALL="$INSTALL" DESTDIR="$ROOT/cross" install
index 08d48cb..0f69797 100644 (file)
@@ -48,7 +48,7 @@
 
        char    *Pgm;
        char    *Sort = LOCALESTR "/usr/bin/sort";
-       char    *Symdump = CROSSDIR "/usr/ucb/symdump";
+       char    *Symdump = CROSSPREFIX "/usr/ucb/symdump";
 static char    strfn[32], symfn[32];
 
 int main PARAMS((int argc, char **argv));
@@ -61,7 +61,7 @@ int main(argc, argv) int argc; char **argv; {
 #ifdef pdp11
        char    buf1[128];
 #else
-/* CROSSDIR can be very long, really should check it, but fudge it for now */
+/* CROSSPREFIX can be very long, really should check it, but fudge it for now */
        char    buf1[BUFSIZ];
 #endif
        char    symname[64], savedname[64];
index 6893774..26bb618 100644 (file)
@@ -51,66 +51,177 @@ depend: ${SRCS}
 
 # DO NOT DELETE THIS LINE -- make depend uses it
 
-talk: talk.c ./talk.h /usr/include/curses.h /usr/include/stdio.h
-talk: /usr/include/sgtty.h /usr/include/sys/ioctl.h /usr/include/sys/ttychars.h
-talk: /usr/include/sys/ttydev.h /usr/include/utmp.h
-get_names: get_names.c ./talk.h /usr/include/curses.h /usr/include/stdio.h
-get_names: /usr/include/sgtty.h /usr/include/sys/ioctl.h
-get_names: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
-get_names: /usr/include/utmp.h /usr/include/sys/param.h
-get_names: /usr/include/machine/machparam.h /usr/include/signal.h
-get_names: /usr/include/sys/types.h /usr/include/protocols/talkd.h
-get_names: /usr/include/sys/types.h /usr/include/sys/socket.h
-display: display.c ./talk.h /usr/include/curses.h /usr/include/stdio.h
-display: /usr/include/sgtty.h /usr/include/sys/ioctl.h
-display: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
-display: /usr/include/utmp.h
-io: io.c ./talk.h /usr/include/curses.h /usr/include/stdio.h
-io: /usr/include/sgtty.h /usr/include/sys/ioctl.h /usr/include/sys/ttychars.h
-io: /usr/include/sys/ttydev.h /usr/include/utmp.h /usr/include/stdio.h
-io: /usr/include/errno.h /usr/include/sys/time.h /usr/include/time.h
-ctl: ctl.c ./talk_ctl.h /usr/include/sys/types.h /usr/include/protocols/talkd.h
-ctl: /usr/include/sys/types.h /usr/include/sys/socket.h
-ctl: /usr/include/netinet/in.h ./talk.h /usr/include/curses.h
-ctl: /usr/include/stdio.h /usr/include/sgtty.h /usr/include/sys/ioctl.h
-ctl: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h /usr/include/utmp.h
-ctl: /usr/include/errno.h
-init_disp: init_disp.c ./talk.h /usr/include/curses.h /usr/include/stdio.h
-init_disp: /usr/include/sgtty.h /usr/include/sys/ioctl.h
-init_disp: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
-init_disp: /usr/include/utmp.h /usr/include/signal.h
-msgs: msgs.c /usr/include/signal.h /usr/include/stdio.h /usr/include/sys/time.h
-msgs: /usr/include/time.h ./talk.h /usr/include/curses.h /usr/include/stdio.h
-msgs: /usr/include/sgtty.h /usr/include/sys/ioctl.h /usr/include/sys/ttychars.h
-msgs: /usr/include/sys/ttydev.h /usr/include/utmp.h
-get_addrs: get_addrs.c ./talk_ctl.h /usr/include/sys/types.h
-get_addrs: /usr/include/protocols/talkd.h /usr/include/sys/types.h
-get_addrs: /usr/include/sys/socket.h /usr/include/netinet/in.h ./talk.h
-get_addrs: /usr/include/curses.h /usr/include/stdio.h /usr/include/sgtty.h
-get_addrs: /usr/include/sys/ioctl.h /usr/include/sys/ttychars.h
-get_addrs: /usr/include/sys/ttydev.h /usr/include/utmp.h /usr/include/errno.h
-get_addrs: /usr/include/netdb.h
-ctl_transact: ctl_transact.c ./talk_ctl.h /usr/include/sys/types.h
-ctl_transact: /usr/include/protocols/talkd.h /usr/include/sys/types.h
-ctl_transact: /usr/include/sys/socket.h /usr/include/netinet/in.h ./talk.h
-ctl_transact: /usr/include/curses.h /usr/include/stdio.h /usr/include/sgtty.h
-ctl_transact: /usr/include/sys/ioctl.h /usr/include/sys/ttychars.h
-ctl_transact: /usr/include/sys/ttydev.h /usr/include/utmp.h
-ctl_transact: /usr/include/errno.h /usr/include/sys/time.h /usr/include/time.h
-invite: invite.c ./talk_ctl.h /usr/include/sys/types.h
-invite: /usr/include/protocols/talkd.h /usr/include/sys/types.h
-invite: /usr/include/sys/socket.h /usr/include/netinet/in.h ./talk.h
-invite: /usr/include/curses.h /usr/include/stdio.h /usr/include/sgtty.h
-invite: /usr/include/sys/ioctl.h /usr/include/sys/ttychars.h
-invite: /usr/include/sys/ttydev.h /usr/include/utmp.h /usr/include/errno.h
-invite: /usr/include/sys/time.h /usr/include/time.h /usr/include/signal.h
-invite: /usr/include/setjmp.h
-look_up: look_up.c ./talk_ctl.h /usr/include/sys/types.h
-look_up: /usr/include/protocols/talkd.h /usr/include/sys/types.h
-look_up: /usr/include/sys/socket.h /usr/include/netinet/in.h ./talk.h
-look_up: /usr/include/curses.h /usr/include/stdio.h /usr/include/sgtty.h
-look_up: /usr/include/sys/ioctl.h /usr/include/sys/ttychars.h
-look_up: /usr/include/sys/ttydev.h /usr/include/utmp.h /usr/include/errno.h
+talk: talk.c ./talk.h /home/nick/src/211bsd.git/stage/usr/include/curses.h
+talk: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+talk: /home/nick/src/211bsd.git/stage/usr/include/sgtty.h
+talk: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+talk: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+talk: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h
+talk: /home/nick/src/211bsd.git/stage/usr/include/utmp.h
+get_names: get_names.c ./talk.h
+get_names: /home/nick/src/211bsd.git/stage/usr/include/curses.h
+get_names: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+get_names: /home/nick/src/211bsd.git/stage/usr/include/sgtty.h
+get_names: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+get_names: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+get_names: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h
+get_names: /home/nick/src/211bsd.git/stage/usr/include/utmp.h
+get_names: /home/nick/src/211bsd.git/stage/usr/include/sys/param.h
+get_names: /home/nick/src/211bsd.git/stage/usr/include/sys/localopts.h
+get_names: /home/nick/src/211bsd.git/stage/usr/include/sys/stddef.h
+get_names: /home/nick/src/211bsd.git/stage/usr/include/machine/machparam.h
+get_names: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+get_names: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+get_names: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+get_names: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+get_names: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+get_names: /home/nick/src/211bsd.git/stage/usr/include/protocols/talkd.h
+get_names: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+get_names: /home/nick/src/211bsd.git/stage/usr/include/sys/socket.h
+get_names: /home/nick/src/211bsd.git/stage/usr/include/netinet/in.h
+get_names: /home/nick/src/211bsd.git/stage/usr/include/string.h
+get_names: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+get_names: /home/nick/src/211bsd.git/stage/usr/include/unistd.h
+get_names: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+display: display.c ./talk.h
+display: /home/nick/src/211bsd.git/stage/usr/include/curses.h
+display: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+display: /home/nick/src/211bsd.git/stage/usr/include/sgtty.h
+display: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+display: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+display: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h
+display: /home/nick/src/211bsd.git/stage/usr/include/utmp.h
+io: io.c ./talk.h /home/nick/src/211bsd.git/stage/usr/include/curses.h
+io: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+io: /home/nick/src/211bsd.git/stage/usr/include/sgtty.h
+io: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+io: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+io: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h
+io: /home/nick/src/211bsd.git/stage/usr/include/utmp.h
+io: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+io: /home/nick/src/211bsd.git/stage/usr/include/errno.h
+io: /home/nick/src/211bsd.git/stage/usr/include/string.h
+io: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+io: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+io: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+io: /home/nick/src/211bsd.git/stage/usr/include/sys/time.h
+io: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+io: /home/nick/src/211bsd.git/stage/usr/include/time.h
+io: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+ctl: ctl.c ./talk_ctl.h /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+ctl: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+ctl: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+ctl: /home/nick/src/211bsd.git/stage/usr/include/protocols/talkd.h
+ctl: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+ctl: /home/nick/src/211bsd.git/stage/usr/include/sys/socket.h
+ctl: /home/nick/src/211bsd.git/stage/usr/include/netinet/in.h ./talk.h
+ctl: /home/nick/src/211bsd.git/stage/usr/include/curses.h
+ctl: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+ctl: /home/nick/src/211bsd.git/stage/usr/include/sgtty.h
+ctl: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+ctl: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+ctl: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h
+ctl: /home/nick/src/211bsd.git/stage/usr/include/utmp.h
+ctl: /home/nick/src/211bsd.git/stage/usr/include/errno.h
+init_disp: init_disp.c ./talk.h
+init_disp: /home/nick/src/211bsd.git/stage/usr/include/curses.h
+init_disp: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+init_disp: /home/nick/src/211bsd.git/stage/usr/include/sgtty.h
+init_disp: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+init_disp: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+init_disp: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h
+init_disp: /home/nick/src/211bsd.git/stage/usr/include/utmp.h
+init_disp: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+msgs: msgs.c /home/nick/src/211bsd.git/stage/usr/include/signal.h
+msgs: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+msgs: /home/nick/src/211bsd.git/stage/usr/include/sys/time.h
+msgs: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+msgs: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+msgs: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+msgs: /home/nick/src/211bsd.git/stage/usr/include/time.h
+msgs: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h ./talk.h
+msgs: /home/nick/src/211bsd.git/stage/usr/include/curses.h
+msgs: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+msgs: /home/nick/src/211bsd.git/stage/usr/include/sgtty.h
+msgs: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+msgs: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+msgs: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h
+msgs: /home/nick/src/211bsd.git/stage/usr/include/utmp.h
+get_addrs: get_addrs.c ./talk_ctl.h
+get_addrs: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+get_addrs: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+get_addrs: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+get_addrs: /home/nick/src/211bsd.git/stage/usr/include/protocols/talkd.h
+get_addrs: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+get_addrs: /home/nick/src/211bsd.git/stage/usr/include/sys/socket.h
+get_addrs: /home/nick/src/211bsd.git/stage/usr/include/netinet/in.h ./talk.h
+get_addrs: /home/nick/src/211bsd.git/stage/usr/include/curses.h
+get_addrs: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+get_addrs: /home/nick/src/211bsd.git/stage/usr/include/sgtty.h
+get_addrs: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+get_addrs: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+get_addrs: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h
+get_addrs: /home/nick/src/211bsd.git/stage/usr/include/utmp.h
+get_addrs: /home/nick/src/211bsd.git/stage/usr/include/errno.h
+get_addrs: /home/nick/src/211bsd.git/stage/usr/include/netdb.h
+ctl_transact: ctl_transact.c ./talk_ctl.h
+ctl_transact: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+ctl_transact: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+ctl_transact: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+ctl_transact: /home/nick/src/211bsd.git/stage/usr/include/protocols/talkd.h
+ctl_transact: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+ctl_transact: /home/nick/src/211bsd.git/stage/usr/include/sys/socket.h
+ctl_transact: /home/nick/src/211bsd.git/stage/usr/include/netinet/in.h ./talk.h
+ctl_transact: /home/nick/src/211bsd.git/stage/usr/include/curses.h
+ctl_transact: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+ctl_transact: /home/nick/src/211bsd.git/stage/usr/include/sgtty.h
+ctl_transact: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+ctl_transact: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+ctl_transact: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h
+ctl_transact: /home/nick/src/211bsd.git/stage/usr/include/utmp.h
+ctl_transact: /home/nick/src/211bsd.git/stage/usr/include/errno.h
+ctl_transact: /home/nick/src/211bsd.git/stage/usr/include/sys/time.h
+ctl_transact: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+ctl_transact: /home/nick/src/211bsd.git/stage/usr/include/time.h
+ctl_transact: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+invite: invite.c ./talk_ctl.h
+invite: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+invite: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+invite: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+invite: /home/nick/src/211bsd.git/stage/usr/include/protocols/talkd.h
+invite: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+invite: /home/nick/src/211bsd.git/stage/usr/include/sys/socket.h
+invite: /home/nick/src/211bsd.git/stage/usr/include/netinet/in.h ./talk.h
+invite: /home/nick/src/211bsd.git/stage/usr/include/curses.h
+invite: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+invite: /home/nick/src/211bsd.git/stage/usr/include/sgtty.h
+invite: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+invite: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+invite: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h
+invite: /home/nick/src/211bsd.git/stage/usr/include/utmp.h
+invite: /home/nick/src/211bsd.git/stage/usr/include/errno.h
+invite: /home/nick/src/211bsd.git/stage/usr/include/sys/time.h
+invite: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+invite: /home/nick/src/211bsd.git/stage/usr/include/time.h
+invite: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+invite: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+invite: /home/nick/src/211bsd.git/stage/usr/include/setjmp.h
+look_up: look_up.c ./talk_ctl.h
+look_up: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+look_up: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+look_up: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+look_up: /home/nick/src/211bsd.git/stage/usr/include/protocols/talkd.h
+look_up: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+look_up: /home/nick/src/211bsd.git/stage/usr/include/sys/socket.h
+look_up: /home/nick/src/211bsd.git/stage/usr/include/netinet/in.h ./talk.h
+look_up: /home/nick/src/211bsd.git/stage/usr/include/curses.h
+look_up: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+look_up: /home/nick/src/211bsd.git/stage/usr/include/sgtty.h
+look_up: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+look_up: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+look_up: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h
+look_up: /home/nick/src/211bsd.git/stage/usr/include/utmp.h
+look_up: /home/nick/src/211bsd.git/stage/usr/include/errno.h
 # DEPENDENCIES MUST END AT END OF FILE
 # IF YOU PUT STUFF HERE IT WILL GO AWAY
 # see make depend above
index 30926e1..fb62120 100644 (file)
@@ -100,15 +100,62 @@ m4.out:           termcodes.m4
 depend:        ${ALLC}
        ${MKDEP} ${CFLAGS} ${ALLC}
 
-# DO NOT DELETE THIS LINE
-
-asctab.o: ascebc.h
-ebctab.o: ascebc.h
-options.o: options.h
-screen.o: screen.h 3270.h
-datastream.o: ascebc.h 3270.h screen.h
-keyboard.o: m4.out ascebc.h 3270.h screen.h options.h ectype.h
-termin.o: m4.out state.h
-map3270.o: m4.out state.h default.map3270
-ectype.o: ectype.h
-mset.o: state.h m4.out
+# DO NOT DELETE THIS LINE -- mkdep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+asctab.o: asctab.c ascebc.h
+ebctab.o: ebctab.c ascebc.h
+options.o: options.c options.h
+screen.o: screen.c /home/nick/src/211bsd.git/stage/usr/include/stdio.h screen.h
+screen.o: 3270.h
+datastream.o: datastream.c /home/nick/src/211bsd.git/stage/usr/include/signal.h
+datastream.o: /home/nick/src/211bsd.git/stage/usr/include/sgtty.h
+datastream.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+datastream.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+datastream.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h
+datastream.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+datastream.o: /home/nick/src/211bsd.git/stage/usr/include/curses.h
+datastream.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+datastream.o: /home/nick/src/211bsd.git/stage/usr/include/sgtty.h ascebc.h
+datastream.o: 3270.h screen.h
+keyboard.o: keyboard.c ascebc.h 3270.h screen.h options.h ectype.h
+termin.o: termin.c /home/nick/src/211bsd.git/stage/usr/include/ctype.h state.h
+map3270.o: map3270.c /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+map3270.o: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
+map3270.o: /home/nick/src/211bsd.git/stage/usr/include/curses.h
+map3270.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+map3270.o: /home/nick/src/211bsd.git/stage/usr/include/sgtty.h
+map3270.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+map3270.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+map3270.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h state.h
+map3270.o: default.map3270
+ectype.o: ectype.c ectype.h
+tn3270.o: tn3270.c /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+tn3270.o: /home/nick/src/211bsd.git/stage/usr/include/sys/select.h
+tn3270.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+tn3270.o: /home/nick/src/211bsd.git/stage/usr/include/sys/socket.h
+tn3270.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+tn3270.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+tn3270.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h
+tn3270.o: /home/nick/src/211bsd.git/stage/usr/include/sys/time.h
+tn3270.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+tn3270.o: /home/nick/src/211bsd.git/stage/usr/include/time.h
+tn3270.o: /home/nick/src/211bsd.git/stage/usr/include/sys/types.h
+tn3270.o: /home/nick/src/211bsd.git/stage/usr/include/netinet/in.h
+tn3270.o: /home/nick/src/211bsd.git/stage/usr/include/arpa/inet.h
+tn3270.o: /home/nick/src/211bsd.git/stage/usr/include/arpa/telnet.h
+tn3270.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+tn3270.o: /home/nick/src/211bsd.git/stage/usr/include/ctype.h
+tn3270.o: /home/nick/src/211bsd.git/stage/usr/include/errno.h
+tn3270.o: /home/nick/src/211bsd.git/stage/usr/include/signal.h
+tn3270.o: /home/nick/src/211bsd.git/stage/usr/include/setjmp.h
+tn3270.o: /home/nick/src/211bsd.git/stage/usr/include/netdb.h
+mset.o: mset.c /home/nick/src/211bsd.git/stage/usr/include/curses.h
+mset.o: /home/nick/src/211bsd.git/stage/usr/include/stdio.h
+mset.o: /home/nick/src/211bsd.git/stage/usr/include/sgtty.h
+mset.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ioctl.h
+mset.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttychars.h
+mset.o: /home/nick/src/211bsd.git/stage/usr/include/sys/ttydev.h state.h
+pdpbsubs.o: pdpbsubs.s
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
index 3daab14..36fa6fc 100644 (file)
@@ -40,3 +40,7 @@ tags: ${SRCS}
        ctags ${SRCS}
 # DO NOT DELETE THIS LINE -- mkdep uses it.
 # DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
index a590d06..b0f3bad 100644 (file)
@@ -1,4 +1,4 @@
-#ifndef lint
+#if defined(DOSCCS) && !defined(lint)
 static char sccsid[] = "@(#)unifdef.c  4.4 (Berkeley) 8/11/83";
 #endif
 
@@ -7,7 +7,11 @@ static char sccsid[] = "@(#)unifdef.c  4.4 (Berkeley) 8/11/83";
  */
 
 #include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
 #include <ctype.h>
+#include "krcompat.h"
+
 #define BSS
 FILE *input;
 #ifndef YES
@@ -31,13 +35,20 @@ char incomment BSS;
 #define QUOTE2 1
 char inquote[2] BSS;
 int exitstat BSS;
-char *skipcomment ();
-char *skipquote ();
 
-main (argc, argv)
-int argc;
-char **argv;
-{
+int main PARAMS((int argc, char **argv));
+void pfile PARAMS((void));
+int doif PARAMS((register int thissym, int inif, int prevreject, int depth));
+int checkline PARAMS((int *cursym));
+char *skipcomment PARAMS((register char *cp));
+char *skipquote PARAMS((register char *cp, register int type));
+int getlin PARAMS((register char *line, int maxline, FILE *inp, int expandtabs));
+void flushline PARAMS((int keep));
+void putlin PARAMS((register char *line, register FILE *fio));
+void prname PARAMS((void));
+int error PARAMS((int err, int line, int depth));
+
+int main(argc, argv) int argc; char **argv; {
     char **curarg;
     register char *cp;
     register char *cp1;
@@ -147,19 +158,17 @@ char *errs[] = {
                        "Premature EOF in quoted string"
 };
 
-pfile ()
-{
+void pfile() {
     reject = 0;
     doif (-1, NO, reject, 0);
     return;
 }
 
-doif (thissym, inif, prevreject, depth)
-register int thissym;   /* index of the symbol who was last ifdef'ed */
-int inif;               /* YES or NO we are inside an ifdef */
-int prevreject;         /* previous value of reject */
-int depth;              /* depth of ifdef's */
-{
+int doif(thissym, inif, prevreject, depth) register int thissym; int inif; int prevreject; int depth; {
+    /* thissym: index of the symbol who was last ifdef'ed */
+    /* inif: YES or NO we are inside an ifdef */
+    /* prevreject: previous value of reject */
+    /* depth: depth of ifdef's */
     register int lineval;
     register int thisreject;
     int doret;          /* tmp return valud]e of doif */
@@ -258,9 +267,7 @@ int depth;              /* depth of ifdef's */
 #define MAXLINE 256
 char tline[MAXLINE] BSS;
 
-checkline (cursym)
-int *cursym;
-{
+int checkline(cursym) int *cursym; {
     register char *cp;
     register char *symp;
     register char chr;
@@ -352,12 +359,9 @@ int *cursym;
 }
 
 /*  Skip over comments and stop at the next charaacter
-/*  position that is not whitespace.
-/**/
-char *
-skipcomment (cp)
-register char *cp;
-{
+ *  position that is not whitespace.
+ */
+char *skipcomment(cp) register char *cp; {
     if (incomment)
        goto inside;
     for (;; cp++) {
@@ -387,13 +391,9 @@ register char *cp;
 }
 
 /*  Skip over a quoted string or character and stop at the next charaacter
-/*  position that is not whitespace.
-/**/
-char *
-skipquote (cp, type)
-register char *cp;
-register int type;
-{
+ *  position that is not whitespace.
+ */
+char *skipquote(cp, type) register char *cp; register int type; {
     register char qchar;
 
     qchar = type == QUOTE1 ? '\'' : '"';
@@ -423,16 +423,11 @@ register int type;
 }
 
 /*
-/*   special getlin - treats form-feed as an end-of-line
-/*                    and expands tabs if asked for
-/*
-/**/
-getlin (line, maxline, inp, expandtabs)
-register char *line;
-int maxline;
-FILE *inp;
-int expandtabs;
-{
+ *   special getlin - treats form-feed as an end-of-line
+ *                    and expands tabs if asked for
+ *
+ */
+int getlin(line, maxline, inp, expandtabs) register char *line; int maxline; FILE *inp; int expandtabs; {
     int tmp;
     register int num;
     register int chr;
@@ -499,8 +494,7 @@ int expandtabs;
     return num;
 }
 
-flushline (keep)
-{
+void flushline(keep) int keep; {
     if ((keep && reject < 2) ^ complement)
        putlin (tline, stdout);
     else if (lnblank)
@@ -509,13 +503,10 @@ flushline (keep)
 }
 
 /*
-/*  putlin - for tools
-/*
-/**/
-putlin (line, fio)
-register char *line;
-register FILE *fio;
-{
+ *  putlin - for tools
+ *
+ */
+void putlin(line, fio) register char *line; register FILE *fio; {
     register char chr;
 
     while (chr = *line++)
@@ -523,15 +514,13 @@ register FILE *fio;
     return;
 }
 
-prname ()
-{
+void prname() {
     fprintf (stderr, "%s: ", progname);
     return;
 }
 
 
-error (err, line, depth)
-{
+int error(err, line, depth) int err; int line; int depth; {
     if (err == END_ERR)
        return err;
 
index e9ac1c8..c09870f 100644 (file)
@@ -4,20 +4,24 @@
  * specifies the terms and conditions for redistribution.
  */
 
-#ifndef lint
+#if defined(DOCOPYRIGHT) && !defined(lint)
 char copyright[] =
 "@(#) Copyright (c) 1980 Regents of the University of California.\n\
  All rights reserved.\n";
-#endif not lint
+#endif
 
-#ifndef lint
+#if defined(DOSCCS) && !defined(lint)
 static char sccsid[] = "@(#)xstr.c     5.3 (Berkeley) 1/13/86";
-#endif not lint
+#endif
 
 #include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
 #include <ctype.h>
 #include <sys/types.h>
 #include <signal.h>
+#include <unistd.h>
+#include "krcompat.h"
 
 /*
  * xstr - extract and hash strings in a C program
@@ -28,16 +32,7 @@ static char sccsid[] = "@(#)xstr.c   5.3 (Berkeley) 1/13/86";
 
 #define        ignore(a)       ((void) a)
 
-char   *calloc();
 off_t  tellpt;
-off_t  hashit();
-char   *mktemp();
-int    onintr();
-char   *savestr();
-char   *strcat();
-char   *strcpy();
-off_t  yankstr();
-
 off_t  mesgpt;
 char   *strings =      "strings";
 
@@ -45,11 +40,24 @@ int cflg;
 int    vflg;
 int    readstd;
 
-main(argc, argv)
-       int argc;
-       char *argv[];
-{
-
+int main PARAMS((int argc, char *argv[]));
+void process PARAMS((char *name));
+off_t yankstr PARAMS((register char **cpp));
+int octdigit PARAMS((int c));
+void inithash PARAMS((void));
+int fgetNUL PARAMS((char *obuf, register int rmdr, FILE *file));
+int xgetc PARAMS((FILE *file));
+off_t hashit PARAMS((char *str, int new));
+void flushsh PARAMS((void));
+void found PARAMS((int new, off_t off, char *str));
+void prstr PARAMS((register char *cp));
+void xsdotc PARAMS((void));
+char *savestr PARAMS((register char *cp));
+int lastchr PARAMS((register char *cp));
+int istail PARAMS((register char *str, register char *of));
+int onintr PARAMS((void));
+
+int main(argc, argv) int argc; char *argv[]; {
        argc--, argv++;
        while (argc > 0 && argv[0][0] == '-') {
                register char *cp = &(*argv++)[1];
@@ -74,11 +82,11 @@ main(argc, argv)
                } while (*cp);
        }
        if (signal(SIGINT, SIG_IGN) == SIG_DFL)
-               signal(SIGINT, onintr);
+               signal(SIGINT, (sig_t)onintr);
        if (cflg || argc == 0 && !readstd)
                inithash();
        else
-               strings = mktemp(savestr("/tmp/xstrXXXXXX"));
+               strings = NULL; /*mktemp(savestr("/tmp/xstrXXXXXX");*/
        while (readstd || argc > 0) {
                if (freopen("x.c", "w", stdout) == NULL)
                        perror("x.c"), exit(1);
@@ -91,18 +99,21 @@ main(argc, argv)
                        readstd = 0;
        };
        flushsh();
+ /* there seems to have been an inconsistency in the logic previously */
+ /* it could have called mktemp() above then done nothing with the file */
+ /* in that case there would be no point reading it back or deleting it */
+ if (strings) {
        if (cflg == 0)
                xsdotc();
        if (strings[0] == '/')
                ignore(unlink(strings));
+ }
        exit(0);
 }
 
 char linebuf[BUFSIZ];
 
-process(name)
-       char *name;
-{
+void process(name) char *name; {
        char *cp;
        register int c;
        register int incomm = 0;
@@ -170,10 +181,7 @@ out:
                perror("x.c"), onintr();
 }
 
-off_t
-yankstr(cpp)
-       register char **cpp;
-{
+off_t yankstr(cpp) register char **cpp; {
        register char *cp = *cpp;
        register int c, ch;
        char dbuf[BUFSIZ];
@@ -230,15 +238,11 @@ out:
        return (hashit(dbuf, 1));
 }
 
-octdigit(c)
-       char c;
-{
-
+int octdigit(c) int c; {
        return (isdigit(c) && c != '8' && c != '9');
 }
 
-inithash()
-{
+void inithash() {
        char buf[BUFSIZ];
        register FILE *mesgread = fopen(strings, "r");
 
@@ -246,31 +250,24 @@ inithash()
                return;
        for (;;) {
                mesgpt = tellpt;
-               if (fgetNUL(buf, sizeof buf, mesgread) == NULL)
+               if (fgetNUL(buf, sizeof buf, mesgread) == 0)
                        break;
                ignore(hashit(buf, 0));
        }
        ignore(fclose(mesgread));
 }
 
-fgetNUL(obuf, rmdr, file)
-       char *obuf;
-       register int rmdr;
-       FILE *file;
-{
-       register c;
+int fgetNUL(obuf, rmdr, file) char *obuf; register int rmdr; FILE *file; {
+       register int c;
        register char *buf = obuf;
 
        while (--rmdr > 0 && (c = xgetc(file)) != 0 && c != EOF)
                *buf++ = c;
        *buf++ = 0;
-       return ((feof(file) || ferror(file)) ? NULL : 1);
+       return ((feof(file) || ferror(file)) ? 0 : 1);
 }
 
-xgetc(file)
-       FILE *file;
-{
-
+int xgetc(file) FILE *file; {
        tellpt++;
        return (getc(file));
 }
@@ -284,11 +281,7 @@ struct     hash {
        short   hnew;
 } bucket[BUCKETS];
 
-off_t
-hashit(str, new)
-       char *str;
-       int new;
-{
+off_t hashit(str, new) char *str; int new; {
        int i;
        register struct hash *hp, *hp0;
 
@@ -312,8 +305,7 @@ hashit(str, new)
        return (hp->hpt);
 }
 
-flushsh()
-{
+void flushsh() {
        register int i;
        register struct hash *hp;
        register FILE *mesgwrit;
@@ -327,9 +319,23 @@ flushsh()
                                old++;
        if (new == 0 && old != 0)
                return;
+ /* make this more elegant */
+ if (strings)
        mesgwrit = fopen(strings, old ? "r+" : "w");
+ else {
+  int fd;
+
+  strings = savestr("/tmp/xstrXXXXXX");
+  fd = mkstemp(strings);
+  if (fd < 0)
+   goto bad_open;
+  mesgwrit = fdopen(fd, old ? "r+" : "w");
+ }
        if (mesgwrit == NULL)
+ {
+  bad_open:
                perror(strings), exit(4);
+ }
        for (i = 0; i < BUCKETS; i++)
                for (hp = bucket[i].hnext; hp != NULL; hp = hp->hnext) {
                        found(hp->hnew, hp->hpt, hp->hstr);
@@ -344,11 +350,7 @@ flushsh()
                perror(strings), exit(4);
 }
 
-found(new, off, str)
-       int new;
-       off_t off;
-       char *str;
-{
+void found(new, off, str) int new; off_t off; char *str; {
        if (vflg == 0)
                return;
        if (!new)
@@ -359,9 +361,7 @@ found(new, off, str)
        fprintf(stderr, "\n");
 }
 
-prstr(cp)
-       register char *cp;
-{
+void prstr(cp) register char *cp; {
        register int c;
 
        while (c = (*cp++ & 0377))
@@ -375,8 +375,7 @@ prstr(cp)
                        fprintf(stderr, "%c", c);
 }
 
-xsdotc()
-{
+void xsdotc() {
        register FILE *strf = fopen(strings, "r");
        register FILE *xdotcf;
 
@@ -409,10 +408,7 @@ out:
        ignore(fclose(strf));
 }
 
-char *
-savestr(cp)
-       register char *cp;
-{
+char *savestr(cp) register char *cp; {
        register char *dp;
 
        if ((dp = (char *) calloc(1, strlen(cp) + 1)) == NULL) {
@@ -422,18 +418,13 @@ savestr(cp)
        return (strcpy(dp, cp));
 }
 
-lastchr(cp)
-       register char *cp;
-{
-
+int lastchr(cp) register char *cp; {
        while (cp[0] && cp[1])
                cp++;
        return (*cp);
 }
 
-istail(str, of)
-       register char *str, *of;
-{
+int istail(str, of) register char *str; register char *of; {
        register int d = strlen(of) - strlen(str);
 
        if (d < 0 || strcmp(&of[d], str) != 0)
@@ -441,12 +432,13 @@ istail(str, of)
        return (d);
 }
 
-onintr()
-{
-
+int onintr() {
        ignore(signal(SIGINT, SIG_IGN));
+ /* make this more elegant */
+ if (strings) {
        if (strings[0] == '/')
                ignore(unlink(strings));
+ }
        ignore(unlink("x.c"));
        ignore(unlink("xs.c"));
        exit(7);
index 3d74d43..4bc8b17 100644 (file)
@@ -31,14 +31,14 @@ f77:                driver.c pdp11x.c
 
 f77pass1:      ${PASS1OBJECTS}
                -if [ X${SEPFLAG} = X-i ]; then \
-                       ${LD} /lib/crt0.o ${SEPFLAG} -o f77pass1 \
+                       ${LD} ${STAGEDIR}/lib/crt0.o ${SEPFLAG} -o f77pass1 \
                        main.o misc.o gram.o lex.o \
                        -Z proc.o init.o \
                        -Z equiv.o data.o error.o \
                        -Y io.o expr.o intr.o exec.o \
                        put.o putdmr.o pdp11.o pdp11x.o -lc; \
                else \
-                       ${LD} /lib/crt0.o ${SEPFLAG} -o f77pass1 \
+                       ${LD} ${STAGEDIR}/lib/crt0.o ${SEPFLAG} -o f77pass1 \
                        -Z main.o init.o equiv.o data.o io.o \
                        -Z gram.o \
                        -Z lex.o proc.o \
index 7977cb6..01a79ed 100644 (file)
@@ -1,27 +1,27 @@
 INSTALL=install
 #      Makefile        4.1.1 (2.11BSD) 1996/10/23
 #
-CFLAGS = -O
+CFLAGS = -O -DCROSSPREFIX="${CROSSPREFIX}"
 SEPFLAG= -i
 
 all: lex
 
 lex: lmain.o y.tab.o sub1.o sub2.o header.o
-       cc ${SEPFLAG} lmain.o y.tab.o sub1.o sub2.o header.o -o lex
+       ${CC} ${SEPFLAG} lmain.o y.tab.o sub1.o sub2.o header.o -o lex
 
 smallex:
-       cc ${SEPFLAG} lmain.o y.tab.o sub1.o sub2.o header.o -o lex
+       ${CC} ${SEPFLAG} lmain.o y.tab.o sub1.o sub2.o header.o -o lex
 
 y.tab.c: parser.y
-       yacc parser.y
-lmain.o:lmain.c ldefs.c once.c
-       cc -c -O lmain.c
-sub1.o: sub1.c ldefs.c
-       cc -c -O sub1.c
-sub2.o: sub2.c ldefs.c
-       cc -c -O sub2.c
-header.o: header.c ldefs.c
-       cc -c -O header.c
+       ${YACC} parser.y
+lmain.o: lmain.c ldefs.h once.c
+#      cc -c -O lmain.c
+sub1.o: sub1.c ldefs.h
+#      cc -c -O sub1.c
+sub2.o: sub2.c ldefs.h
+#      cc -c -O sub2.c
+header.o: header.c ldefs.h
+#      cc -c -O header.c
 
 install: all
        -mkdir -p ${DESTDIR}/usr/libdata/lex
index 1106320..d0db9be 100644 (file)
@@ -1,12 +1,12 @@
-#ifndef lint
+#if defined(DOSCCS) && !defined(lint)
 static char sccsid[] = "@(#)header.c   4.1 (Berkeley) 8/11/83";
 #endif
-# include "ldefs.c"
-phead1(){
+# include "ldefs.h"
+void phead1() {
        ratfor ? rhd1() : chd1();
-       }
+}
 
-chd1(){
+void chd1() {
        fprintf(fout,"# include \"stdio.h\"\n");
        if (ZCH>NCH)
        fprintf(fout, "# define U(x) ((x)&0377)\n");
@@ -45,9 +45,9 @@ chd1(){
        fprintf(fout,"\tint *yystops;};\n");
        fprintf(fout,"struct yysvf *yyestate;\n");
        fprintf(fout,"extern struct yysvf yysvec[], *yybgin;\n");
-       }
+}
 
-rhd1(){
+void rhd1() {
        fprintf(fout,"integer function yylex(dummy)\n");
        fprintf(fout,"define YYLMAX 200\n");
        fprintf(fout,"define ECHO call yyecho(yytext,yyleng)\n");
@@ -64,34 +64,34 @@ rhd1(){
        fprintf(fout,"\tif(k .ne. 0){\n");
        fprintf(fout,"\tyylex=0; return; }\n");
        fprintf(fout,"\t\telse goto 30998\n");
-       }
+}
 
-phead2(){
+void phead2() {
        if(!ratfor)chd2();
-       }
+}
 
-chd2(){
+void chd2() {
        fprintf(fout,"while((nstr = yylook()) >= 0)\n");
        fprintf(fout,"yyfussy: switch(nstr){\n");
        fprintf(fout,"case 0:\n");
        fprintf(fout,"if(yywrap()) return(0); break;\n");
-       }
+}
 
-ptail(){
+void ptail() {
        if(!pflag)
                ratfor ? rtail() : ctail();
        pflag = 1;
-       }
+}
 
-ctail(){
+void ctail() {
        fprintf(fout,"case -1:\nbreak;\n");             /* for reject */
        fprintf(fout,"default:\n");
        fprintf(fout,"fprintf(yyout,\"bad switch yylook %%d\",nstr);\n");
        fprintf(fout,"} return(0); }\n");
        fprintf(fout,"/* end of yylex */\n");
-       }
+}
 
-rtail(){
+void rtail() {
        register int i;
        fprintf(fout,"\n30998 if(nstr .lt. 0 .or. nstr .gt. %d)goto 30999\n",casecount);
        fprintf(fout,"nstr = nstr + 1\n");
@@ -101,12 +101,13 @@ rtail(){
        fprintf(fout,"30999),nstr\n");
        fprintf(fout,"30997 continue\n");
        fprintf(fout,"}\nend\n");
-       }
-statistics(){
+}
+
+void statistics() {
        fprintf(errorf,"%d/%d nodes(%%e), %d/%d positions(%%p), %d/%d (%%n), %ld transitions\n",
                tptr, treesize, nxtpos-positions, maxpos, stnum+1, nstates, rcount);
        fprintf(errorf, ", %d/%d packed char classes(%%k)", pcptr-pchar, pchlen);
        if(optim)fprintf(errorf,", %d/%d packed transitions(%%a)",nptr, ntrans);
        fprintf(errorf, ", %d/%d output slots(%%o)", yytop, outsize);
        putc('\n',errorf);
-       }
+}
diff --git a/usr.bin/lex/krcompat.h b/usr.bin/lex/krcompat.h
new file mode 100644 (file)
index 0000000..b5c0b7d
--- /dev/null
@@ -0,0 +1,21 @@
+#ifndef _KRCOMPAT_H
+#define _KRCOMPAT_H 1
+
+#undef PARAMS
+#ifdef __STDC__
+#include <stdarg.h>
+#define VA_START(ap, arg) va_start(ap, arg)
+#define PARAMS(args) args
+#else
+#include <varargs.h>
+#define VA_START(ap, arg) va_start(ap)
+#define PARAMS(args) ()
+#endif
+
+#ifdef __GNUC__
+#define NORETURN __attribute__ ((noreturn))
+#else
+#define NORETURN
+#endif
+
+#endif
similarity index 58%
rename from usr.bin/lex/ldefs.c
rename to usr.bin/lex/ldefs.h
index c85d757..dd12a2d 100644 (file)
@@ -1,6 +1,20 @@
 /*     ldefs.c 4.1     83/08/11        */
 
-# include <stdio.h>
+#ifndef _LDEFS_H
+#define _LDEFS_H 1
+
+#include <stdio.h>
+#include <stdlib.h>
+#include "krcompat.h"
+
+#define cfree(a, b, c) free(a);
+
+#ifdef pdp11
+typedef int intptr_t;
+#else
+#include <stdint.h>
+#endif
+
 # define PP 1
 # ifdef unix
 
@@ -111,8 +125,8 @@ extern int prev;    /* previous input character */
 extern int pres;       /* present input character */
 extern int peek;       /* next input character */
 extern int *name;
-extern int *left;
-extern int *right;
+extern intptr_t *left;
+extern intptr_t *right;
 extern int *parent;
 extern char *nullstr;
 extern int tptr;
@@ -160,5 +174,71 @@ extern int optim;
 extern int *verify, *advance, *stoff;
 extern int scon;
 extern char *psave;
-extern char *calloc(), *myalloc();
-extern int buserr(), segviol();
+
+/* header.c */
+void phead1 PARAMS((void));
+void chd1 PARAMS((void));
+void rhd1 PARAMS((void));
+void phead2 PARAMS((void));
+void chd2 PARAMS((void));
+void ptail PARAMS((void));
+void ctail PARAMS((void));
+void rtail PARAMS((void));
+void statistics PARAMS((void));
+/* lmain.c */
+int main PARAMS((int argc, char **argv));
+void get1core PARAMS((void));
+void free1core PARAMS((void));
+void get2core PARAMS((void));
+void free2core PARAMS((void));
+void get3core PARAMS((void));
+char *myalloc PARAMS((int a, int b));
+void yyerror PARAMS((char *s));
+/* sub1.c */
+char *getl PARAMS((char *p));
+int space PARAMS((int ch));
+int digit PARAMS((int c));
+void error PARAMS((char *s, ...)) NORETURN;
+void warning PARAMS((char *s, ...));
+int _index PARAMS((int a, char *s));
+int alpha PARAMS((int c));
+int printable PARAMS((int c));
+void lgate PARAMS((void));
+void scopy PARAMS((char *s, char *t));
+int siconv PARAMS((char *t));
+int slength PARAMS((char *s));
+int scomp PARAMS((char *x, char *y));
+int ctrans PARAMS((char **ss));
+void cclinter PARAMS((int sw));
+int usescape PARAMS((int c));
+int lookup PARAMS((char *s, char **t));
+int cpyact PARAMS((void));
+int gch PARAMS((void));
+int mn2 PARAMS((int a, int d, int c));
+int mn1 PARAMS((int a, intptr_t d));
+int mn0 PARAMS((int a));
+void munput PARAMS((int t, intptr_t p));
+int dupl PARAMS((int n));
+/* sub2.c */
+void cfoll PARAMS((int v));
+void add PARAMS((int **array, int n));
+void follow PARAMS((int v));
+void first PARAMS((int v));
+void cgoto PARAMS((void));
+void nextstate PARAMS((int s, int c));
+int notin PARAMS((int n));
+void packtrans PARAMS((int st, char *tch, int *tst, int cnt, int tryit));
+int member PARAMS((int d, char *t));
+void acompute PARAMS((int s));
+void mkmatch PARAMS((void));
+void layout PARAMS((void));
+void rprint PARAMS((int *a, char *s, int n));
+void shiftr PARAMS((int *a, int n));
+void upone PARAMS((int *a, int n));
+void bprint PARAMS((char *a, char *s, int n));
+void padd PARAMS((int **array, int n));
+/* y.tab.c */
+int yyparse PARAMS((void));
+int yylex PARAMS((void));
+
+#endif
index 4ad2fba..e01b34e 100644 (file)
@@ -2,22 +2,25 @@
 static char sccsid[] = "@(#)lmain.c    4.3.1 (2.11BSD) 1996/10/23";
 #endif
 
-# include "ldefs.c"
-# include "once.c"
+#include <stdlib.h>
+#include "ldefs.h"
+#include "once.c"
 
        /* lex [-[drcyvntf]] [file] ... [file] */
 
        /* Copyright 1976, Bell Telephone Laboratories, Inc.,
            written by Eric Schmidt, August 27, 1976   */
-
-main(argc,argv)
-  int argc;
-  char **argv; {
-       register int i;
 # ifdef DEBUG
 #include <signal.h>
-       signal(SIGBUS,buserr);
-       signal(SIGSEGV,segviol);
+# endif
+int main(argc, argv) int argc; char **argv; {
+       register int i;
+
+       errorf = stdout;
+# ifdef DEBUG
+/*#include <signal.h>*/
+       signal(SIGBUS, (sig_t)buserr);
+       signal(SIGSEGV, (sig_t)segviol);
 # endif
        while (argc > 1 && argv[1][0] == '-' ){
                i = 0;
@@ -68,7 +71,7 @@ main(argc,argv)
        sname[0] = sp;
        sp += slength("INITIAL") + 1;
        sname[1] = 0;
-       if(yyparse(0)) exit(1); /* error return code */
+       if(yyparse(/*0*/)) exit(1);     /* error return code */
                /* may be disposed of: def, subs, dchar */
        free1core();
                /* may be gotten: tmpstat, foll, positions, gotof, nexts, nchar, state, atable, sfall, cpackflg */
@@ -100,7 +103,7 @@ main(argc,argv)
 # ifdef DEBUG
        free3core();
 # endif
-       if (ZCH>NCH) cname="/usr/libdata/lex/ebcform";
+       if (ZCH>NCH) cname=CROSSPREFIX "/usr/libdata/lex/ebcform";
        fother = fopen(ratfor?ratname:cname,"r");
        if(fother == NULL)
                error("Lex driver missing, file %s",ratfor?ratname:cname);
@@ -117,28 +120,29 @@ main(argc,argv)
        fclose(stdout);
        fclose(stderr);
        exit(0);        /* success return code */
-       }
-get1core(){
-       register int i, val;
-       register char *p;
-ccptr =        ccl = myalloc(CCLSIZE,sizeof(*ccl));
-pcptr = pchar = myalloc(pchlen, sizeof(*pchar));
+}
+
+void get1core() {
+       ccptr = ccl = myalloc(CCLSIZE,sizeof(*ccl));
+       pcptr = pchar = myalloc(pchlen, sizeof(*pchar));
        def = (char **) myalloc(DEFSIZE,sizeof(*def));
        subs = (char **) myalloc(DEFSIZE,sizeof(*subs));
-dp =   dchar = myalloc(DEFCHAR,sizeof(*dchar));
+       dp = dchar = myalloc(DEFCHAR,sizeof(*dchar));
        sname = (char **) myalloc(STARTSIZE,sizeof(*sname));
-sp =   schar = myalloc(STARTCHAR,sizeof(*schar));
+       sp = schar = myalloc(STARTCHAR,sizeof(*schar));
        if(ccl == 0 || def == 0 || subs == 0 || dchar == 0 || sname == 0 || schar == 0)
                error("Too little core to begin");
-       }
-free1core(){
+}
+
+void free1core() {
        cfree(def,DEFSIZE,sizeof(*def));
        cfree(subs,DEFSIZE,sizeof(*subs));
        cfree(dchar,DEFCHAR,sizeof(*dchar));
-       }
-get2core(){
-       register int i, val;
-       register char *p;
+}
+
+void get2core() {
+       register int i;
+
        gotof = (int *) myalloc(nstates,sizeof(*gotof));
        nexts = (int *) myalloc(ntrans,sizeof(*nexts));
        nchar = myalloc(ntrans,sizeof(*nchar));
@@ -153,8 +157,9 @@ nxtpos = positions = (int *) myalloc(maxpos,sizeof(*positions));
                gotof == 0 || nexts == 0 || nchar == 0 || state == 0 || atable == 0 || sfall == 0 || cpackflg == 0 )
                error("Too little core for state generation");
        for(i=0;i<=tptr;i++)foll[i] = 0;
-       }
-free2core(){
+}
+
+void free2core() {
        cfree(positions,maxpos,sizeof(*positions));
        cfree(tmpstat,tptr+1,sizeof(*tmpstat));
        cfree(foll,tptr+1,sizeof(*foll));
@@ -167,18 +172,18 @@ free2core(){
        cfree(sname,STARTSIZE,sizeof(*sname));
        cfree(schar,STARTCHAR,sizeof(*schar));
        cfree(ccl,CCLSIZE,sizeof(*ccl));
-       }
-get3core(){
-       register int i, val;
-       register char *p;
+}
+
+void get3core() {
        verify = (int *) myalloc(outsize,sizeof(*verify));
        advance = (int *) myalloc(outsize,sizeof(*advance));
        stoff = (int *) myalloc(stnum+2,sizeof(*stoff));
        if(verify == 0 || advance == 0 || stoff == 0)
                error("Too little core for final packing");
-       }
+}
+
 # ifdef DEBUG
-free3core(){
+void free3core() {
        cfree(advance,outsize,sizeof(*advance));
        cfree(verify,outsize,sizeof(*verify));
        cfree(stoff,stnum+1,sizeof(*stoff));
@@ -188,10 +193,10 @@ free3core(){
        cfree(atable,nstates,sizeof(*atable));
        cfree(sfall,nstates,sizeof(*sfall));
        cfree(cpackflg,nstates,sizeof(*cpackflg));
-       }
+}
 # endif
-char *myalloc(a,b)
-  int a,b; {
+
+char *myalloc(a, b) int a; int b; {
        register char *i;
        i = calloc(a, b);
        if(i==0)
@@ -203,29 +208,29 @@ char *myalloc(a,b)
                return(0);
                }
        return(i);
-       }
+}
+
 # ifdef DEBUG
-buserr(){
+void buserr() {
        fflush(errorf);
        fflush(fout);
        fflush(stdout);
        fprintf(errorf,"Bus error\n");
        if(report == 1)statistics();
        fflush(errorf);
-       }
-segviol(){
+}
+
+void segviol() {
        fflush(errorf);
        fflush(fout);
        fflush(stdout);
        fprintf(errorf,"Segmentation violation\n");
        if(report == 1)statistics();
        fflush(errorf);
-       }
+}
 # endif
 
-yyerror(s)
-char *s;
-{
+void yyerror(s) char *s; {
        fprintf(stderr, "\"%s\", line %d: %s\n",
                fptr > 0 ? sargv[fptr] : "<stdin>", yyline, s);
 }
diff --git a/usr.bin/lex/n.sh b/usr.bin/lex/n.sh
new file mode 100755 (executable)
index 0000000..4b93141
--- /dev/null
@@ -0,0 +1,8 @@
+#!/bin/sh
+ROOT="`pwd |sed -e 's/\/usr.bin\/lex$//'`"
+CC="cc -g -Iinclude -Wall -Wno-char-subscripts -Wno-deprecated-declarations -Wno-format -Wno-maybe-uninitialized -Wno-parentheses -Wno-unused-result"
+INSTALL="$ROOT/install.sh --strip-program=/bin/true"
+MANROFF="nroff -man"
+mkdir --parents "$ROOT/cross/bin"
+make CC="$CC" MANROFF="$MANROFF" CROSSPREFIX="\\\"$ROOT/cross\\\"" SEPFLAG= && \
+make INSTALL="$INSTALL" DESTDIR="$ROOT/cross" install
diff --git a/usr.bin/lex/o.sh b/usr.bin/lex/o.sh
new file mode 100755 (executable)
index 0000000..1d817ec
--- /dev/null
@@ -0,0 +1,8 @@
+#!/bin/sh
+ROOT="`pwd |sed -e 's/\/usr.bin\/lex$//'`"
+CC="$ROOT/cross/bin/cc"
+INSTALL="$ROOT/install.sh --strip-program=\"$ROOT/cross/bin/strip\""
+YACC="$ROOT/cross/usr/bin/yacc"
+mkdir --parents "$ROOT/stage/lib"
+make CC="$CC" YACC="$YACC" && \
+make INSTALL="$INSTALL" DESTDIR="$ROOT/stage" install
index d7cb8c8..4bf958f 100644 (file)
@@ -46,7 +46,7 @@ int ctable[2*NCH] = {
 250,251,252,253,254,255};
 # endif
 int ZCH = NCH;
-FILE *fout = NULL, *errorf = {stdout};
+FILE *fout /*= NULL*/, *errorf /*= {stdout}*/;
 int sect = DEFSECTION;
 int prev = '\n';       /* previous input character */
 int pres = '\n';       /* present input character */
@@ -55,8 +55,8 @@ char *pushptr = pushc;
 char *slptr = slist;
 
 # if (unix || ibm)
-char *cname = "/usr/libdata/lex/ncform";
-char *ratname = "/usr/libdata/lex/nrform";
+char *cname = CROSSPREFIX "/usr/libdata/lex/ncform";
+char *ratname = CROSSPREFIX "/usr/libdata/lex/nrform";
 # endif
 
 # ifdef gcos
@@ -89,8 +89,8 @@ int chset;    /* 1 = char set modified */
 FILE *fin, *fother;
 int fptr;
 int *name;
-int *left;
-int *right;
+intptr_t *left;
+intptr_t *right;
 int *parent;
 char *nullstr;
 int tptr;
index 966e58f..c6f6c2e 100644 (file)
@@ -8,21 +8,31 @@
 %left '*' '+' '?'
 
 %{
-#ifndef lint
+#if defined(DOSCCS) && !defined(lint)
 static char sccsid[] = "@(#)parser.y   4.1 (Berkeley) 8/11/83";
 #endif
 
-# include "ldefs.c"
-%}
-%%
-%{
+#include <string.h>
+#include "ldefs.h"
+
 int i;
 int j,k;
 int g;
 char *p;
+
+int yylex PARAMS((void));
+# ifdef DEBUG
+int freturn PARAMS((int i));
+# endif
+
+#define YYSTYPE intptr_t
+
 %}
+
+%%
+
 acc    :       lexinput
-       ={      
+       {       
 # ifdef DEBUG
                if(debug) sect2dump();
 # endif
@@ -30,12 +40,12 @@ acc :       lexinput
        ;
 lexinput:      defns delim prods end
        |       defns delim end
-       ={
+       {
                if(!funcflag)phead2();
                funcflag = TRUE;
        }
        | error
-       ={
+       {
 # ifdef DEBUG
                if(debug) {
                        sect1dump();
@@ -46,14 +56,14 @@ lexinput:   defns delim prods end
        ;
 end:           delim | ;
 defns: defns STR STR
-       ={      scopy($2,dp);
+       {       scopy((char *)$2,dp);
                def[dptr] = dp;
-               dp += slength($2) + 1;
-               scopy($3,dp);
+               dp += slength((char *)$2) + 1;
+               scopy((char *)$3,dp);
                subs[dptr++] = dp;
                if(dptr >= DEFSIZE)
                        error("Too many definitions");
-               dp += slength($3) + 1;
+               dp += slength((char *)$3) + 1;
                if(dp >= dchar+DEFCHAR)
                        error("Definitions too long");
                subs[dptr]=def[dptr]=0; /* for lookup - require ending null */
@@ -61,7 +71,7 @@ defns:        defns STR STR
        |
        ;
 delim: DELIM
-       ={
+       {
 # ifdef DEBUG
                if(sect == DEFSECTION && debug) sect1dump();
 # endif
@@ -69,13 +79,13 @@ delim:      DELIM
                }
        ;
 prods: prods pr
-       ={      $$ = mn2(RNEWE,$1,$2);
+             $$ = mn2(RNEWE,$1,$2);
                }
        |       pr
-       ={      $$ = $1;}
+             $$ = $1;}
        ;
 pr:    r NEWE
-       ={
+       {
                if(divflg == TRUE)
                        i = mn1(S1FINAL,casecount);
                else i = mn1(FINAL,casecount);
@@ -84,23 +94,23 @@ pr: r NEWE
                casecount++;
                }
        | error NEWE
-       ={
+       {
 # ifdef DEBUG
                if(debug) sect2dump();
 # endif
                }
 r:     CHAR
-       ={      $$ = mn0($1); }
+             $$ = mn0($1); }
        | STR
-       ={
-               p = $1;
+       {
+               p = (char *)$1;
                i = mn0(*p++);
                while(*p)
                        i = mn2(RSTR,i,*p++);
                $$ = i;
                }
        | '.'
-       ={      symbol['\n'] = 0;
+             symbol['\n'] = 0;
                if(psave == FALSE){
                        p = ccptr;
                        psave = ccptr;
@@ -118,25 +128,25 @@ r:        CHAR
                        }
                else
                        p = psave;
-               $$ = mn1(RCCL,p);
+               $$ = mn1(RCCL, (intptr_t)p);
                cclinter(1);
                }
        | CCL
-       ={      $$ = mn1(RCCL,$1); }
+             $$ = mn1(RCCL,$1); }
        | NCCL
-       ={      $$ = mn1(RNCCL,$1); }
+             $$ = mn1(RNCCL,$1); }
        | r '*'
-       ={      $$ = mn1(STAR,$1); }
+             $$ = mn1(STAR,$1); }
        | r '+'
-       ={      $$ = mn1(PLUS,$1); }
+             $$ = mn1(PLUS,$1); }
        | r '?'
-       ={      $$ = mn1(QUEST,$1); }
+             $$ = mn1(QUEST,$1); }
        | r '|' r
-       ={      $$ = mn2(BAR,$1,$3); }
+             $$ = mn2(BAR,$1,$3); }
        | r r %prec CAT
-       ={      $$ = mn2(RCAT,$1,$2); }
+             $$ = mn2(RCAT,$1,$2); }
        | r '/' r
-       ={      if(!divflg){
+             if(!divflg){
                        j = mn1(S2FINAL,-casecount);
                        i = mn2(RCAT,$1,j);
                        $$ = mn2(DIV,i,$3);
@@ -148,7 +158,7 @@ r:  CHAR
                divflg = TRUE;
                }
        | r ITER ',' ITER '}'
-       ={      if($2 > $4){
+             if($2 > $4){
                        i = $2;
                        $2 = $4;
                        $4 = i;
@@ -169,7 +179,7 @@ r:  CHAR
                        }
        }
        | r ITER '}'
-       ={
+       {
                if($2 < 0)warning("Can't have negative iteration");
                else if($2 == 0) $$ = mn0(RNULLS);
                else {
@@ -180,7 +190,7 @@ r:  CHAR
                        }
                }
        | r ITER ',' '}'
-       ={
+       {
                                /* from n to infinity */
                if($2 < 0)warning("Can't have negative iteration");
                else if($2 == 0) $$ = mn1(STAR,$1);
@@ -194,11 +204,11 @@ r:        CHAR
                        }
                }
        | SCON r
-       ={      $$ = mn2(RSCON,$2,$1); }
+             $$ = mn2(RSCON,$2,$1); }
        | '^' r
-       ={      $$ = mn1(CARAT,$2); }
+             $$ = mn1(CARAT,$2); }
        | r '$'
-       ={      i = mn0('\n');
+             i = mn0('\n');
                if(!divflg){
                        j = mn1(S2FINAL,-casecount);
                        k = mn2(RCAT,$1,j);
@@ -208,12 +218,13 @@ r:        CHAR
                divflg = TRUE;
                }
        | '(' r ')'
-       ={      $$ = $2; }
+             $$ = $2; }
        |       NULLS
-       ={      $$ = mn0(RNULLS); }
+             $$ = mn0(RNULLS); }
        ;
 %%
-yylex(){
+
+int yylex() {
        register char *p;
        register int c, i;
        char  *t, *xp;
@@ -241,16 +252,16 @@ yylex(){
                                                sectbegin = TRUE;
                                                i = treesize*(sizeof(*name)+sizeof(*left)+
                                                        sizeof(*right)+sizeof(*nullstr)+sizeof(*parent))+ALITTLEEXTRA;
-                                               c = myalloc(i,1);
-                                               if(c == 0)
+                                               p/*c*/ = myalloc(i,1);
+                                               if(p/*c*/ == 0)
                                                        error("Too little core for parse tree");
-                                               p = c;
+                                               /*p = c;*/
                                                cfree(p,i,1);
-                                               name = myalloc(treesize,sizeof(*name));
-                                               left = myalloc(treesize,sizeof(*left));
-                                               right = myalloc(treesize,sizeof(*right));
+                                               name = (int *)myalloc(treesize,sizeof(*name));
+                                               left = (intptr_t *)myalloc(treesize,sizeof(*left));
+                                               right = (intptr_t *)myalloc(treesize,sizeof(*right));
                                                nullstr = myalloc(treesize,sizeof(*nullstr));
-                                               parent = myalloc(treesize,sizeof(*parent));
+                                               parent = (int *)myalloc(treesize,sizeof(*parent));
                                                if(name == 0 || left == 0 || right == 0 || parent == 0 || nullstr == 0)
                                                        error("Too little core for parse tree");
                                                return(freturn(DELIM));
@@ -361,12 +372,12 @@ yylex(){
                                                error("Premature eof");
                                        case 's': case 'S':             /* start conditions */
                                                lgate();
-                                               while(*p && index(*p," \t,") < 0) p++;
+                                               while(*p && _index(*p," \t,") < 0) p++;
                                                n = TRUE;
                                                while(n){
-                                                       while(*p && index(*p," \t,") >= 0) p++;
+                                                       while(*p && _index(*p," \t,") >= 0) p++;
                                                        t = p;
-                                                       while(*p && index(*p," \t,") < 0)p++;
+                                                       while(*p && _index(*p," \t,") < 0)p++;
                                                        if(!*p) n = FALSE;
                                                        *p++ = 0;
                                                        if (*t == 0) continue;
@@ -398,7 +409,7 @@ yylex(){
                                        prev = *p;
                                        *p = 0;
                                        bptr = p+1;
-                                       yylval = buf;
+                                       yylval = (intptr_t)buf;
                                        if(digit(buf[0]))
                                                warning("Substitution strings may not begin with digits");
                                        return(freturn(STR));
@@ -411,7 +422,7 @@ yylex(){
                                if(*p == 0)
                                        warning("No translation given - null string assumed");
                                scopy(p,token);
-                               yylval = token;
+                               yylval = (intptr_t)token;
                                prev = '\n';
                                return(freturn(STR));
                                }
@@ -522,7 +533,7 @@ yylex(){
                                        if(i < 0)
                                                warning("Definition %s not found",token);
                                        else
-                                               munput('s',subs[i]);
+                                               munput('s', (intptr_t)subs[i]);
                                        continue;
                                        }
                        case '<':               /* start condition ? */
@@ -562,7 +573,7 @@ yylex(){
                                        }
                                if(slptr > slist+STARTSIZE)             /* note not packed ! */
                                        error("Too many start conditions used");
-                               yylval = t;
+                               yylval = (intptr_t)t;
                                x = SCON;
                                break;
                        case '"':
@@ -588,7 +599,7 @@ yylex(){
                                        x = CHAR;
                                        }
                                else {
-                                       yylval = token;
+                                       yylval = (intptr_t)token;
                                        x = STR;
                                        }
                                break;
@@ -632,9 +643,9 @@ yylex(){
                                        while(p <ccptr && scomp(token,p) != 0)p++;
                                        }
                                if(p < ccptr)   /* found it */
-                                       yylval = p;
+                                       yylval = (intptr_t)p;
                                else {
-                                       yylval = ccptr;
+                                       yylval = (intptr_t)ccptr;
                                        scopy(token,ccptr);
                                        ccptr += slength(token) + 1;
                                        if(ccptr >= ccl+CCLSIZE)
@@ -653,12 +664,12 @@ yylex(){
                                        }
                                if(alpha(peek)){
                                        i = 0;
-                                       yylval = token;
+                                       yylval = (intptr_t)token;
                                        token[i++] = c;
                                        while(alpha(peek))
                                                token[i++] = gch();
                                        if(peek == '?' || peek == '*' || peek == '+')
-                                               munput('c',token[--i]);
+                                               munput('c', (intptr_t)token[--i]);
                                        token[i] = 0;
                                        if(i == 1){
                                                yylval = token[0];
@@ -686,11 +697,11 @@ yylex(){
        while(getl(buf) && !eof)
                fprintf(fout,"%s\n",buf);
        return(freturn(0));
-       }
+}
 /* end of yylex */
+
 # ifdef DEBUG
-freturn(i)
-  int i; {
+int freturn(i) int i; {
        if(yydebug) {
                printf("now return ");
                if(i < NCH) allprint(i);
@@ -710,5 +721,5 @@ freturn(i)
                putchar('\n');
                }
        return(i);
-       }
+}
 # endif
index cfe3a4f..5b40771 100644 (file)
@@ -1,13 +1,11 @@
-#ifndef lint
+#if defined(DOSCCS) && !defined(lint)
 static char sccsid[] = "@(#)sub1.c     4.2 (Berkeley) 2/21/85";
 #endif
 
-# include "ldefs.c"
-char *
-getl(p)        /* return next line of input, throw away trailing '\n' */
+# include "ldefs.h"
+char *getl(p) char *p; {
+       /* return next line of input, throw away trailing '\n' */
        /* returns 0 if eof is had immediately */
-  char *p;
-       {
        register int c;
        register char *s, *t;
        t = s = p;
@@ -18,9 +16,9 @@ getl(p)       /* return next line of input, throw away trailing '\n' */
        prev = '\n';
        pres = '\n';
        return(s);
-       }
-space(ch)
-       {
+}
+
+int space(ch) int ch; {
        switch(ch)
                {
                case ' ':
@@ -29,17 +27,25 @@ space(ch)
                        return(1);
                }
        return(0);
-       }
+}
 
-digit(c)
-{
+int digit(c) int c; {
        return(c>='0' && c <= '9');
 }
-error(s,p,d)
-       {
+
+#ifdef __STDC__
+void error(char *s, ...)
+#else
+void error(s, va_alist) char *s; va_dcl
+#endif
+{
+       va_list ap;
+
        fprintf(errorf,"\"%s\", line %d: (Error) ",
                fptr > 0 ? sargv[fptr] : "<stdin>", yyline);
-       fprintf(errorf,s,p,d);
+       VA_START(ap, s);
+       vfprintf(errorf, s, ap);
+       va_end(ap);
        putc('\n',errorf);
 # ifdef DEBUG
        if(debug && sect != ENDSECTION) {
@@ -53,48 +59,54 @@ error(s,p,d)
 # endif
                report == 1) statistics();
        exit(1);        /* error return code */
-       }
+}
+
+#ifdef __STDC__
+void warning(char *s, ...)
+#else
+void warning(s, va_alist) char *s; va_dcl
+#endif
+{
+       va_list ap;
 
-warning(s,p,d)
-       {
        fprintf(errorf,"\"%s\", line %d: (Warning) ",
                fptr > 0 ? sargv[fptr] : "<stdin>", yyline);
-       fprintf(errorf,s,p,d);
+       VA_START(ap, s);
+       vfprintf(errorf, s, ap);
+       va_end(ap);
        putc('\n',errorf);
        fflush(errorf);
        fflush(fout);
        fflush(stdout);
-       }
-index(a,s)
-       char *s;
-{
+}
+
+int _index(a, s) int a; char *s; {
        register int k;
        for(k=0; s[k]; k++)
                if (s[k]== a)
                        return(k);
        return(-1);
-       }
+}
 
-alpha(c)
-  int c; {
+int alpha(c) int c; {
 # ifdef ASCII
 return('a' <= c && c <= 'z' || 'A' <= c && c <= 'Z');
 # endif
 # ifdef EBCDIC
-return(index(c,"abcdefghijklmnopqrstuvxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") >= 0);
+return(_index(c,"abcdefghijklmnopqrstuvxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") >= 0);
 # endif
 }
-printable(c)
-{
+
+int printable(c) int c; {
 # ifdef ASCII
 return( c>040 && c < 0177);
 # endif
 # ifdef EBCDIC
-return(index(c, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.,;:><+*)('&%!-=\"")>=0);
+return(_index(c, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.,;:><+*)('&%!-=\"")>=0);
 # endif
 }
-lgate()
-{
+
+void lgate() {
        char fname[20];
        if (lgatflg) return;
        lgatflg=1;
@@ -105,18 +117,18 @@ lgate()
        if(fout == NULL) error("Can't open %s",fname);
        if(ratfor) fprintf( fout, "#\n");
        phead1();
-       }
+}
+
 /* scopy(ptr to str, ptr to str) - copy first arg str to second */
 /* returns ptr to second arg */
-scopy(s,t)
-  char *s, *t; {
+void scopy(s, t) char *s; char *t; {
        register char *i;
        i = t;
        while(*i++ = *s++);
        return;
-       }
-siconv(t)      /* convert string t, return integer value */
-  char *t; {
+}
+
+int siconv(t) char *t; {       /* convert string t, return integer value */
        register int i,sw;
        register char *s;
        s = t;
@@ -130,22 +142,22 @@ siconv(t) /* convert string t, return integer value */
        while('0' <= *s && *s <= '9')
                i = i * 10 + (*(s++)-'0');
        return(sw ? -i : i);
-       }
+}
+
 /* slength(ptr to str) - return integer length of string arg */
 /* excludes '\0' terminator */
-slength(s)
-  char *s; {
+int slength(s) char *s; {
        register int n;
        register char *t;
        t = s;
        for (n = 0; *t++; n++);
        return(n);
-       }
+}
+
 /* scomp(x,y) - return -1 if x < y,
                0 if x == y,
                return 1 if x > y, all lexicographically */
-scomp(x,y)
-  char *x,*y; {
+int scomp(x, y) char *x; char *y; {
        register char *a,*d;
        a = x;
        d = y;
@@ -158,10 +170,9 @@ scomp(x,y)
                d++;
                }
        return(0);      /* equal */
-       }
-ctrans(ss)
-       char **ss;
-{
+}
+
+int ctrans(ss) char **ss; {
        register int c, k;
        if ((c = **ss) != '\\')
                return(c);
@@ -185,8 +196,8 @@ ctrans(ss)
        }
        return(c);
 }
-cclinter(sw)
-  int sw; {
+
+void cclinter(sw) int sw; {
                /* sw = 1 ==> ccl */
        register int i, j, k;
        int m;
@@ -240,8 +251,8 @@ cclinter(sw)
                }
        return;
        }
-usescape(c)
-  int c; {
+
+int usescape(c) int c; {
        register char d;
        switch(c){
        case 'n': c = '\n'; break;
@@ -259,10 +270,9 @@ usescape(c)
                break;
        }
        return(c);
-       }
-lookup(s,t)
-  char *s;
-  char **t; {
+}
+
+int lookup(s, t) char *s; char **t; {
        register int i;
        i = 0;
        while(*t){
@@ -272,8 +282,9 @@ lookup(s,t)
                t++;
                }
        return(-1);
-       }
-cpyact(){ /* copy C action to the next ; or closing } */
+}
+
+int cpyact() { /* copy C action to the next ; or closing } */
        register int brac, c, mth;
        int savline, sw;
 
@@ -369,7 +380,8 @@ loop:
        }
 error("Premature EOF");
 }
-gch(){
+
+int gch() {
        register int c;
        static int hadeof;
 
@@ -398,10 +410,9 @@ gch(){
                }
        if(c == '\n')yyline++;
        return(c);
-       }
-mn2(a,d,c)
-  int a,d,c;
-       {
+}
+
+int mn2(a, d, c) int a; int d; int c; {
        name[tptr] = a;
        left[tptr] = d;
        right[tptr] = c;
@@ -434,10 +445,9 @@ mn2(a,d,c)
        if(tptr > treesize)
                error("Parse tree too big %s",(treesize == TREESIZE?"\nTry using %e num":""));
        return(tptr++);
-       }
-mn1(a,d)
-  int a,d;
-       {
+}
+
+int mn1(a, d) int a; intptr_t d; {
        name[tptr] = a;
        left[tptr] = d;
        parent[tptr] = 0;
@@ -445,7 +455,7 @@ mn1(a,d)
        switch(a){
        case RCCL:
        case RNCCL:
-               if(slength(d) == 0) nullstr[tptr] = TRUE;
+               if(slength((char *)d) == 0) nullstr[tptr] = TRUE;
                break;
        case STAR:
        case QUEST:
@@ -472,10 +482,9 @@ mn1(a,d)
        if(tptr > treesize)
                error("Parse tree too big %s",(treesize == TREESIZE?"\nTry using %e num":""));
        return(tptr++);
-       }
-mn0(a)
-  int a;
-       {
+}
+
+int mn0(a) int a; {
        name[tptr] = a;
        parent[tptr] = 0;
        nullstr[tptr] = 0;
@@ -490,21 +499,20 @@ mn0(a)
        if(tptr > treesize)
                error("Parse tree too big %s",(treesize == TREESIZE?"\nTry using %e num":""));
        return(tptr++);
-       }
-munput(t,p)    /* implementation dependent */
-  char *p;
-  int t; {
+}
+
+void munput(t, p) int t; intptr_t p; { /* implementation dependent */
        register int i,j;
        if(t == 'c'){
                *pushptr++ = peek;              /* watch out for this */
-               peek = p;
+               peek = (int)p;
                }
        else if(t == 's'){
                *pushptr++ = peek;
-               peek = p[0];
-               i = slength(p);
+               peek = ((char *)p)[0];
+               i = slength((char *)p);
                for(j = i-1; j>=1; j--)
-                       *pushptr++ = p[j];
+                       *pushptr++ = ((char *)p)[j];
                }
 # ifdef DEBUG
        else error("Unrecognized munput option %c",t);
@@ -512,10 +520,9 @@ munput(t,p)        /* implementation dependent */
        if(pushptr >= pushc+TOKENSIZE)
                error("Too many characters pushed");
        return;
-       }
+}
 
-dupl(n)
-  int n; {
+int dupl(n) int n; {
        /* duplicate the subtree whose root is n, return ptr to it */
        register int i;
        i = name[n];
@@ -537,10 +544,10 @@ dupl(n)
 # endif
        }
        return(0);
-       }
+}
+
 # ifdef DEBUG
-allprint(c)
-  char c; {
+void allprint(c) char c; {
        switch(c){
                case 014:
                        printf("\\f");
@@ -572,9 +579,9 @@ allprint(c)
                }
        charc++;
        return;
-       }
-strpt(s)
-  char *s; {
+}
+
+void strpt(s) char *s; {
        charc = 0;
        while(*s){
                allprint(*s++);
@@ -584,8 +591,9 @@ strpt(s)
                        }
                }
        return;
-       }
-sect1dump(){
+}
+
+void sect1dump() {
        register int i;
        printf("Sect 1:\n");
        if(def[0]){
@@ -611,13 +619,14 @@ sect1dump(){
                                }
                        }
                }
-       }
-sect2dump(){
+}
+
+void sect2dump() {
        printf("Sect 2:\n");
        treedump();
-       }
-treedump()
-       {
+}
+
+void treedump() {
        register int t;
        register char *p;
        printf("treedump %d nodes:\n",tptr);
@@ -691,5 +700,5 @@ treedump()
                if(nullstr[t])printf("\t(null poss.)");
                putchar('\n');
                }
-       }
+}
 # endif
index e32e61d..46a6ed0 100644 (file)
@@ -1,11 +1,9 @@
-#ifndef lint
+#if defined(DOSCCS) && !defined(lint)
 static char sccsid[] = "@(#)sub2.c     4.1 (Berkeley) 8/11/83";
 #endif
 
-# include "ldefs.c"
-cfoll(v)
-       int v;
-       {
+# include "ldefs.h"
+void cfoll(v) int v; {
        register int i,j,k;
        char *p;
        i = name[v];
@@ -26,7 +24,7 @@ cfoll(v)
                        else if(i == RCCL || i == RNCCL){       /* compress ccl list */
                                for(j=1; j<NCH;j++)
                                        symbol[j] = (i==RNCCL);
-                               p = left[v];
+                               p = (char *)left[v];
                                while(*p)
                                        symbol[*p++] = (i == RCCL);
                                p = pcptr;
@@ -40,7 +38,7 @@ cfoll(v)
                                *pcptr++ = 0;
                                if(pcptr > pchar + pchlen)
                                        error("Too many packed character classes");
-                               left[v] = p;
+                               left[v] = (intptr_t)p;
                                name[v] = RCCL; /* RNCCL eliminated */
 # ifdef DEBUG
                                if(debug && *p){
@@ -72,10 +70,10 @@ cfoll(v)
 # endif
                }
        return;
-       }
+}
+
 # ifdef DEBUG
-pfoll()
-       {
+void pfoll() {
        register int i,k,*p;
        int j;
        /* print sets of chars which may follow positions */
@@ -91,11 +89,10 @@ pfoll()
                                }
                        }
        return;
-       }
+}
 # endif
-add(array,n)
-  int **array;
-  int n; {
+
+void add(array,n) int **array; int n; {
        register int i, *temp;
        register char *ctemp;
        temp = nxtpos;
@@ -109,10 +106,9 @@ add(array,n)
        if(nxtpos >= positions+maxpos)
                error("Too many positions %s",(maxpos== MAXPOS?"\nTry using %p num":""));
        return;
-       }
-follow(v)
-  int v;
-       {
+}
+
+void follow(v) int v; {
        register int p;
        if(v >= tptr-1)return;
        p = parent[v];
@@ -149,9 +145,9 @@ follow(v)
 # endif
                }
        return;
-       }
-first(v)       /* calculate set of positions with v as root which can be active initially */
-  int v; {
+}
+
+void first(v) int v; { /* calculate set of positions with v as root which can be active initially */
        register int i;
        register char *p;
        i = name[v];
@@ -173,7 +169,7 @@ first(v)    /* calculate set of positions with v as root which can be active initia
                        break;
                case RSCON:
                        i = stnum/2 +1;
-                       p = right[v];
+                       p = (char *)right[v];
                        while(*p)
                                if(*p++ == i){
                                        first(left[v]);
@@ -194,8 +190,9 @@ first(v)    /* calculate set of positions with v as root which can be active initia
 # endif
                }
        return;
-       }
-cgoto(){
+}
+
+void cgoto() {
        register int i, j, s;
        int npos, curpos, n;
        int tryit;
@@ -241,7 +238,7 @@ cgoto(){
                        else switch(name[curpos]){
                        case RCCL:
                                tryit = TRUE;
-                               q = left[curpos];
+                               q = (char *)left[curpos];
                                while(*q){
                                        for(j=1;j<NCH;j++)
                                                if(cindex[j] == *q)
@@ -309,11 +306,11 @@ cgoto(){
                }
        ratfor ? fprintf(fout,"end\n") : fprintf(fout,"0};\n");
        return;
-       }
+}
+
        /*      Beware -- 70% of total CPU time is spent in this subroutine -
                if you don't believe me - try it yourself ! */
-nextstate(s,c)
-  int s,c; {
+void nextstate(s, c) int s; int c; {
        register int j, *newpos;
        register char *temp, *tz;
        int *pos, i, *f, num, curpos, number;
@@ -326,7 +323,7 @@ nextstate(s,c)
                j = name[curpos];
                if(j < NCH && j == c
                || j == RSTR && c == right[curpos]
-               || j == RCCL && member(c,left[curpos])){
+               || j == RCCL && member(c, (char *)left[curpos])){
                        f = foll[curpos];
                        number = *f;
                        newpos = f+1;
@@ -345,9 +342,9 @@ nextstate(s,c)
                }
        count = j;
        return;
-       }
-notin(n)
-  int n;       {       /* see if tmpstat occurs previously */
+}
+
+int notin(n) int n; {  /* see if tmpstat occurs previously */
        register int *j,k;
        register char *temp;
        int i;
@@ -364,10 +361,9 @@ notin(n)
                        }
                }
        return(-1);
-       }
-packtrans(st,tch,tst,cnt,tryit)
-  int st, *tst, cnt,tryit;
-  char *tch; {
+}
+
+void packtrans(st, tch, tst, cnt, tryit) int st; char *tch; int *tst; int cnt; int tryit; {
        /* pack transitions into nchar, nexts */
        /* nchar is terminated by '\0', nexts uses cnt, followed by elements */
        /* gotof[st] = index into nchr, nexts for state st */
@@ -526,10 +522,10 @@ nopack:
                if(nptr > ntrans)
                        error("Too many transitions %s",(ntrans==NTRANS?"\nTry using %a num":""));
        return;
-       }
+}
+
 # ifdef DEBUG
-pstate(s)
-  int s; {
+void pstate(s) int s; {
        register int *p,i,j;
        printf("State %d:\n",s);
        p = state[s];
@@ -542,11 +538,10 @@ pstate(s)
                }
        putchar('\n');
        return;
-       }
+}
 # endif
-member(d,t)
-  int d;
-  char *t;     {
+
+int member(d, t) int d; char *t; {
        register int c;
        register char *s;
        c = d;
@@ -556,9 +551,9 @@ member(d,t)
                if(*s++ == c) return(1);
        return(0);
        }
+
 # ifdef DEBUG
-stprt(i)
-  int i; {
+void stprt(i) int i; {
        register int p, t;
        printf("State %d:",i);
        /* print actions, if any */
@@ -589,8 +584,8 @@ stprt(i)
        return;
        }
 # endif
-acompute(s)    /* compute action list = set of poss. actions */
-  int s; {
+
+void acompute(s) int s; {      /* compute action list = set of poss. actions */
        register int *p, i, j;
        int cnt, m;
        int temp[300], k, neg[300], n;
@@ -653,9 +648,10 @@ acompute(s)        /* compute action list = set of poss. actions */
        ratfor ? fprintf(fout,"data vstop (%d)/0/\n",aptr) : fprintf(fout,"0,\n");
        aptr++;
        return;
-       }
+}
+
 # ifdef DEBUG
-pccl() {
+void pccl() {
        /* print character class sets */
        register int i, j;
        printf("char class intersection\n");
@@ -683,9 +679,10 @@ pccl() {
                }
        putchar('\n');
        return;
-       }
+}
 # endif
-mkmatch(){
+
+void mkmatch() {
        register int i;
        char tab[NCH];
        for(i=0; i<ccount; i++)
@@ -697,8 +694,9 @@ mkmatch(){
        for(i = 1; i<NCH; i++)
                match[i] = tab[cindex[i]];
        return;
-       }
-layout(){
+}
+
+void layout() {
        /* format and output final program's tables */
        register int i, j, k;
        int  top, bot, startup, omin;
@@ -852,7 +850,7 @@ layout(){
                else
                        {
                        int *fbarr;
-                       fbarr = myalloc(2*NCH, sizeof(*fbarr));
+                       fbarr = (int *)myalloc(2*NCH, sizeof(*fbarr));
                        if (fbarr==0)
                                error("No space for char table reverse",0);
                        for(i=0; i<ZCH; i++)
@@ -879,10 +877,9 @@ layout(){
                }
        fprintf(fout,"0};\n");
        return;
-       }
-rprint(a,s,n)
-  char *s;
-  int *a, n; {
+}
+
+void rprint(a,s,n) int *a; char *s; int n; {
        register int i;
        fprintf(fout,"block data\n");
        fprintf(fout,"common /L%s/ %s\n",s,s);
@@ -896,23 +893,18 @@ rprint(a,s,n)
                }
        fprintf(fout,"end\n");
        }
-shiftr(a, n)
-       int *a;
-{
+
+void shiftr(a, n) int *a; int n; {
 int i;
 for(i=n; i>=0; i--)
        a[i+1]=a[i];
 }
-upone(a,n)
-       int *a;
-{
+void upone(a, n) int *a; int n; {
 int i;
 for(i=0; i<=n ; i++)
        a[i]++;
 }
-bprint(a,s,n)
- char *s,  *a;
- int  n; {
+void bprint(a, s, n) char *a; char *s; int n; {
        register int i, j, k;
        fprintf(fout,"block data\n");
        fprintf(fout,"common /L%s/ %s\n",s,s);
@@ -927,11 +919,10 @@ bprint(a,s,n)
                putc('\n',fout);
                }
        fprintf(fout,"end\n");
-       }
+}
+
 # ifdef PP
-padd(array,n)
-  int **array;
-  int n; {
+void padd(array, n) int **array; int n; {
        register int i, *j, k;
        array[n] = nxtpos;
        if(count == 0){
@@ -951,5 +942,5 @@ padd(array,n)
                }
        add(array,n);
        return;
-       }
+}
 # endif
index 0d2e032..f2be0c3 100644 (file)
@@ -11,7 +11,7 @@ MKSTR=        /usr/ucb/mkstr
 # turn off the debugging to save string space
 STRINGS=\"/usr/share/misc/lintstrings\"
 CFLAGS=-O -I$M -I. -DBUG1 -DBUG2 -DBUG3 -DBUG4 -DSTRINGFILE=${STRINGS}
-LFLAGS=-i
+LDFLAGS=-i
 
 SRCS=  cgram.y common.c optim.c pftn.c scan.c trees.c \
        xdefs.c lint.c hash.c pass1.h manifest.h macdefs.h \
@@ -45,7 +45,7 @@ links:
 
 lpass1: cgram.o comm1.o optim.o pftn.o scan.o trees.o xdefs.o \
        lint.o hash.o strings.o
-       ${CC} ${LFLAGS} ${CFLAGS} cgram.o comm1.o optim.o pftn.o \
+       ${CC} ${LDFLAGS} ${CFLAGS} cgram.o comm1.o optim.o pftn.o \
                scan.o trees.o xdefs.o lint.o hash.o strings.o -o lpass1
 
 cgram.o: manifest.h pass1.h pcclocal.h macdefs.h cgram.c
@@ -94,7 +94,7 @@ pcctokens: $P/localdefs.h /usr/include/pcc.h
 lint.o: manifest.h macdefs.h pass1.h lmanifest.h
 
 lpass2: lpass2.o hash.o
-       ${CC} ${LFLAGS} ${CFLAGS} lpass2.o hash.o -o lpass2
+       ${CC} ${LDFLAGS} ${CFLAGS} lpass2.o hash.o -o lpass2
 
 lpass2.o: manifest.h lmanifest.h pcclocal.h macdefs.h
        ${CC} ${CFLAGS} -c -I$M -I. lpass2.c
index 1f9f0e9..b61b9bf 100644 (file)
@@ -25,8 +25,8 @@ spellin: spellin.o
 spellout: spellout.o
        cc ${SEPFLAG} spellout.o -o spellout
 
-hlist: /usr/dict/words spellin
-       spellin </usr/dict/words >hlist
+hlist: ${STAGEDIR}/usr/dict/words spellin
+       spellin <${STAGEDIR}/usr/dict/words >hlist
 hlista: american local hlist spellin
        (cat american local)|spellin hlist >hlista
 hlistb: british local hlist spellin
diff --git a/usr.bin/yacc.intptr_t/n.sh b/usr.bin/yacc.intptr_t/n.sh
new file mode 100755 (executable)
index 0000000..70e88ba
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/sh
+ROOT="`pwd |sed -e 's/\/usr\.bin\/yacc$//'`"
+CC="cc -g -Iinclude -Wall -Wno-char-subscripts -Wno-deprecated-declarations -Wno-format -Wno-maybe-uninitialized -Wno-parentheses -Wno-unused-result"
+INSTALL="$ROOT/install.sh --strip-program=/bin/true"
+MANROFF="nroff -man"
+mkdir --parents "$ROOT/cross/usr/bin"
+mkdir --parents "$ROOT/cross/usr/share/misc"
+make CC="$CC" MANROFF="$MANROFF" CROSSDIR="\\\"$ROOT/cross\\\"" SEPFLAG= && \
+make INSTALL="$INSTALL" DESTDIR="$ROOT/cross" install
index 903addc..1b9a8de 100644 (file)
@@ -4,7 +4,7 @@ INSTALL=install
 #
 DESTDIR=
 SEPFLAG= -i
-CFLAGS=-O -DCROSSDIR="${CROSSDIR}"
+CFLAGS=-O -DCROSSPREFIX="${CROSSPREFIX}"
 SRCS = Makefile dextern.h files.h yaccpar \
        y1.c y2.c y3.c y4.c \
        yaccdiffs yaccnews
index 414d0a5..85bffad 100644 (file)
@@ -17,7 +17,7 @@
  * #endif
  */
        /* location of the parser text file */
-# define PARSER CROSSDIR "/usr/share/misc/yaccpar"
+# define PARSER CROSSPREFIX "/usr/share/misc/yaccpar"
 
        /* basic size of the Yacc implementation */
 /* # define HUGE */
index 70e88ba..83e20eb 100755 (executable)
@@ -5,5 +5,5 @@ INSTALL="$ROOT/install.sh --strip-program=/bin/true"
 MANROFF="nroff -man"
 mkdir --parents "$ROOT/cross/usr/bin"
 mkdir --parents "$ROOT/cross/usr/share/misc"
-make CC="$CC" MANROFF="$MANROFF" CROSSDIR="\\\"$ROOT/cross\\\"" SEPFLAG= && \
+make CC="$CC" MANROFF="$MANROFF" CROSSPREFIX="\\\"$ROOT/cross\\\"" SEPFLAG= && \
 make INSTALL="$INSTALL" DESTDIR="$ROOT/cross" install
index 501adb0..1e8659e 100644 (file)
@@ -1,5 +1,5 @@
 char *libF77_id[] = {
-       "@(#)libF77.a   Jan  6 02:48:39 2017",
+       "@(#)libF77.a   Jan  6 22:18:57 2017",
        "@(#)abort_.c   5.1     6/7/85",
        "@(#)besj0_.c   5.1     6/7/85",
        "@(#)besj1_.c   5.1     6/7/85",
index 8bc9c11..f491ec5 100755 (executable)
Binary files a/usr.lib/libF77/profiled/Version and b/usr.lib/libF77/profiled/Version differ
index aadbf00..6927103 100644 (file)
@@ -1,5 +1,5 @@
 char *libI77_id[] = {
-       "@(#)libI77.a   Jan  6 00:43:48 2017",
+       "@(#)libI77.a   Jan  6 12:24:36 2017",
        "@(#)backspace.c        5.2     7/30/85",
        "@(#)c_dfe.c    5.2     7/30/85",
        "@(#)c_iio.c    5.2     7/30/85",
index 695faaa..17d28ef 100755 (executable)
Binary files a/usr.lib/libI77/profiled/Version and b/usr.lib/libI77/profiled/Version differ
index f710382..7fd7bcd 100644 (file)
@@ -14,7 +14,7 @@ MANDIR=$(DESTDIR)/usr/man/cat3
 
 CFLAGS=-O -DSIGRETURNTYPE=int -DHAVE_ANSIHEADERS
 
-LFLAGS=-i
+LDFLAGS=-i
 LIB= libident.a
 
 SRCS = ident.c id_open.c id_close.c id_query.c id_parse.c support.c version.c
@@ -38,10 +38,10 @@ libident.a libident_p.a:    $(OBJS)
        ${RANLIB} libident_p.a
 
 ident-tester: libident.a ident-tester.o
-       ${CC} $(CFLAGS) ${LFLAGS} -o ident-tester ident-tester.o $(LIB)
+       ${CC} $(CFLAGS) ${LDFLAGS} -o ident-tester ident-tester.o $(LIB)
 
 lookup-tester: libident.a lookup-tester.o
-       ${CC} $(CFLAGS) ${LFLAGS} -o lookup-tester lookup-tester.o $(LIB)
+       ${CC} $(CFLAGS) ${LDFLAGS} -o lookup-tester lookup-tester.o $(LIB)
 
 ident.0: ident.3
        ${MANROFF} ident.3 > ident.0
similarity index 50%
rename from usr.lib/libvmf/makefile
rename to usr.lib/libvmf/Makefile
index 8e6ef73..1692c1d 100644 (file)
@@ -1,4 +1,7 @@
-CPPFLAGS=-Iinclude
+MANROFF=/usr/man/manroff
+INSTALL=install
+RANLIB=ranlib
+CFLAGS=-Iinclude
 OBJECTS = vmf.o
 
 all:  genlib genlib_p vmf.0
@@ -6,23 +9,23 @@ all:  genlib genlib_p vmf.0
 CFLAGS = -O
 
 vmf.0: vmf.3
-       nroff -man vmf.3 > vmf.0
+       ${MANROFF} vmf.3 > vmf.0
 
 install: all
-       install -c -m 644 genlib ${DESTDIR}/usr/lib/libvmf.a
-       ranlib ${DESTDIR}/usr/lib/libvmf.a
-       install -c -m 644 genlib_p ${DESTDIR}/usr/lib/libvmf_p.a
-       ranlib ${DESTDIR}/usr/lib/libvmf_p.a
-       install -c -m 444 vmf.0 ${DESTDIR}/usr/man/cat3/vmf.0
+       ${INSTALL} -c -m 644 genlib ${DESTDIR}/usr/lib/libvmf.a
+       ${RANLIB} ${DESTDIR}/usr/lib/libvmf.a
+       ${INSTALL} -c -m 644 genlib_p ${DESTDIR}/usr/lib/libvmf_p.a
+       ${RANLIB} ${DESTDIR}/usr/lib/libvmf_p.a
+       ${INSTALL} -c -m 444 vmf.0 ${DESTDIR}/usr/man/cat3/vmf.0
 
 clean:
        rm -f ${OBJECTS} profiled/${OBJECTS} genlib genlib_p vmf.0
 
 .c.o:
-       ${CC} -p ${CPPFLAGS} ${CFLAGS} -c $*.c
+       ${CC} -p ${CFLAGS} -c $*.c
        -${LD} -X -r $*.o
        mv a.out profiled/$*.o
-       ${CC} ${CPPFLAGS} ${CFLAGS} -c $*.c
+       ${CC} ${CFLAGS} -c $*.c
        -${LD} -X -r $*.o
        mv a.out $*.o
 
index 294a27a..c9d4d55 100644 (file)
@@ -65,7 +65,7 @@ OBJMODE=755
 all: $(ALL)
 
 sendmail: $(OBJS)
-       ${LD} $(SEPFLAG) $(COPTS) /lib/crt0.o -o sendmail \
+       ${LD} $(SEPFLAG) $(COPTS) ${STAGEDIR}/lib/crt0.o -o sendmail \
                -Z $(SOV1) -Z $(SOV2) -Z $(SOV3) -Y $(SBASE) $(LIBS) -lstubs -lc
        chmod $(OBJMODE) sendmail
        size sendmail; ls -l sendmail
diff --git a/words b/words
new file mode 100644 (file)
index 0000000..b810c33
--- /dev/null
+++ b/words
@@ -0,0 +1,25486 @@
+a
+AAA
+AAAS
+aardvark
+Aarhus
+Aaron
+ABA
+Ababa
+aback
+abacus
+abalone
+abandon
+abase
+abash
+abate
+abbas
+abbe
+abbey
+abbot
+Abbott
+abbreviate
+abc
+abdicate
+abdomen
+abdominal
+abduct
+Abe
+abed
+Abel
+Abelian
+Abelson
+Aberdeen
+Abernathy
+aberrant
+aberrate
+abet
+abetted
+abetting
+abeyance
+abeyant
+abhor
+abhorred
+abhorrent
+abide
+Abidjan
+Abigail
+abject
+abjure
+ablate
+ablaze
+able
+ablution
+abnegation
+Abner
+abnormal
+Abo
+aboard
+abode
+abolish
+abolition
+abominable
+abominate
+aboriginal
+aborigine
+aborning
+abort
+abound
+about
+above
+aboveboard
+aboveground
+abovementioned
+abrade
+Abraham
+Abram
+Abramson
+abrasion
+abrasive
+abreact
+abreast
+abridge
+abridgment
+abroad
+abrogate
+abrupt
+abscess
+abscissa
+abscissae
+abscond
+absent
+absentee
+absenteeism
+absentia
+absentminded
+absinthe
+absolute
+absolution
+absolve
+absorb
+absorbent
+absorption
+absorptive
+abstain
+abstention
+abstinent
+abstract
+abstractor
+abstruse
+absurd
+absurdum
+abuilding
+abundant
+abusable
+abuse
+abusive
+abut
+abutted
+abutting
+abysmal
+abyss
+Abyssinia
+AC
+acacia
+academia
+academic
+academician
+academy
+Acadia
+acanthus
+Acapulco
+accede
+accelerate
+accelerometer
+accent
+accentual
+accentuate
+accept
+acceptant
+acceptor
+access
+accessible
+accession
+accessory
+accident
+accidental
+accipiter
+acclaim
+acclamation
+acclimate
+accolade
+accommodate
+accompaniment
+accompanist
+accompany
+accomplice
+accomplish
+accord
+accordant
+accordion
+accost
+account
+accountant
+accouter
+Accra
+accredit
+accreditation
+accretion
+accrual
+accrue
+acculturate
+accumulate
+accuracy
+accurate
+accusation
+accusative
+accusatory
+accuse
+accustom
+ace
+acerbic
+acerbity
+acetaminophen
+acetate
+acetic
+acetone
+acetylene
+Achaean
+ache
+achieve
+Achilles
+aching
+achromatic
+acid
+acidic
+acidify
+acidulate
+acidulous
+Ackerman
+Ackley
+acknowledge
+acknowledgeable
+ACM
+acme
+acolyte
+acorn
+acoustic
+acquaint
+acquaintance
+acquiesce
+acquiescent
+acquire
+acquisition
+acquisitive
+acquit
+acquittal
+acquitting
+acre
+acreage
+acrid
+acrimonious
+acrimony
+acrobacy
+acrobat
+acrobatic
+acronym
+acrophobia
+acrophobic
+acropolis
+across
+acrylate
+acrylic
+act
+Actaeon
+actinic
+actinide
+actinium
+actinolite
+actinometer
+activate
+Acton
+actor
+actress
+actual
+actuarial
+actuate
+acuity
+acumen
+acupuncture
+acute
+acyclic
+ad
+Ada
+adage
+adagio
+Adair
+Adam
+adamant
+Adamson
+adapt
+adaptation
+adaptive
+add
+addend
+addenda
+addendum
+addict
+Addis
+Addison
+addition
+additive
+addle
+address
+addressee
+Addressograph
+adduce
+Adelaide
+Adele
+Adelia
+Aden
+adenine
+adenoma
+adenosine
+adept
+adequacy
+adequate
+adhere
+adherent
+adhesion
+adhesive
+adiabatic
+adieu
+adipic
+Adirondack
+adjacent
+adject
+adjectival
+adjoin
+adjoint
+adjourn
+adjudge
+adjudicate
+adjunct
+adjust
+adjutant
+Adkins
+Adler
+Adlerian
+administer
+administrable
+administrate
+administratrix
+admiral
+admiralty
+admiration
+admire
+admissible
+admission
+admit
+admittance
+admitted
+admitting
+admix
+admixture
+admonish
+admonition
+ado
+adobe
+adolescent
+Adolph
+Adolphus
+Adonis
+adopt
+adoption
+adoptive
+adoration
+adore
+adorn
+adposition
+adrenal
+adrenalin
+adrenaline
+Adrian
+Adriatic
+Adrienne
+adrift
+adroit
+adsorb
+adsorbate
+adsorption
+adsorptive
+adulate
+adult
+adulterate
+adulterous
+adultery
+advance
+advantage
+advantageous
+advent
+adventitious
+adventure
+adventurous
+adverb
+adverbial
+adversary
+adverse
+advert
+advertise
+advice
+advisable
+advise
+advisee
+advisor
+advisory
+advocacy
+advocate
+Aegean
+aegis
+Aeneas
+Aeneid
+aeolian
+Aeolus
+aerate
+aerial
+aerie
+Aerobacter
+aerobic
+aerodynamic
+aerofoil
+aerogene
+aeronautic
+aerosol
+aerospace
+Aeschylus
+Aesop
+aesthete
+aesthetic
+afar
+affable
+affair
+affect
+affectate
+affectionate
+afferent
+affiance
+affidavit
+affiliate
+affine
+affirm
+affirmation
+affirmative
+affix
+afflict
+affluent
+afford
+afforest
+afforestation
+affricate
+affront
+Afghan
+Afghanistan
+aficionado
+afield
+afire
+aflame
+afloat
+afoot
+aforementioned
+aforesaid
+aforethought
+afraid
+afreet
+afresh
+Africa
+Afrikaans
+Afrikaner
+afro
+aft
+afterbirth
+aftereffect
+afterglow
+afterimage
+afterlife
+aftermath
+afternoon
+afterthought
+afterward
+afterword
+again
+against
+Agamemnon
+agar
+agate
+Agatha
+agave
+age
+Agee
+agenda
+agent
+agglomerate
+agglutinate
+agglutinin
+aggravate
+aggregate
+aggression
+aggressive
+aggressor
+aggrieve
+aghast
+agile
+agitate
+agleam
+Agnes
+Agnew
+agnomen
+agnostic
+ago
+agog
+agone
+agony
+agouti
+agrarian
+agree
+agreeable
+agreeing
+agribusiness
+Agricola
+agricultural
+agriculture
+agrimony
+agronomist
+agronomy
+ague
+Agway
+ah
+ahead
+ahem
+Ahmedabad
+ahoy
+aid
+Aida
+aide
+Aides
+Aiken
+ail
+ailanthus
+aile
+aileron
+aim
+ain't
+Ainu
+air
+airborne
+airbrush
+aircraft
+airdrop
+airedale
+Aires
+airfare
+airfield
+airflow
+airframe
+airlift
+airline
+airlock
+airmail
+airman
+airmass
+airmen
+airpark
+airplane
+airport
+airspeed
+airstrip
+airtight
+airway
+airy
+aisle
+Aitken
+ajar
+Ajax
+AK
+Akers
+akin
+Akron
+AL
+ala
+Alabama
+Alabamian
+alabaster
+alacrity
+Aladdin
+alai
+Alameda
+Alamo
+alan
+alarm
+Alasdair
+Alaska
+Alastair
+alb
+alba
+albacore
+Albania
+Albany
+albatross
+albeit
+Alberich
+Albert
+Alberta
+Alberto
+albino
+Albrecht
+Albright
+album
+albumin
+Albuquerque
+Alcestis
+alchemist
+alchemy
+Alcmena
+Alcoa
+alcohol
+alcoholic
+Alcott
+alcove
+Aldebaran
+aldehyde
+Alden
+alder
+alderman
+aldermen
+Aldrich
+aldrin
+ale
+Alec
+Aleck
+aleph
+alert
+Aleutian
+alewife
+Alex
+Alexander
+Alexandra
+Alexandre
+Alexandria
+Alexei
+Alexis
+alfalfa
+alfonso
+Alfred
+Alfredo
+alfresco
+alga
+algae
+algaecide
+algal
+algebra
+algebraic
+Algenib
+Alger
+Algeria
+Algiers
+alginate
+Algol
+Algonquian
+Algonquin
+algorithm
+algorithmic
+Alhambra
+Ali
+alia
+alias
+alibi
+Alice
+Alicia
+alien
+alienate
+alight
+align
+alike
+alimentary
+alimony
+aliphatic
+aliquot
+Alison
+Alistair
+alive
+alizarin
+alkali
+alkaline
+alkaloid
+all
+Allah
+Allan
+allay
+allegate
+allege
+Allegheny
+allegiant
+allegoric
+allegory
+Allegra
+allegro
+allele
+allemand
+Allen
+Allentown
+allergic
+allergy
+alleviate
+alley
+alleyway
+alliance
+alligator
+Allis
+Allison
+alliterate
+allmsgs
+allocable
+allocate
+allot
+allotropic
+allotted
+allotting
+allow
+allowance
+alloy
+allspice
+Allstate
+allude
+allure
+allusion
+allusive
+alluvial
+alluvium
+ally
+allyl
+Allyn
+alma
+Almaden
+almagest
+almanac
+almighty
+almond
+almost
+aloe
+aloft
+aloha
+alone
+along
+alongside
+aloof
+aloud
+alp
+alpaca
+alpenstock
+Alpert
+alpha
+alphabet
+alphabetic
+alphanumeric
+Alpheratz
+Alphonse
+alpine
+already
+Alsatian
+also
+Alsop
+Altair
+altar
+alter
+alterate
+altercate
+altern
+alternate
+althea
+although
+altimeter
+altitude
+alto
+altogether
+Alton
+altruism
+altruist
+alum
+alumina
+aluminate
+alumna
+alumnae
+alumni
+alumnus
+alundum
+Alva
+Alvarez
+alveolar
+alveoli
+alveolus
+Alvin
+alway
+alyssum
+A&M
+am
+AMA
+Amadeus
+amalgam
+amalgamate
+amanita
+amanuensis
+amaranth
+Amarillo
+amass
+amateur
+amateurish
+amatory
+amaze
+Amazon
+ambassador
+amber
+ambiance
+ambidextrous
+ambient
+ambiguity
+ambiguous
+ambition
+ambitious
+ambivalent
+amble
+ambrose
+ambrosia
+ambrosial
+ambulant
+ambulatory
+ambuscade
+ambush
+Amelia
+ameliorate
+amen
+amend
+amende
+Amerada
+America
+Americana
+americium
+Ames
+amethyst
+amethystine
+Amharic
+Amherst
+ami
+amicable
+amid
+amide
+amidst
+amigo
+amino
+aminobenzoic
+amiss
+amity
+Amman
+Ammerman
+ammeter
+ammo
+ammonia
+ammoniac
+ammonite
+ammonium
+ammunition
+amnesia
+amnesiac
+amnesty
+amniocentesis
+amniotic
+Amoco
+amoeba
+amoebae
+amoeboid
+amok
+among
+amongst
+amoral
+amorphous
+amort
+Amos
+amount
+amp
+amperage
+ampere
+ampersand
+Ampex
+amphetamine
+amphibian
+amphibious
+amphibole
+amphibology
+amphioxis
+ample
+amplify
+amplitude
+amply
+amputate
+amra
+Amsterdam
+Amtrak
+amulet
+amuse
+amy
+amygdaloid
+an
+ana
+Anabaptist
+Anabel
+anachronism
+anachronistic
+anaconda
+Anacreon
+anaerobic
+anaglyph
+anagram
+Anaheim
+Analects
+analeptic
+analgesic
+analogous
+analogue
+analogy
+analyses
+analysis
+analyst
+analytic
+anamorphic
+anaphora
+anaphoric
+anaplasmosis
+anarch
+anarchic
+anarchy
+Anastasia
+anastigmat
+anastigmatic
+anastomosis
+anastomotic
+anathema
+Anatole
+anatomic
+anatomist
+anatomy
+ancestor
+ancestral
+ancestry
+anchor
+anchorage
+anchorite
+anchovy
+ancient
+ancillary
+and
+Andalusia
+Andean
+Andersen
+Anderson
+Andes
+andesine
+andesite
+Andorra
+Andover
+Andre
+Andrea
+Andrei
+Andrew
+androgen
+Andromache
+Andromeda
+Andy
+anecdotal
+anecdote
+anemone
+anent
+anew
+angel
+Angela
+Angeles
+angelfish
+angelic
+Angelica
+Angelina
+Angeline
+Angelo
+anger
+Angie
+angiosperm
+angle
+Angles
+Anglican
+Anglo
+Anglophobia
+Angola
+Angora
+angry
+angst
+angstrom
+anguish
+angular
+Angus
+anharmonic
+Anheuser
+anhydride
+anhydrite
+anhydrous
+ani
+aniline
+animadversion
+animadvert
+animal
+animate
+animism
+animist
+animosity
+anion
+anionic
+anise
+aniseikonic
+anisotropic
+anisotropy
+Anita
+Ankara
+ankle
+Ann
+Anna
+annal
+Annale
+Annalen
+Annapolis
+Anne
+anneal
+annelid
+Annette
+annex
+Annie
+annihilate
+anniversary
+annotate
+announce
+annoy
+annoyance
+annual
+annuity
+annul
+annular
+annuli
+annulled
+annulling
+annulus
+annum
+annunciate
+anode
+anodic
+anoint
+anomalous
+anomaly
+anomie
+anonymity
+anonymous
+anorexia
+anorthic
+anorthite
+anorthosite
+another
+Anselm
+Anselmo
+ANSI
+answer
+ant
+antacid
+Antaeus
+antagonism
+antagonist
+antarctic
+Antarctica
+Antares
+ante
+anteater
+antebellum
+antecedent
+antedate
+antelope
+antenna
+antennae
+anterior
+anthem
+anther
+anthology
+Anthony
+anthracite
+anthracnose
+anthropocentric
+anthropogenic
+anthropoid
+anthropology
+anthropomorphic
+anthropomorphism
+anti
+antic
+anticipate
+anticipatory
+anticonvulsant
+Antietam
+antigen
+Antigone
+antigorite
+Antilles
+antimony
+Antioch
+antipasto
+antipathy
+antiperspirant
+antiphonal
+antipodal
+antipode
+antiquarian
+antiquary
+antiquated
+antique
+antiquity
+antisemite
+antisemitic
+antithetic
+antivenin
+antler
+Antoine
+Antoinette
+Anton
+Antonio
+Antony
+antonym
+Antwerp
+anus
+anvil
+anxiety
+anxious
+any
+anybody
+anybody'd
+anyhow
+anyone
+anyplace
+anything
+anyway
+anywhere
+aorta
+A&P
+apache
+apart
+apartheid
+apathetic
+apathy
+apatite
+ape
+aperiodic
+aperture
+apex
+aphasia
+aphasic
+aphelion
+aphid
+aphorism
+aphrodisiac
+Aphrodite
+apiary
+apical
+apices
+apiece
+aplomb
+apocalypse
+apocalyptic
+Apocrypha
+apocryphal
+apogee
+Apollo
+Apollonian
+apologetic
+apologia
+apology
+apoplectic
+apoplexy
+apostasy
+apostate
+apostle
+apostolic
+apostrophe
+apothecary
+apothegm
+apotheosis
+Appalachia
+appall
+appanage
+apparatus
+apparel
+apparent
+apparition
+appeal
+appear
+appearance
+appeasable
+appease
+appellant
+appellate
+append
+appendage
+appendices
+appendix
+appertain
+appetite
+Appian
+applaud
+applause
+apple
+Appleby
+applejack
+Appleton
+appliance
+applicable
+applicant
+applicate
+applique
+apply
+appoint
+appointe
+appointee
+apport
+apposite
+apposition
+appraisal
+appraise
+appreciable
+appreciate
+apprehend
+apprehension
+apprehensive
+apprentice
+apprise
+approach
+approbation
+appropriable
+appropriate
+approval
+approve
+approximable
+approximant
+approximate
+apricot
+April
+apron
+apropos
+apse
+apt
+aptitude
+aqua
+aquarium
+Aquarius
+aquatic
+aqueduct
+aqueous
+aquifer
+Aquila
+Aquinas
+AR
+Arab
+arabesque
+Arabia
+Arabic
+Araby
+Arachne
+arachnid
+Arapaho
+arbiter
+arbitrage
+arbitrary
+arbitrate
+arboreal
+arborescent
+arboretum
+arbutus
+arc
+arcade
+Arcadia
+arcana
+arcane
+arccos
+arccosine
+arch
+archae
+archaic
+archaism
+archangel
+archbishop
+archdiocese
+archenemy
+archery
+archetype
+archetypical
+archfool
+Archibald
+Archimedes
+archipelago
+architect
+architectonic
+architectural
+architecture
+archival
+archive
+arcing
+arclength
+arcsin
+arcsine
+arctan
+arctangent
+arctic
+Arcturus
+Arden
+ardent
+arduous
+are
+area
+areaway
+areawide
+arena
+arenaceous
+aren't
+Arequipa
+Ares
+Argentina
+Argentine
+Argentinian
+argillaceous
+arginine
+Argive
+argo
+argon
+Argonaut
+Argonne
+argot
+argue
+argument
+argumentation
+argumentative
+Argus
+arhat
+aria
+Ariadne
+Arianism
+arid
+Aries
+arise
+arisen
+aristocracy
+aristocrat
+aristocratic
+Aristotelean
+Aristotelian
+Aristotle
+arithmetic
+Arizona
+ark
+Arkansan
+Arkansas
+Arlen
+Arlene
+Arlington
+arm
+armada
+armadillo
+Armageddon
+armament
+Armata
+armature
+armchair
+Armco
+Armenia
+armful
+armhole
+armillaria
+armistice
+armload
+armoire
+Armonk
+Armour
+armpit
+Armstrong
+army
+Arnold
+aroma
+aromatic
+arose
+around
+arousal
+arouse
+ARPA
+arpeggio
+arrack
+Arragon
+arraign
+arrange
+arrangeable
+array
+arrear
+arrest
+Arrhenius
+arrival
+arrive
+arrogant
+arrogate
+arrow
+arrowhead
+arrowroot
+arroyo
+arsenal
+arsenate
+arsenic
+arsenide
+arsine
+arson
+art
+Artemis
+artemisia
+arterial
+arteriole
+arteriolosclerosis
+arteriosclerosis
+artery
+artful
+arthritis
+arthropod
+Arthur
+artichoke
+article
+articulate
+articulatory
+Artie
+artifact
+artifice
+artificial
+artillery
+artisan
+artistry
+Arturo
+artwork
+arty
+Aruba
+arum
+aryl
+a's
+as
+asbestos
+ascend
+ascendant
+ascension
+ascent
+ascertain
+ascetic
+ascii
+ascomycetes
+ascribe
+ascription
+aseptic
+ash
+ashame
+ashen
+Asher
+Asheville
+Ashland
+Ashley
+ashman
+ashmen
+Ashmolean
+ashore
+ashram
+ashtray
+ashy
+Asia
+Asiatic
+aside
+Asilomar
+asinine
+ask
+askance
+askew
+asleep
+asocial
+asparagine
+asparagus
+aspartic
+aspect
+aspen
+asperity
+aspersion
+asphalt
+aspheric
+asphyxiate
+aspidistra
+aspirant
+aspirate
+aspire
+aspirin
+asplenium
+ass
+assai
+assail
+assailant
+Assam
+assassin
+assassinate
+assault
+assay
+assemblage
+assemble
+assent
+assert
+assess
+assessor
+asset
+assiduity
+assiduous
+assign
+assignation
+assignee
+assimilable
+assimilate
+assist
+assistant
+associable
+associate
+assonant
+assort
+assuage
+assume
+assumption
+assurance
+assure
+Assyria
+Assyriology
+Astarte
+astatine
+aster
+asteria
+asterisk
+asteroid
+asteroidal
+asthma
+astigmat
+astigmatic
+ASTM
+astonish
+Astor
+Astoria
+astound
+astraddle
+astral
+astray
+astride
+astringent
+astrologer
+astrology
+astronaut
+astronautic
+astronomer
+astronomic
+astronomy
+astrophysical
+astrophysicist
+astrophysics
+astute
+Asuncion
+asunder
+asylum
+asymmetry
+asymptomatic
+asymptote
+asymptotic
+asynchronous
+asynchrony
+at
+Atalanta
+atavism
+atavistic
+Atchison
+ate
+Athabascan
+atheism
+atheist
+Athena
+Athenian
+Athens
+athlete
+athletic
+athwart
+Atkins
+Atkinson
+Atlanta
+atlantes
+atlantic
+Atlantis
+atlas
+atmosphere
+atmospheric
+atoll
+atom
+atomic
+atonal
+atone
+atonic
+atop
+Atreus
+atrocious
+atrocity
+atrophic
+atrophy
+Atropos
+AT&T
+attach
+attache
+attack
+attain
+attainder
+attempt
+attend
+attendant
+attendee
+attention
+attentive
+attenuate
+attest
+attestation
+attic
+Attica
+attire
+attitude
+Attlee
+attorney
+attract
+attribute
+attribution
+attributive
+attrition
+attune
+Atwater
+Atwood
+atypic
+Auberge
+Aubrey
+auburn
+Auckland
+auction
+auctioneer
+audacious
+audacity
+audible
+audience
+audio
+audiotape
+audiovisual
+audit
+audition
+auditor
+auditorium
+auditory
+Audrey
+Audubon
+Auerbach
+Aug
+Augean
+auger
+augite
+augment
+augmentation
+augur
+august
+Augusta
+Augustine
+Augustus
+auk
+aunt
+auntie
+aura
+aural
+Aurelius
+aureomycin
+auric
+Auriga
+aurochs
+aurora
+Auschwitz
+auspice
+auspices
+auspicious
+austenite
+austere
+Austin
+austral
+Australia
+Australis
+australite
+Austria
+authentic
+authenticate
+author
+authoritarian
+authoritative
+autism
+autistic
+auto
+autobiography
+autochthonous
+autoclave
+autocollimate
+autocorrelate
+autocracy
+autocrat
+autocratic
+autograph
+automat
+automata
+automate
+automatic
+automaton
+automobile
+automorphism
+automotive
+autonomic
+autonomous
+autonomy
+autopilot
+autopsy
+autosuggestible
+autotransformer
+autumn
+autumnal
+auxiliary
+auxin
+avail
+avalanche
+avarice
+avaricious
+Ave
+avenge
+Aventine
+avenue
+aver
+average
+Avernus
+averred
+averring
+averse
+aversion
+avert
+Avery
+Avesta
+avian
+aviary
+aviate
+aviatrix
+avid
+Avignon
+avionic
+Avis
+Aviv
+avocado
+avocate
+avocet
+Avogadro
+avoid
+avoidance
+Avon
+avow
+avowal
+await
+awake
+awaken
+award
+aware
+awash
+away
+awe
+awesome
+awful
+awhile
+awkward
+awl
+awn
+awoke
+awry
+ax
+axe
+axial
+axiology
+axiom
+axiomatic
+axis
+axisymmetric
+axle
+axolotl
+axon
+aye
+Ayers
+Aylesbury
+AZ
+azalea
+Azerbaijan
+azimuth
+azimuthal
+Azores
+Aztec
+Aztecan
+azure
+b
+babbitt
+babble
+Babcock
+babe
+Babel
+baboon
+baby
+Babylon
+babysat
+babysit
+babysitting
+baccalaureate
+baccarat
+bacchanalian
+Bacchus
+Bach
+bachelor
+bacilli
+bacillus
+back
+backboard
+backbone
+backdrop
+backfill
+backgammon
+background
+backhand
+backlash
+backlog
+backorder
+backpack
+backpedal
+backplane
+backplate
+backscatter
+backside
+backslash
+backslide
+backspace
+backstage
+backstitch
+backstop
+backtrack
+backup
+backward
+backwash
+backwater
+backwood
+backyard
+bacon
+bacteria
+bacterial
+bacterium
+bad
+bade
+Baden
+badge
+badinage
+badland
+badminton
+Baffin
+baffle
+bag
+bagatelle
+baggage
+bagging
+baggy
+Baghdad
+Bagley
+bagpipe
+bah
+Bahama
+Bahrein
+bail
+Bailey
+bailiff
+bainite
+Baird
+bait
+Baja
+bake
+Bakelite
+Bakersfield
+bakery
+Bakhtiari
+baklava
+Baku
+balance
+Balboa
+balcony
+bald
+baldpate
+Baldwin
+baldy
+bale
+baleen
+baleful
+Balfour
+Bali
+Balinese
+balk
+Balkan
+balky
+ball
+ballad
+Ballard
+ballast
+ballerina
+ballet
+balletomane
+ballfield
+balloon
+ballot
+ballroom
+ballyhoo
+balm
+balmy
+balsa
+balsam
+Baltic
+Baltimore
+Baltimorean
+balustrade
+Balzac
+bam
+Bamako
+Bamberger
+Bambi
+bamboo
+ban
+Banach
+banal
+banana
+Banbury
+band
+bandage
+bandgap
+bandit
+bandpass
+bandstand
+bandstop
+bandwagon
+bandwidth
+bandy
+bane
+baneberry
+baneful
+bang
+bangkok
+Bangladesh
+bangle
+Bangor
+Bangui
+banish
+banister
+banjo
+bank
+bankrupt
+bankruptcy
+bannock
+banquet
+banshee
+bantam
+banter
+Bantu
+Bantus
+baobab
+baptism
+baptismal
+Baptist
+Baptiste
+baptistery
+bar
+barb
+Barbados
+Barbara
+barbarian
+barbaric
+barbarism
+barbarous
+barbecue
+barbell
+barber
+barberry
+barbital
+barbiturate
+Barbour
+barbudo
+Barcelona
+Barclay
+bard
+bare
+bareback
+barefaced
+barefoot
+barfly
+bargain
+barge
+baritone
+barium
+bark
+barkeep
+barley
+Barlow
+barn
+Barnabas
+barnacle
+Barnard
+Barnes
+Barnet
+Barnett
+Barney
+Barnhard
+barnstorm
+Barnum
+barnyard
+barometer
+baron
+baroness
+baronet
+baronial
+barony
+baroque
+Barr
+barrack
+barracuda
+barrage
+barre
+barrel
+barren
+Barrett
+barrette
+barricade
+barrier
+Barrington
+barrow
+Barry
+Barrymore
+Barstow
+bartend
+bartender
+barter
+Barth
+Bartholomew
+Bartlett
+Bartok
+Barton
+barycentric
+baryon
+basal
+basalt
+basaltic
+base
+baseball
+baseband
+baseboard
+Basel
+baseline
+baseman
+basemen
+baseplate
+basepoint
+bash
+bashaw
+bashful
+basic
+basidiomycetes
+basil
+basilar
+basilica
+basilisk
+basin
+basis
+bask
+basket
+basketball
+basketry
+basophilic
+Basque
+bass
+Bassett
+bassi
+bassinet
+basso
+bassoon
+basswood
+bastard
+baste
+bastion
+bat
+Batavia
+batch
+Batchelder
+bate
+bateau
+Bateman
+bater
+bath
+bathe
+bathos
+bathrobe
+bathroom
+bathtub
+Bathurst
+batik
+baton
+Bator
+batt
+battalion
+Battelle
+batten
+battery
+battle
+battlefield
+battlefront
+battleground
+batwing
+bauble
+baud
+Baudelaire
+Bauer
+Bauhaus
+Bausch
+bauxite
+Bavaria
+bawd
+bawdy
+bawl
+Baxter
+bay
+bayberry
+Bayda
+Bayesian
+Baylor
+bayonet
+Bayonne
+bayou
+Bayport
+Bayreuth
+bazaar
+be
+beach
+beachhead
+beacon
+bead
+beadle
+beady
+beagle
+beak
+beam
+bean
+bear
+bearberry
+beard
+Beardsley
+bearish
+beast
+beastie
+beat
+beaten
+beater
+beatific
+beatify
+beatitude
+beatnik
+Beatrice
+beau
+Beaujolais
+Beaumont
+Beauregard
+beauteous
+beautiful
+beautify
+beauty
+beaux
+beaver
+bebop
+becalm
+became
+because
+Bechtel
+beck
+becket
+Beckman
+beckon
+Becky
+become
+bed
+bedazzle
+bedbug
+bedevil
+bedfast
+bedfellow
+Bedford
+bedim
+bedimmed
+bedimming
+bedlam
+bedpost
+bedraggle
+bedridden
+bedrock
+bedroom
+bedside
+bedspread
+bedspring
+bedstraw
+bedtime
+bee
+Beebe
+beebread
+beech
+Beecham
+beechwood
+beef
+beefsteak
+beefy
+beehive
+been
+beep
+beer
+beeswax
+beet
+Beethoven
+beetle
+befall
+befallen
+befell
+befit
+befitting
+befog
+befogging
+before
+beforehand
+befoul
+befriend
+befuddle
+beg
+began
+begat
+beget
+begetting
+beggar
+beggary
+begging
+begin
+beginner
+beginning
+begonia
+begot
+begotten
+begrudge
+beguile
+begun
+behalf
+behave
+behead
+beheld
+behind
+behold
+beige
+Beijing
+being
+Beirut
+bel
+Bela
+belate
+belch
+Belfast
+belfry
+Belgian
+Belgium
+Belgrade
+belie
+belief
+believe
+belittle
+Belize
+bell
+Bella
+belladonna
+Bellamy
+Bellatrix
+bellboy
+belle
+bellflower
+bellhop
+bellicose
+belligerent
+Bellingham
+Bellini
+bellman
+bellmen
+bellow
+bellum
+bellwether
+belly
+bellyache
+bellyaching
+bellyful
+Belmont
+Beloit
+belong
+belove
+below
+Belshazzar
+belt
+Beltsville
+beluga
+belvedere
+BEMA
+bemadden
+beman
+bemoan
+bemuse
+Ben
+Benares
+bench
+benchmark
+bend
+Bendix
+beneath
+Benedict
+Benedictine
+benediction
+Benedikt
+benefactor
+benefice
+beneficent
+beneficial
+beneficiary
+benefit
+Benelux
+benevolent
+Bengal
+Bengali
+benight
+benign
+Benjamin
+Bennett
+Bennington
+Benny
+Benson
+bent
+Bentham
+benthic
+Bentley
+Benton
+Benz
+Benzedrine
+benzene
+Beograd
+Beowulf
+beplaster
+bequeath
+bequest
+berate
+Berea
+bereave
+bereft
+Berenices
+Beresford
+beret
+berg
+bergamot
+Bergen
+Bergland
+Berglund
+Bergman
+Bergson
+Bergstrom
+beribbon
+beriberi
+Berkeley
+berkelium
+Berkowitz
+Berkshire
+Berlin
+Berlioz
+Berlitz
+Berman
+Bermuda
+Bern
+Bernadine
+Bernard
+Bernardino
+Bernardo
+berne
+Bernet
+Bernhard
+Bernice
+Bernie
+Berniece
+Bernini
+Bernoulli
+Bernstein
+Berra
+berry
+berserk
+Bert
+berth
+Bertha
+Bertie
+Bertram
+Bertrand
+Berwick
+beryl
+beryllium
+beseech
+beset
+besetting
+beside
+besiege
+besmirch
+besotted
+bespeak
+bespectacled
+bespoke
+Bess
+Bessel
+Bessemer
+Bessie
+best
+bestial
+bestiary
+bestir
+bestirring
+bestow
+bestowal
+bestseller
+bestselling
+bestubble
+bet
+beta
+betatron
+betel
+Betelgeuse
+beth
+bethel
+Bethesda
+Bethlehem
+bethought
+betide
+betoken
+betony
+betray
+betrayal
+betroth
+betrothal
+Betsey
+Betsy
+Bette
+bettor
+Betty
+between
+betwixt
+bevel
+beverage
+Beverly
+bevy
+bewail
+beware
+bewhisker
+bewilder
+bewitch
+bey
+beyond
+bezel
+Bhagavadgita
+bhoy
+Bhutan
+Bialystok
+bianco
+bias
+biaxial
+bib
+bibb
+Bible
+biblical
+bibliography
+bibliophile
+bicameral
+bicarbonate
+bicep
+bichromate
+bicker
+biconcave
+biconnected
+bicycle
+bid
+bidden
+biddy
+bide
+bidiagonal
+bidirectional
+bien
+biennial
+biennium
+bifocal
+bifurcate
+big
+bigamy
+Bigelow
+Biggs
+bighorn
+bigot
+bigotry
+biharmonic
+bijection
+bijective
+bijouterie
+bike
+bikini
+bilabial
+bilateral
+bilayer
+Bilbao
+bile
+bilge
+bilharziasis
+bilinear
+bilingual
+bilk
+bill
+billboard
+billet
+billfold
+billiard
+Billie
+Billiken
+billion
+billionth
+billow
+billy
+Biltmore
+bimetallic
+bimetallism
+Bimini
+bimodal
+bimolecular
+bimonthly
+bin
+binary
+binaural
+bind
+bindery
+bindle
+bindweed
+bing
+binge
+Bingham
+Binghamton
+bingle
+Bini
+binocular
+binomial
+binuclear
+biochemic
+biography
+biology
+biometry
+biopsy
+biota
+biotic
+biotite
+bipartisan
+bipartite
+bipedal
+biplane
+bipolar
+biracial
+birch
+bird
+birdbath
+birdcage
+birdie
+birdseed
+birdwatch
+birefringent
+Birgit
+Birmingham
+birth
+birthday
+birthplace
+birthrate
+birthright
+biscuit
+bisect
+bisexual
+bishop
+bishopric
+Bismarck
+Bismark
+bismuth
+bison
+bisque
+Bissau
+bistable
+bistate
+bit
+bitch
+bite
+bitnet
+bitt
+bitten
+bittern
+bitternut
+bitterroot
+bittersweet
+bitumen
+bituminous
+bitwise
+bivalve
+bivariate
+bivouac
+biz
+bizarre
+Bizet
+blab
+black
+blackball
+blackberry
+blackbird
+blackboard
+blackbody
+Blackburn
+blacken
+Blackfeet
+Blackfoot
+blackguard
+blackjack
+blackmail
+Blackman
+blackout
+blacksmith
+Blackstone
+blacktop
+Blackwell
+bladder
+bladdernut
+bladderwort
+blade
+Blaine
+Blair
+Blake
+blame
+blameworthy
+blanc
+blanch
+Blanchard
+Blanche
+bland
+blandish
+blank
+blanket
+blare
+blaspheme
+blasphemous
+blasphemy
+blast
+blastula
+blat
+blatant
+blather
+Blatz
+blaze
+blazon
+bleach
+bleak
+bleary
+bleat
+bled
+bleed
+Bleeker
+blemish
+blend
+Blenheim
+bless
+blest
+blew
+blight
+blimp
+blind
+blindfold
+blink
+Blinn
+blip
+bliss
+blissful
+blister
+blithe
+blitz
+blitzkrieg
+blizzard
+bloat
+blob
+bloc
+Bloch
+block
+blockade
+blockage
+blockhouse
+blocky
+bloke
+Blomberg
+Blomquist
+blond
+blonde
+blood
+bloodbath
+bloodhound
+bloodletting
+bloodline
+bloodroot
+bloodshed
+bloodshot
+bloodstain
+bloodstone
+bloodstream
+bloody
+bloom
+Bloomfield
+Bloomington
+bloop
+blossom
+blot
+blotch
+blouse
+blow
+blowfish
+blown
+blowup
+blubber
+bludgeon
+blue
+blueback
+blueberry
+bluebill
+bluebird
+bluebonnet
+bluebook
+bluebush
+bluefish
+bluegill
+bluegrass
+bluejacket
+blueprint
+bluestocking
+bluet
+bluff
+bluish
+Blum
+Blumenthal
+blunder
+blunderbuss
+blunt
+blur
+blurb
+blurry
+blurt
+blush
+bluster
+blustery
+blutwurst
+Blvd
+Blythe
+BMW
+boa
+boar
+board
+boardinghouse
+boast
+boastful
+boat
+boathouse
+boatload
+boatman
+boatmen
+boatswain
+boatyard
+bob
+Bobbie
+bobbin
+bobble
+bobby
+bobcat
+bobolink
+Boca
+bock
+bode
+bodhisattva
+bodice
+Bodleian
+body
+bodybuilder
+bodybuilding
+bodyguard
+Boeing
+Boeotia
+bog
+bogey
+bogeyman
+bogeymen
+bogging
+boggle
+boggy
+Bogota
+bogus
+bogy
+Bohemia
+Bohr
+boil
+Bois
+Boise
+boisterous
+bold
+boldface
+bole
+boletus
+bolivar
+Bolivia
+bolo
+Bologna
+bolometer
+Bolshevik
+Bolshevism
+Bolshevist
+Bolshoi
+bolster
+bolt
+Bolton
+Boltzmann
+bomb
+bombard
+bombast
+bombastic
+Bombay
+bombproof
+bon
+bona
+bonanza
+Bonaparte
+Bonaventure
+bond
+bondage
+bondsman
+bondsmen
+bone
+bonfire
+bong
+bongo
+Boniface
+bonito
+Bonn
+bonnet
+Bonneville
+Bonnie
+bonus
+bony
+bonze
+boo
+booby
+boogie
+book
+bookbind
+bookcase
+bookend
+bookie
+bookish
+bookkeep
+booklet
+bookmark
+bookplate
+bookseller
+bookshelf
+bookshelves
+bookstore
+bookworm
+booky
+boolean
+boom
+boomerang
+boon
+Boone
+boor
+boorish
+boost
+boot
+Bootes
+booth
+bootleg
+bootlegger
+bootlegging
+bootstrap
+bootstrapping
+booty
+booze
+bop
+borate
+borax
+Bordeaux
+bordello
+Borden
+border
+borderland
+borderline
+bore
+boreal
+Borealis
+Boreas
+boredom
+Borg
+boric
+Boris
+born
+borne
+Borneo
+boron
+borosilicate
+borough
+Borroughs
+borrow
+Bosch
+Bose
+bosom
+boson
+bosonic
+Bosporus
+boss
+bossy
+Boston
+Boswell
+botanic
+botanist
+botany
+botch
+botfly
+both
+bothersome
+Botswana
+bottle
+bottlecap
+bottleneck
+bottom
+bottommost
+botulin
+botulism
+Boucher
+bouffant
+bough
+bought
+bouillabaisse
+bouillon
+boulder
+boulevard
+bounce
+bouncy
+bound
+boundary
+bountiful
+bounty
+bouquet
+Bourbaki
+bourbon
+bourgeois
+bourgeoisie
+bourn
+boustrophedon
+bout
+boutique
+bovine
+bow
+Bowditch
+Bowdoin
+bowel
+Bowen
+bowerbird
+bowfin
+bowie
+bowl
+bowline
+bowman
+bowmen
+bowstring
+box
+boxcar
+boxwood
+boxy
+boy
+boyar
+Boyce
+boycott
+Boyd
+boyish
+Boyle
+Boylston
+BP
+brace
+bracelet
+bracken
+bracket
+brackish
+bract
+brad
+Bradbury
+Bradford
+Bradley
+Bradshaw
+Brady
+brae
+brag
+Bragg
+bragging
+Brahmaputra
+Brahms
+Brahmsian
+braid
+Braille
+brain
+Brainard
+brainchild
+brainstorm
+brainwash
+brainy
+brake
+brakeman
+brakemen
+bramble
+bran
+branch
+brand
+Brandeis
+Brandenburg
+brandish
+Brandon
+Brandt
+brandy
+brandywine
+Braniff
+brant
+brash
+Brasilia
+brass
+brassiere
+brassy
+bratwurst
+Braun
+bravado
+brave
+bravery
+bravo
+bravura
+brawl
+bray
+brazen
+brazier
+Brazil
+Brazilian
+Brazzaville
+breach
+bread
+breadboard
+breadfruit
+breadroot
+breadth
+break
+breakage
+breakaway
+breakdown
+breakfast
+breakneck
+breakoff
+breakpoint
+breakthrough
+breakup
+breakwater
+bream
+breast
+breastplate
+breastwork
+breath
+breathe
+breathtaking
+breathy
+breccia
+bred
+breech
+breed
+breeze
+breezy
+Bremen
+bremsstrahlung
+Brenda
+Brendan
+Brennan
+Brenner
+Brent
+Brest
+brethren
+Breton
+Brett
+breve
+brevet
+brevity
+brew
+brewery
+Brewster
+Brian
+briar
+bribe
+bribery
+Brice
+brick
+brickbat
+bricklayer
+bricklaying
+bridal
+bride
+bridegroom
+bridesmaid
+bridge
+bridgeable
+bridgehead
+Bridgeport
+Bridget
+Bridgetown
+Bridgewater
+bridgework
+bridle
+Brie
+brief
+briefcase
+brig
+brigade
+brigadier
+brigand
+brigantine
+Briggs
+Brigham
+bright
+brighten
+Brighton
+brilliant
+Brillouin
+brim
+brimful
+brimstone
+Brindisi
+brindle
+brine
+bring
+brink
+brinkmanship
+briny
+Brisbane
+brisk
+bristle
+bristlecone
+bristly
+Bristol
+Britain
+Britannic
+Britannica
+britches
+British
+Briton
+Brittany
+Britten
+brittle
+broach
+broad
+broadcast
+broaden
+broadloom
+broadminded
+broadside
+Broadway
+brocade
+broccoli
+brochure
+Brock
+brockle
+Broglie
+broil
+broke
+broken
+brokerage
+Bromfield
+bromide
+bromine
+Bromley
+bronchi
+bronchial
+bronchiolar
+bronchiole
+bronchitis
+bronchus
+bronco
+Brontosaurus
+Bronx
+bronze
+bronzy
+brood
+broody
+brook
+Brooke
+Brookhaven
+Brookline
+Brooklyn
+brookside
+broom
+broomcorn
+broth
+brothel
+brother
+brought
+brouhaha
+brow
+browbeaten
+brown
+Browne
+Brownell
+Brownian
+brownie
+brownish
+browse
+Bruce
+brucellosis
+Bruckner
+Bruegel
+bruise
+bruit
+Brumidi
+brunch
+brunette
+Brunhilde
+Bruno
+Brunswick
+brunt
+brush
+brushfire
+brushstroke
+brushwork
+brushy
+brusque
+Brussels
+brutal
+brute
+Bryan
+Bryant
+Bryce
+Bryn
+bryophyta
+bryophyte
+bryozoa
+b's
+BSTJ
+BTL
+bub
+bubble
+bubonic
+buccaneer
+Buchanan
+Bucharest
+Buchenwald
+Buchwald
+buck
+buckaroo
+buckboard
+bucket
+bucketful
+buckeye
+buckhorn
+buckle
+Buckley
+Bucknell
+buckshot
+buckskin
+buckthorn
+buckwheat
+bucolic
+bud
+Budapest
+Budd
+Buddha
+Buddhism
+Buddhist
+buddy
+budge
+budget
+budgetary
+Budweiser
+Buena
+Buenos
+buff
+buffalo
+buffet
+bufflehead
+buffoon
+bug
+bugaboo
+bugeyed
+bugging
+buggy
+bugle
+Buick
+build
+buildup
+built
+builtin
+Bujumbura
+bulb
+bulblet
+bulbous
+Bulgaria
+bulge
+bulk
+bulkhead
+bulky
+bull
+bulldog
+bulldoze
+bullet
+bulletin
+bullfinch
+bullfrog
+bullhead
+bullhide
+bullish
+bullock
+bullrush
+bullseye
+bullwhack
+bully
+bullyboy
+bulrush
+bulwark
+bum
+bumble
+bumblebee
+bump
+bumpkin
+bumptious
+bumpy
+bun
+bunch
+Bundestag
+bundle
+Bundoora
+bundy
+bungalow
+bungle
+bunk
+bunkmate
+bunny
+Bunsen
+bunt
+Bunyan
+buoy
+buoyant
+burbank
+Burch
+burden
+burdensome
+burdock
+bureau
+bureaucracy
+bureaucrat
+bureaucratic
+buret
+burette
+burg
+burgeon
+burgess
+burgher
+burglar
+burglarproof
+burglary
+Burgundian
+Burgundy
+burial
+Burke
+burl
+burlap
+burlesque
+burley
+Burlington
+burly
+Burma
+Burmese
+burn
+Burnett
+Burnham
+burnish
+burnout
+Burnside
+burnt
+burp
+Burr
+burro
+Burroughs
+burrow
+bursitis
+burst
+bursty
+Burt
+Burton
+Burtt
+Burundi
+bury
+bus
+busboy
+Busch
+bush
+bushel
+bushland
+bushmaster
+Bushnell
+bushwhack
+bushy
+business
+businessman
+businessmen
+businesswoman
+businesswomen
+busload
+buss
+bust
+bustard
+bustle
+busy
+busywork
+but
+butadiene
+butane
+butch
+butchery
+butene
+buteo
+butler
+butt
+butte
+butterball
+buttercup
+butterfat
+Butterfield
+butterfly
+buttermilk
+butternut
+butterscotch
+buttery
+buttock
+button
+buttonhole
+buttonweed
+buttress
+Buttrick
+butyl
+butyrate
+butyric
+buxom
+Buxtehude
+Buxton
+buy
+buzz
+buzzard
+buzzing
+buzzword
+buzzy
+by
+bye
+bygone
+bylaw
+byline
+bypass
+bypath
+byproduct
+Byrd
+Byrne
+byroad
+Byron
+Byronic
+bystander
+byte
+byway
+byword
+Byzantine
+Byzantium
+c
+CA
+cab
+cabal
+cabana
+cabaret
+cabbage
+cabdriver
+cabin
+cabinet
+cabinetmake
+cabinetry
+cable
+Cabot
+cacao
+cachalot
+cache
+caching
+cackle
+CACM
+cacophonist
+cacophonous
+cacophony
+cacti
+cactus
+cadaver
+cadaverous
+caddis
+caddy
+cadent
+cadenza
+cadet
+Cadillac
+cadmium
+cadre
+Cady
+Caesar
+Caesarian
+cafe
+cafeteria
+cage
+cagey
+Cahill
+cahoot
+caiman
+Cain
+Caine
+cairn
+Cairo
+cajole
+Cajun
+cake
+Cal
+calabash
+Calais
+calamitous
+calamity
+calamus
+calcareous
+calcify
+calcite
+calcium
+calculable
+calculate
+calculi
+calculus
+Calcutta
+Calder
+caldera
+Caldwell
+Caleb
+calendar
+calendrical
+calf
+calfskin
+Calgary
+Calhoun
+caliber
+calibrate
+calibre
+calico
+California
+californium
+caliper
+caliph
+caliphate
+calisthenic
+Calkins
+call
+calla
+Callaghan
+Callahan
+calligraph
+calligraphy
+calliope
+Callisto
+callosity
+callous
+callus
+calm
+caloric
+calorie
+calorimeter
+Calumet
+calumniate
+calumny
+Calvary
+calve
+Calvert
+Calvin
+calypso
+calyx
+cam
+camaraderie
+camber
+Cambodia
+Cambrian
+cambric
+Cambridge
+Camden
+came
+camel
+camelback
+camellia
+camelopard
+Camelot
+Camembert
+cameo
+camera
+cameraman
+cameramen
+Cameron
+Cameroon
+Cameroun
+camilla
+Camille
+Camino
+camouflage
+camp
+campaign
+campanile
+Campbell
+campfire
+campground
+campion
+campsite
+campus
+can
+Canaan
+Canada
+Canadian
+canal
+canary
+Canaveral
+Canberra
+cancel
+cancellate
+cancelled
+cancelling
+cancer
+cancerous
+candela
+candelabra
+candid
+candidacy
+candidate
+Candide
+candle
+candlelight
+candlestick
+candlewick
+candy
+cane
+Canfield
+canine
+Canis
+canister
+canker
+cankerworm
+canna
+cannabis
+cannel
+cannery
+cannibal
+cannister
+cannon
+cannonball
+cannot
+canny
+canoe
+canoeist
+Canoga
+canon
+canonic
+Canopus
+canopy
+can't
+cant
+Cantabrigian
+cantaloupe
+canteen
+Canterbury
+canterelle
+canticle
+cantilever
+cantle
+canto
+canton
+Cantonese
+cantor
+canvas
+canvasback
+canvass
+canyon
+cap
+capacious
+capacitance
+capacitate
+capacitive
+capacitor
+capacity
+cape
+capella
+caper
+Capetown
+capillary
+Capistrano
+capita
+capital
+capitol
+Capitoline
+capitulate
+capo
+caprice
+capricious
+Capricorn
+capsize
+capstan
+capstone
+capsule
+captain
+captaincy
+caption
+captious
+captivate
+captive
+captor
+capture
+capuchin
+Caputo
+capybara
+car
+carabao
+Caracas
+caramel
+carapace
+caravan
+caraway
+carbide
+carbine
+carbohydrate
+Carboloy
+carbon
+carbonaceous
+carbonate
+Carbondale
+Carbone
+carbonic
+Carboniferous
+carbonium
+carbonyl
+carborundum
+carboxy
+carboxylic
+carboy
+carbuncle
+carcass
+carcinogen
+carcinogenic
+carcinoma
+card
+cardamom
+cardboard
+cardiac
+Cardiff
+cardigan
+cardinal
+cardioid
+cardiology
+cardiovascular
+care
+careen
+career
+carefree
+careful
+caress
+caret
+caretaker
+careworn
+Carey
+Cargill
+cargo
+cargoes
+Carib
+Caribbean
+caribou
+caricature
+Carl
+Carla
+Carleton
+Carlin
+Carlisle
+Carlo
+carload
+Carlsbad
+Carlson
+Carlton
+Carlyle
+Carmela
+Carmen
+Carmichael
+carmine
+carnage
+carnal
+carnation
+carne
+Carnegie
+carney
+carnival
+carob
+carol
+Carolina
+Caroline
+Carolingian
+Carolinian
+Carolyn
+carouse
+carousel
+carp
+carpal
+Carpathia
+carpenter
+carpentry
+carpet
+carpetbag
+carpetbagger
+carpetbagging
+carport
+Carr
+carrageen
+Carrara
+carrel
+carriage
+Carrie
+carrion
+Carroll
+carrot
+Carruthers
+carry
+carryover
+Carson
+cart
+carte
+cartel
+Cartesian
+Carthage
+cartilage
+cartilaginous
+cartographer
+cartography
+carton
+cartoon
+cartridge
+cartwheel
+Caruso
+carve
+carven
+Casanova
+casbah
+cascade
+cascara
+case
+casebook
+casein
+casework
+Casey
+cash
+cashew
+cashier
+cashmere
+casino
+cask
+casket
+Cassandra
+cassava
+casserole
+cassette
+Cassiopeia
+Cassius
+cassock
+cast
+castanet
+caste
+casteth
+castigate
+Castillo
+castle
+castor
+castrate
+Castro
+casual
+casualty
+cat
+cataclysmic
+cataleptic
+Catalina
+catalogue
+Catalonia
+catalpa
+catalysis
+catalyst
+catalytic
+catapult
+cataract
+catastrophe
+catastrophic
+catatonia
+catatonic
+catawba
+catbird
+catch
+catchup
+catchword
+catchy
+catechism
+categoric
+category
+catenate
+cater
+caterpillar
+catfish
+catharsis
+cathedral
+Catherine
+Catherwood
+catheter
+cathode
+cathodic
+catholic
+Cathy
+cation
+cationic
+catkin
+catnip
+Catskill
+catsup
+cattail
+cattle
+cattleman
+cattlemen
+catwalk
+Caucasian
+Caucasus
+Cauchy
+caucus
+caudal
+caught
+cauliflower
+caulk
+causal
+causate
+cause
+caustic
+caution
+cautionary
+cautious
+cavalcade
+cavalier
+cavalry
+cave
+caveat
+caveman
+cavemen
+Cavendish
+cavern
+cavernous
+caviar
+cavil
+cavilling
+Caviness
+cavort
+caw
+cayenne
+Cayley
+Cayuga
+CBS
+CDC
+cease
+ceasefire
+Cecil
+Cecilia
+Cecropia
+cedar
+cede
+cedilla
+Cedric
+ceil
+celandine
+Celanese
+Celebes
+celebrant
+celebrate
+celebratory
+celebrity
+celerity
+celery
+celesta
+celestial
+Celia
+cell
+cellar
+cellophane
+cellular
+celluloid
+cellulose
+Celsius
+Celt
+Celtic
+cement
+cemetery
+Cenozoic
+censor
+censorial
+censure
+census
+cent
+centaur
+centenary
+centennial
+centerline
+centerpiece
+centigrade
+centipede
+central
+centrex
+centric
+centrifugal
+centrifugate
+centrifuge
+centripetal
+centrist
+centroid
+centum
+century
+Cepheus
+ceramic
+ceramium
+Cerberus
+cereal
+cerebellum
+cerebral
+cerebrate
+ceremonial
+ceremonious
+ceremony
+Ceres
+cereus
+cerise
+cerium
+CERN
+certain
+certainty
+certificate
+certify
+certiorari
+certitude
+cerulean
+Cervantes
+cervix
+Cesare
+cesium
+cessation
+cession
+Cessna
+cetacean
+cetera
+Cetus
+Ceylon
+Cezanne
+cf
+Chablis
+Chad
+Chadwick
+chafe
+chaff
+chagrin
+chain
+chair
+chairlady
+chairman
+chairmen
+chairperson
+chairwoman
+chairwomen
+chaise
+chalcedony
+chalcocite
+chalice
+chalk
+chalkline
+chalky
+challenge
+Chalmers
+chamber
+chamberlain
+chambermaid
+chameleon
+chamfer
+chamois
+chamomile
+champ
+champagne
+Champaign
+champion
+Champlain
+chance
+chancel
+chancellor
+chancery
+chancy
+chandelier
+Chandigarh
+chandler
+Chang
+change
+changeable
+changeover
+channel
+chanson
+chant
+chantey
+Chantilly
+chantry
+Chao
+chaos
+chaotic
+chap
+chaparral
+chapati
+chapel
+chaperon
+chaperone
+chaplain
+Chaplin
+Chapman
+chapter
+char
+character
+characteristic
+charcoal
+charcuterie
+chard
+charge
+chargeable
+chariot
+charisma
+charismatic
+charitable
+charity
+Charlemagne
+Charles
+Charleston
+Charley
+Charlie
+Charlotte
+Charlottesville
+charm
+Charon
+chart
+Charta
+Chartres
+chartreuse
+chartroom
+Charybdis
+chase
+chasm
+chassis
+chaste
+chastise
+chastity
+chat
+chateau
+chateaux
+Chatham
+Chattanooga
+chattel
+chatty
+Chaucer
+chauffeur
+Chauncey
+Chautauqua
+chauvinism
+chauvinist
+chaw
+cheap
+cheat
+cheater
+check
+checkbook
+checkerberry
+checkerboard
+checklist
+checkout
+checkpoint
+checksum
+checksummed
+checksumming
+checkup
+Cheddar
+cheek
+cheekbone
+cheeky
+cheer
+cheerful
+cheerleader
+cheery
+cheese
+cheesecake
+cheesecloth
+cheesemaking
+cheesy
+cheetah
+chef
+chelate
+Chelsea
+chemic
+chemise
+chemisorb
+chemisorption
+chemist
+chemistry
+chemotherapy
+Chen
+Cheney
+chenille
+cherish
+Cherokee
+cherry
+chert
+cherub
+cherubim
+Cheryl
+Chesapeake
+Cheshire
+chess
+chest
+Chester
+Chesterton
+chestnut
+chevalier
+Chevrolet
+chevron
+chevy
+chew
+chewy
+Cheyenne
+chi
+Chiang
+chianti
+chic
+Chicago
+Chicagoan
+chicanery
+Chicano
+chick
+chickadee
+chicken
+chickpea
+chickweed
+chicory
+chide
+chief
+chiefdom
+chieftain
+chiffon
+chigger
+chignon
+chilblain
+child
+childbearing
+childbirth
+childish
+childrearing
+children
+Chile
+chili
+chill
+chilly
+chime
+chimera
+chimeric
+Chimique
+chimney
+chimpanzee
+chin
+china
+Chinaman
+Chinamen
+Chinatown
+chinch
+chinchilla
+chine
+Chinese
+chink
+Chinook
+chinquapin
+chintz
+chintzy
+chip
+chipboard
+chipmunk
+Chippendale
+chiropractor
+chirp
+chisel
+Chisholm
+chit
+chitin
+chitinous
+chiton
+chivalrous
+chivalry
+chive
+Chloe
+chlorate
+chlordane
+chloride
+chlorine
+chloroform
+chlorophyll
+chloroplast
+chloroplatinate
+chock
+chocolate
+Choctaw
+choice
+choir
+choirmaster
+choke
+chokeberry
+cholera
+cholesterol
+choline
+cholinesterase
+chomp
+Chomsky
+chondrite
+choose
+choosy
+chop
+Chopin
+choppy
+chopstick
+choral
+chorale
+chord
+chordal
+chordata
+chordate
+chore
+choreograph
+choreography
+chorine
+chortle
+chorus
+choryza
+chose
+chosen
+Chou
+chow
+chowder
+Chris
+Christ
+christen
+Christendom
+Christensen
+Christenson
+Christian
+Christiana
+Christianson
+Christie
+Christina
+Christine
+Christmas
+Christoffel
+Christoph
+Christopher
+Christy
+chromate
+chromatic
+chromatin
+chromatogram
+chromatograph
+chromatography
+chrome
+chromic
+chromium
+chromosomal
+chromosome
+chromosphere
+chronic
+chronicle
+chronograph
+chronography
+chronology
+chrysalis
+chrysanthemum
+Chrysler
+chrysolite
+chub
+chubby
+chuck
+chuckle
+chuckwalla
+chuff
+chug
+chugging
+chum
+chummy
+chump
+Chungking
+chunk
+chunky
+church
+churchgoer
+churchgoing
+Churchill
+Churchillian
+churchman
+churchmen
+churchwoman
+churchwomen
+churchyard
+churn
+chute
+chutney
+CIA
+cicada
+Cicero
+Ciceronian
+cider
+cigar
+cigarette
+cilia
+ciliate
+cinch
+Cincinnati
+cinder
+Cinderella
+Cindy
+cinema
+cinematic
+Cinerama
+cinnabar
+cinnamon
+cinquefoil
+cipher
+circa
+circadian
+Circe
+circle
+circlet
+circuit
+circuitous
+circuitry
+circulant
+circular
+circulate
+circulatory
+circumcircle
+circumcise
+circumcision
+circumference
+circumferential
+circumflex
+circumlocution
+circumpolar
+circumscribe
+circumscription
+circumspect
+circumsphere
+circumstance
+circumstantial
+circumvent
+circumvention
+circus
+cistern
+cit
+citadel
+citation
+cite
+citizen
+citizenry
+citrate
+citric
+Citroen
+citron
+citrus
+city
+cityscape
+citywide
+civet
+civic
+civil
+civilian
+clad
+cladophora
+claim
+claimant
+Claire
+clairvoyant
+clam
+clamber
+clammy
+clamp
+clamshell
+clan
+clandestine
+clang
+clank
+clannish
+clap
+clapboard
+Clapeyron
+Clara
+Clare
+Claremont
+Clarence
+Clarendon
+claret
+clarify
+clarinet
+clarity
+Clark
+Clarke
+clash
+clasp
+class
+classic
+classificatory
+classify
+classmate
+classroom
+classy
+clatter
+clattery
+Claude
+Claudia
+Claudio
+Claus
+clause
+Clausen
+Clausius
+claustrophobia
+claustrophobic
+clavicle
+claw
+clay
+Clayton
+clean
+cleanse
+cleanup
+clear
+clearance
+clearheaded
+Clearwater
+cleat
+cleavage
+cleave
+clef
+cleft
+Clemens
+clement
+Clemson
+clench
+clergy
+clergyman
+clergymen
+cleric
+clerk
+Cleveland
+clever
+cliche
+click
+client
+clientele
+cliff
+cliffhang
+Clifford
+Clifton
+climactic
+climate
+climatic
+climatology
+climax
+climb
+clime
+clinch
+cling
+clinic
+clinician
+clink
+Clint
+Clinton
+Clio
+clip
+clipboard
+clique
+clitoris
+Clive
+cloaca
+cloacal
+cloak
+cloakroom
+clobber
+clock
+clockwatcher
+clockwise
+clockwork
+clod
+cloddish
+clog
+clogging
+cloister
+clomp
+clone
+clonic
+close
+closet
+closeup
+closure
+clot
+cloth
+clothbound
+clothe
+clothesbrush
+clotheshorse
+clothesline
+clothesman
+clothesmen
+clothier
+Clotho
+cloture
+cloud
+cloudburst
+cloudy
+clout
+clove
+clown
+clownish
+cloy
+club
+clubhouse
+clubroom
+cluck
+clue
+Cluj
+clump
+clumsy
+clung
+cluster
+clutch
+clutter
+Clyde
+Clytemnestra
+CO
+co
+coach
+coachman
+coachmen
+coachwork
+coadjutor
+coagulable
+coagulate
+coal
+coalesce
+coalescent
+coalition
+coarse
+coarsen
+coast
+coastal
+coastline
+coat
+Coates
+coattail
+coauthor
+coax
+coaxial
+cob
+cobalt
+Cobb
+cobble
+cobblestone
+Cobol
+cobra
+cobweb
+coca
+cocaine
+coccidiosis
+cochineal
+cochlea
+Cochran
+Cochrane
+cock
+cockatoo
+cockcrow
+cockeye
+cockfight
+cockle
+cocklebur
+cockleshell
+cockpit
+cockroach
+cocksure
+cocktail
+cocky
+coco
+cocoa
+coconut
+cocoon
+cod
+coda
+Coddington
+coddle
+code
+codebreak
+codeposit
+codetermine
+codeword
+codex
+codfish
+codicil
+codify
+codomain
+codon
+codpiece
+Cody
+coed
+coeditor
+coeducation
+coefficient
+coequal
+coerce
+coercible
+coercion
+coercive
+coevolution
+coexist
+coexistent
+coextensive
+cofactor
+coffee
+coffeecup
+coffeepot
+coffer
+Coffey
+coffin
+Coffman
+cog
+cogent
+cogitate
+cognac
+cognate
+cognition
+cognitive
+cognoscenti
+Cohen
+cohere
+coherent
+cohesion
+cohesive
+Cohn
+cohomology
+cohort
+cohosh
+coiffure
+coil
+coin
+coinage
+coincide
+coincident
+coincidental
+coke
+col
+cola
+colander
+colatitude
+Colby
+cold
+coldhearted
+Cole
+Coleman
+Coleridge
+Colette
+coleus
+Colgate
+colic
+colicky
+coliform
+coliseum
+collaborate
+collage
+collagen
+collapse
+collapsible
+collar
+collarbone
+collard
+collate
+collateral
+colleague
+collect
+collectible
+collector
+college
+collegian
+collegiate
+collet
+collide
+collie
+Collier
+collimate
+collinear
+Collins
+collision
+collocate
+colloidal
+Colloq
+colloquia
+colloquial
+colloquium
+colloquy
+collude
+collusion
+cologne
+Colombia
+Colombo
+colon
+colonel
+colonial
+colonist
+colonnade
+colony
+Colorado
+colorate
+coloratura
+colorimeter
+colossal
+Colosseum
+colossi
+colossus
+colt
+coltish
+coltsfoot
+Columbia
+columbine
+Columbus
+column
+columnar
+colza
+coma
+Comanche
+comatose
+comb
+combat
+combatant
+combatted
+combinate
+combinatorial
+combinatoric
+combine
+combustible
+combustion
+come
+comeback
+comedian
+comedy
+comestible
+comet
+cometary
+cometh
+comfort
+comic
+Cominform
+comma
+command
+commandant
+commandeer
+commando
+commemorate
+commend
+commendation
+commendatory
+commensal
+commensurable
+commensurate
+comment
+commentary
+commentator
+commerce
+commercial
+commingle
+commiserate
+commissariat
+commissary
+commission
+commit
+committable
+committal
+committed
+committee
+committeeman
+committeemen
+committeewoman
+committeewomen
+committing
+commodious
+commodity
+commodore
+common
+commonality
+commonplace
+commonweal
+commonwealth
+commotion
+communal
+commune
+communicable
+communicant
+communicate
+communion
+communique
+commutate
+commute
+compact
+compactify
+Compagnie
+companion
+companionway
+company
+comparative
+comparator
+compare
+comparison
+compartment
+compass
+compassion
+compassionate
+compatible
+compatriot
+compel
+compellable
+compelled
+compelling
+compendia
+compendium
+compensable
+compensate
+compensatory
+compete
+competent
+competition
+competitive
+competitor
+compilation
+compile
+complacent
+complain
+complainant
+complaint
+complaisant
+complement
+complementarity
+complementary
+complementation
+complete
+completion
+complex
+complexion
+compliant
+complicate
+complicity
+compliment
+complimentary
+compline
+comply
+component
+componentry
+comport
+compose
+composite
+composition
+compositor
+compost
+composure
+compote
+compound
+comprehend
+comprehensible
+comprehension
+comprehensive
+compress
+compressible
+compression
+compressive
+compressor
+comprise
+compromise
+Compton
+comptroller
+compulsion
+compulsive
+compulsory
+compunction
+computation
+compute
+comrade
+con
+Conakry
+Conant
+concatenate
+concave
+conceal
+concede
+conceit
+conceive
+concentrate
+concentric
+concept
+conception
+conceptual
+concern
+concert
+concerti
+concertina
+concertmaster
+concerto
+concession
+concessionaire
+conch
+concierge
+conciliate
+conciliatory
+concise
+concision
+conclave
+conclude
+conclusion
+conclusive
+concoct
+concomitant
+concord
+concordant
+concourse
+concrete
+concretion
+concubine
+concur
+concurred
+concurrent
+concurring
+concussion
+condemn
+condemnate
+condemnatory
+condensate
+condense
+condensible
+condescend
+condescension
+condiment
+condition
+condolence
+condominium
+condone
+conduce
+conducive
+conduct
+conductance
+conductor
+conduit
+cone
+coneflower
+Conestoga
+coney
+confabulate
+confect
+confectionery
+confederacy
+confederate
+confer
+conferee
+conference
+conferrable
+conferred
+conferring
+confess
+confession
+confessor
+confidant
+confidante
+confide
+confident
+confidential
+configuration
+configure
+confine
+confirm
+confirmation
+confirmatory
+confiscable
+confiscate
+confiscatory
+conflagrate
+conflict
+confluent
+confocal
+conform
+conformal
+conformance
+conformation
+confound
+confrere
+confront
+confrontation
+Confucian
+Confucius
+confuse
+confusion
+confute
+congeal
+congener
+congenial
+congenital
+congest
+congestion
+congestive
+conglomerate
+Congo
+Congolese
+congratulate
+congratulatory
+congregate
+congress
+congressional
+congressman
+congressmen
+congresswoman
+congresswomen
+congruent
+conic
+conifer
+coniferous
+conjectural
+conjecture
+conjoin
+conjoint
+conjugacy
+conjugal
+conjugate
+conjunct
+conjuncture
+conjure
+Conklin
+Conley
+conn
+Connally
+connect
+Connecticut
+connector
+Conner
+Connie
+connivance
+connive
+connoisseur
+Connors
+connotation
+connotative
+connote
+connubial
+conquer
+conqueror
+conquest
+conquistador
+Conrad
+Conrail
+consanguine
+consanguineous
+conscience
+conscientious
+conscionable
+conscious
+conscript
+conscription
+consecrate
+consecutive
+consensus
+consent
+consequent
+consequential
+conservation
+conservatism
+conservative
+conservator
+conservatory
+conserve
+consider
+considerate
+consign
+consignee
+consignor
+consist
+consistent
+consolation
+console
+consolidate
+consonant
+consonantal
+consort
+consortium
+conspecific
+conspicuous
+conspiracy
+conspirator
+conspiratorial
+conspire
+constant
+Constantine
+Constantinople
+constellate
+consternate
+constipate
+constituent
+constitute
+constitution
+constitutive
+constrain
+constraint
+constrict
+constrictor
+construal
+construct
+constructible
+constructor
+construe
+consul
+consular
+consulate
+consult
+consultant
+consultation
+consultative
+consume
+consummate
+consumption
+consumptive
+contact
+contagion
+contagious
+contain
+contaminant
+contaminate
+contemplate
+contemporaneous
+contemporary
+contempt
+contemptible
+contemptuous
+contend
+content
+contention
+contentious
+contest
+contestant
+context
+contextual
+contiguity
+contiguous
+continent
+continental
+contingent
+continua
+continual
+continuant
+continuation
+continue
+continuity
+continuo
+continuous
+continuum
+contort
+contour
+contraband
+contrabass
+contraception
+contraceptive
+contract
+contractor
+contractual
+contradict
+contradictory
+contradistinct
+contradistinguish
+contraindicate
+contralateral
+contralto
+contrapositive
+contraption
+contrariety
+contrary
+contrast
+contravariant
+contravene
+contravention
+contretemps
+contribute
+contribution
+contributor
+contributory
+contrite
+contrition
+contrivance
+contrive
+control
+controllable
+controlled
+controller
+controlling
+controversial
+controversy
+controvertible
+contumacy
+contusion
+conundrum
+Convair
+convalesce
+convalescent
+convect
+convene
+convenient
+convent
+convention
+converge
+convergent
+conversant
+conversation
+converse
+conversion
+convert
+convertible
+convex
+convey
+conveyance
+conveyor
+convict
+convince
+convivial
+convocate
+convoke
+convolute
+convolution
+convolve
+convoy
+convulse
+convulsion
+convulsive
+Conway
+cony
+coo
+cook
+cookbook
+Cooke
+cookery
+cookie
+cooky
+cool
+coolant
+Cooley
+coolheaded
+Coolidge
+coon
+coop
+cooperate
+coordinate
+Coors
+coot
+cop
+cope
+Copeland
+Copenhagen
+Copernican
+Copernicus
+copious
+coplanar
+copolymer
+copperas
+Copperfield
+copperhead
+coppery
+copra
+coprinus
+coprocessor
+coproduct
+copter
+copulate
+copy
+copybook
+copyright
+copywriter
+coquette
+coquina
+coral
+coralberry
+coralline
+corbel
+Corbett
+Corcoran
+cord
+cordage
+cordial
+cordite
+cordon
+corduroy
+core
+Corey
+coriander
+Corinth
+Corinthian
+Coriolanus
+cork
+corkscrew
+cormorant
+corn
+cornbread
+cornea
+Cornelia
+Cornelius
+Cornell
+cornerstone
+cornet
+cornfield
+cornflower
+cornish
+cornmeal
+cornstarch
+cornucopia
+Cornwall
+corny
+corolla
+corollary
+corona
+Coronado
+coronary
+coronate
+coroner
+coronet
+coroutine
+Corp
+corpora
+corporal
+corporate
+corporeal
+corps
+corpse
+corpsman
+corpsmen
+corpulent
+corpus
+corpuscle
+corpuscular
+corral
+corralled
+correct
+corrector
+correlate
+correspond
+correspondent
+corridor
+corrigenda
+corrigendum
+corrigible
+corroborate
+corroboree
+corrode
+corrodible
+corrosion
+corrosive
+corrugate
+corrupt
+corruptible
+corruption
+corsage
+corset
+Corsica
+cortege
+cortex
+Cortez
+cortical
+Cortland
+corundum
+coruscate
+Corvallis
+corvette
+Corvus
+cos
+cosec
+coset
+Cosgrove
+cosh
+cosine
+cosmetic
+cosmic
+cosmology
+cosmopolitan
+cosmos
+cosponsor
+Cossack
+cost
+Costa
+Costello
+costume
+cosy
+cot
+cotangent
+coterie
+cotillion
+cotman
+cotoneaster
+cotta
+cottage
+cotton
+cottonmouth
+cottonseed
+cottontail
+cottonwood
+cottony
+Cottrell
+cotty
+cotyledon
+couch
+cougar
+cough
+could
+couldn't
+coulomb
+Coulter
+council
+councilman
+councilmen
+councilwoman
+councilwomen
+counsel
+counselor
+count
+countdown
+countenance
+counteract
+counterargument
+counterattack
+counterbalance
+counterclockwise
+counterexample
+counterfeit
+counterflow
+counterintuitive
+counterman
+countermand
+countermeasure
+countermen
+counterpart
+counterpoint
+counterpoise
+counterproductive
+counterproposal
+counterrevolution
+counterrevolutionary
+countersink
+countersunk
+counterthreat
+countervail
+counterweight
+countrify
+country
+countryman
+countrymen
+countryside
+countrywide
+county
+countywide
+coup
+coupe
+couple
+couplet
+coupon
+courage
+courageous
+courier
+course
+court
+courteous
+courtesan
+courtesy
+courthouse
+courtier
+Courtney
+courtroom
+courtyard
+couscous
+cousin
+couturier
+covalent
+covariant
+covariate
+covary
+cove
+coven
+covenant
+Coventry
+cover
+coverage
+coverall
+coverlet
+covert
+covet
+covetous
+cow
+Cowan
+coward
+cowardice
+cowbell
+cowbird
+cowboy
+cowhand
+cowherd
+cowhide
+cowl
+cowlick
+cowman
+cowmen
+coworker
+cowpea
+cowpoke
+cowpony
+cowpox
+cowpunch
+cowry
+cowslip
+cox
+coxcomb
+coy
+coyly
+coyote
+coypu
+cozen
+cozy
+CPA
+cpu
+crab
+crabapple
+crack
+crackle
+crackpot
+cradle
+craft
+craftsman
+craftsmen
+craftspeople
+craftsperson
+crafty
+crag
+craggy
+Craig
+cram
+Cramer
+cramp
+crampon
+cranberry
+Crandall
+crane
+Cranford
+crania
+cranium
+crank
+crankcase
+crankshaft
+cranky
+cranny
+Cranston
+crap
+crappie
+crash
+crass
+crate
+crater
+cravat
+crave
+craven
+craw
+Crawford
+crawl
+crawlspace
+crayfish
+crayon
+craze
+crazy
+creak
+creaky
+cream
+creamery
+creamy
+crease
+create
+creature
+creche
+credent
+credential
+credenza
+credible
+credit
+creditor
+credo
+credulity
+credulous
+creed
+creedal
+creek
+creekside
+creep
+creepy
+cremate
+crematory
+Creole
+Creon
+creosote
+crepe
+crept
+crescendo
+crescent
+cress
+crest
+crestfallen
+Crestview
+Cretaceous
+Cretan
+Crete
+cretin
+cretinous
+crevice
+crew
+crewcut
+crewel
+crewman
+crewmen
+crib
+cribbage
+cricket
+crime
+Crimea
+criminal
+crimp
+crimson
+cringe
+crinkle
+crinoid
+cripple
+crises
+crisis
+crisp
+Crispin
+criss
+crisscross
+criteria
+criterion
+critic
+critique
+critter
+croak
+Croatia
+crochet
+crock
+crockery
+Crockett
+crocodile
+crocodilian
+crocus
+croft
+Croix
+Cromwell
+Cromwellian
+crone
+crony
+crook
+croon
+crop
+cropland
+crore
+Crosby
+cross
+crossarm
+crossbar
+crossbill
+crosscut
+crosshatch
+crosslink
+crossover
+crosspoint
+crossroad
+crosstalk
+crosswalk
+crossway
+crosswise
+crossword
+crosswort
+crotch
+crotchety
+crouch
+croupier
+crow
+crowbait
+crowbar
+crowberry
+crowd
+crowfoot
+Crowley
+crown
+croydon
+CRT
+crucial
+crucible
+crucifix
+crucifixion
+crucify
+crud
+cruddy
+crude
+cruel
+cruelty
+Cruickshank
+cruise
+crumb
+crumble
+crummy
+crump
+crumple
+crunch
+crunchy
+crupper
+crusade
+crush
+Crusoe
+crust
+crustacean
+crusty
+crutch
+crux
+Cruz
+cry
+cryogenic
+cryostat
+crypt
+cryptanalysis
+cryptanalyst
+cryptanalytic
+cryptic
+crypto
+cryptogram
+cryptographer
+cryptography
+crystal
+crystalline
+crystallite
+crystallographer
+crystallography
+c's
+csnet
+CT
+cub
+Cuba
+cubby
+cubbyhole
+cube
+cubic
+cubicle
+cubit
+cuckoo
+cucumber
+cud
+cuddle
+cuddly
+cudgel
+cue
+cuff
+cufflink
+cuisine
+Culbertson
+culinary
+cull
+culminate
+culpa
+culpable
+culprit
+cult
+cultivable
+cultivar
+cultivate
+cultural
+culture
+Culver
+culvert
+Cumberland
+cumbersome
+cumin
+Cummings
+Cummins
+cumulate
+cumulus
+Cunard
+cuneiform
+cunning
+Cunningham
+CUNY
+cup
+cupboard
+cupful
+Cupid
+cupidity
+cupric
+cuprous
+cur
+curate
+curb
+curbside
+curd
+curdle
+cure
+curfew
+curia
+curie
+curio
+curiosity
+curious
+curium
+curl
+curlew
+curlicue
+curmudgeon
+Curran
+currant
+current
+curricula
+curricular
+curriculum
+curry
+curse
+cursive
+cursor
+cursory
+curt
+curtail
+curtain
+Curtis
+curtsey
+curvaceous
+curvature
+curve
+curvilinear
+Cushing
+cushion
+Cushman
+cusp
+Custer
+custodial
+custodian
+custody
+custom
+customary
+customhouse
+cut
+cutaneous
+cutback
+cute
+cutlass
+cutler
+cutlet
+cutoff
+cutout
+cutover
+cutset
+cutthroat
+cuttlebone
+cuttlefish
+cutworm
+Cuvier
+Cuzco
+Cyanamid
+cyanate
+cyanic
+cyanide
+cybernetic
+cycad
+Cyclades
+cycle
+cyclic
+cyclist
+cyclone
+cyclopean
+Cyclops
+cyclorama
+cyclotomic
+cyclotron
+cygnet
+Cygnus
+cylinder
+cylindric
+cymbal
+cynic
+Cynthia
+cypress
+Cyprian
+Cypriot
+Cyprus
+Cyril
+Cyrillic
+Cyrus
+cyst
+cysteine
+cytochemistry
+cytolysis
+cytoplasm
+cytosine
+CZ
+czar
+czarina
+Czech
+Czechoslovakia
+Czerniak
+d
+dab
+dabble
+Dacca
+dachshund
+dactyl
+dactylic
+dad
+Dada
+daddy
+Dade
+Daedalus
+daemon
+daffodil
+daffy
+dagger
+daguerreotype
+Dahl
+dahlia
+Dahomey
+Dailey
+Daimler
+dainty
+dairy
+Dairylea
+dairyman
+dairymen
+dais
+daisy
+Dakar
+Dakota
+dal
+dale
+Daley
+Dalhousie
+Dallas
+dally
+Dalton
+Daly
+Dalzell
+dam
+damage
+Damascus
+damask
+dame
+damn
+damnation
+Damocles
+Damon
+damp
+dampen
+damsel
+damselfly
+Dan
+Dana
+Danbury
+dance
+dandelion
+dandy
+Dane
+dang
+danger
+dangerous
+dangle
+Daniel
+Danielson
+Danish
+dank
+Danny
+Dante
+Danube
+Danubian
+Danzig
+Daphne
+dapper
+dapple
+Dar
+dare
+Darius
+dark
+darken
+darkle
+Darlene
+darling
+darn
+DARPA
+Darrell
+Darry
+d'art
+dart
+Dartmouth
+Darwin
+Darwinian
+dash
+dashboard
+dastard
+data
+database
+date
+dateline
+dater
+Datsun
+datum
+datura
+daub
+Daugherty
+daughter
+daunt
+dauphin
+dauphine
+Dave
+davenport
+David
+Davidson
+Davies
+Davis
+Davison
+davit
+Davy
+dawdle
+dawn
+Dawson
+day
+daybed
+daybreak
+daydream
+daylight
+daytime
+Dayton
+Daytona
+daze
+dazzle
+DC
+de
+deacon
+deaconess
+deactivate
+dead
+deaden
+deadhead
+deadline
+deadlock
+deadwood
+deaf
+deafen
+deal
+deallocate
+dealt
+dean
+Deane
+Deanna
+dear
+Dearborn
+dearie
+dearth
+death
+deathbed
+deathward
+debacle
+debar
+debarring
+debase
+debate
+debater
+debauch
+debauchery
+Debbie
+Debby
+debenture
+debilitate
+debility
+debit
+debonair
+Deborah
+Debra
+debrief
+debris
+debt
+debtor
+debug
+debugged
+debugger
+debugging
+debunk
+Debussy
+debut
+debutante
+Dec
+decade
+decadent
+decal
+decant
+decapitate
+decapod
+decathlon
+Decatur
+decay
+Decca
+decease
+decedent
+deceit
+deceitful
+deceive
+decelerate
+December
+decennial
+decent
+deception
+deceptive
+decertify
+decibel
+decide
+deciduous
+decile
+decimal
+decimate
+decipher
+decision
+decisive
+deck
+declaim
+declamation
+declamatory
+declaration
+declarative
+declarator
+declaratory
+declare
+declassify
+declination
+decline
+declivity
+decode
+decolletage
+decollimate
+decompile
+decomposable
+decompose
+decomposition
+decompress
+decompression
+decontrol
+decontrolled
+decontrolling
+deconvolution
+deconvolve
+decor
+decorate
+decorous
+decorticate
+decorum
+decouple
+decoy
+decrease
+decree
+decreeing
+decrement
+decry
+decrypt
+decryption
+dedicate
+deduce
+deducible
+deduct
+deductible
+Dee
+deed
+deem
+deep
+deepen
+deer
+Deere
+deerskin
+deerstalker
+deface
+default
+defeat
+defecate
+defect
+defector
+defend
+defendant
+defensible
+defensive
+defer
+deferent
+deferrable
+deferred
+deferring
+defiant
+deficient
+deficit
+define
+definite
+definition
+definitive
+deflate
+deflater
+deflect
+deflector
+defocus
+defoliate
+deforest
+deforestation
+deform
+deformation
+defraud
+defray
+defrost
+deft
+defunct
+defy
+degas
+degassing
+degeneracy
+degenerate
+degradation
+degrade
+degrease
+degree
+degum
+degumming
+dehumidify
+dehydrate
+deify
+deign
+Deimos
+Deirdre
+deity
+deja
+deject
+Del
+Delaney
+Delano
+Delaware
+delay
+delectable
+delectate
+delegable
+delegate
+delete
+deleterious
+deletion
+Delft
+Delhi
+Delia
+deliberate
+delicacy
+delicate
+delicatessen
+delicious
+delicti
+delight
+delightful
+Delilah
+delimit
+delimitation
+delineament
+delineate
+delinquent
+deliquesce
+deliquescent
+delirious
+delirium
+deliver
+deliverance
+delivery
+deliveryman
+deliverymen
+dell
+Della
+Delmarva
+delouse
+Delphi
+Delphic
+delphine
+delphinium
+Delphinus
+delta
+deltoid
+delude
+deluge
+delusion
+delusive
+deluxe
+delve
+demagnify
+demagogue
+demand
+demarcate
+demark
+demean
+demented
+dementia
+demerit
+Demeter
+demi
+demigod
+demijohn
+demiscible
+demise
+demit
+demitted
+demitting
+democracy
+democrat
+democratic
+demodulate
+demographer
+demography
+demolish
+demolition
+demon
+demoniac
+demonic
+demonstrable
+demonstrate
+demote
+demountable
+Dempsey
+demultiplex
+demur
+demure
+demurred
+demurrer
+demurring
+demystify
+den
+denature
+dendrite
+dendritic
+Deneb
+Denebola
+deniable
+denial
+denigrate
+denizen
+Denmark
+Dennis
+Denny
+denominate
+denotation
+denotative
+denote
+denouement
+denounce
+dense
+densitometer
+dent
+dental
+dentistry
+dentition
+Denton
+denture
+denudation
+denude
+denumerable
+denunciate
+Denver
+deny
+deodorant
+deoxyribonucleic
+deoxyribose
+depart
+departure
+depend
+dependent
+depict
+deplane
+deplete
+depletion
+deplore
+deploy
+deport
+deportation
+deportee
+depose
+deposit
+depositary
+deposition
+depositor
+depository
+depot
+deprave
+deprecate
+deprecatory
+depreciable
+depreciate
+depredation
+depress
+depressant
+depressible
+depression
+depressive
+depressor
+deprivation
+deprive
+depth
+deputation
+depute
+deputy
+derail
+derange
+derate
+derby
+Derbyshire
+dereference
+deregulate
+Derek
+derelict
+deride
+derision
+derisive
+derivate
+derive
+dermatology
+derogate
+derogatory
+derrick
+derriere
+dervish
+Des
+descant
+Descartes
+descend
+descendant
+descendent
+descent
+describe
+description
+descriptive
+descriptor
+desecrate
+desecrater
+desegregate
+desert
+deserve
+desiccant
+desiccate
+desiderata
+desideratum
+design
+designate
+desire
+desirous
+desist
+desk
+Desmond
+desolate
+desolater
+desorption
+despair
+desperado
+desperate
+despicable
+despise
+despite
+despoil
+despond
+despondent
+despot
+despotic
+dessert
+destinate
+destine
+destiny
+destitute
+destroy
+destruct
+destructor
+desuetude
+desultory
+detach
+detail
+detain
+d'etat
+detect
+detector
+detent
+detente
+detention
+deter
+detergent
+deteriorate
+determinacy
+determinant
+determinate
+determine
+deterred
+deterrent
+deterring
+detest
+detestation
+detonable
+detonate
+detour
+detoxify
+detract
+detractor
+detriment
+detritus
+Detroit
+deuce
+deus
+deuterate
+deuterium
+deuteron
+devastate
+develop
+deviant
+deviate
+device
+devil
+devilish
+devious
+devise
+devisee
+devoid
+devolve
+Devon
+Devonshire
+devote
+devotee
+devotion
+devour
+devout
+dew
+dewar
+dewdrop
+Dewey
+Dewitt
+dewy
+dexter
+dexterity
+dextrose
+dextrous
+dey
+Dhabi
+dharma
+diabase
+diabetes
+diabetic
+diabolic
+diachronic
+diacritic
+diadem
+diagnosable
+diagnose
+diagnosis
+diagnostic
+diagnostician
+diagonal
+diagram
+diagrammatic
+diagrammed
+diagramming
+dial
+dialect
+dialectic
+dialogue
+dialup
+dialysis
+diamagnetic
+diamagnetism
+diameter
+diamond
+Diana
+Diane
+Dianne
+diaper
+diaphanous
+diaphragm
+diary
+diathermy
+diathesis
+diatom
+diatomaceous
+diatomic
+diatonic
+diatribe
+dibble
+dice
+dichloride
+dichondra
+dichotomy
+dick
+dickcissel
+dickens
+Dickerson
+dickey
+Dickinson
+Dickson
+dicotyledon
+dicta
+dictate
+dictatorial
+diction
+dictionary
+dictum
+did
+didactic
+diddle
+didn't
+Dido
+die
+Diebold
+Diego
+diehard
+dieldrin
+dielectric
+diem
+dieresis
+diesel
+diet
+dietary
+dietetic
+diethylstilbestrol
+dietician
+Dietrich
+diety
+Dietz
+diffeomorphic
+diffeomorphism
+differ
+different
+differentiable
+differential
+differentiate
+difficult
+difficulty
+diffident
+diffract
+diffractometer
+diffuse
+diffusible
+diffusion
+diffusive
+difluoride
+dig
+digamma
+digest
+digestible
+digestion
+digestive
+digging
+digit
+digital
+digitalis
+dignify
+dignitary
+dignity
+digram
+digress
+digression
+dihedral
+dilapidate
+dilatation
+dilate
+dilatory
+dilemma
+dilettante
+diligent
+dill
+Dillon
+dilogarithm
+diluent
+dilute
+dilution
+dim
+dime
+dimension
+dimethyl
+diminish
+diminuendo
+diminution
+diminutive
+dimorphic
+dimorphism
+dimple
+din
+Dinah
+dine
+ding
+dinghy
+dingo
+dingy
+dinnertime
+dinnerware
+dinosaur
+dint
+diocesan
+diocese
+Diocletian
+diode
+Diogenes
+Dionysian
+Dionysus
+Diophantine
+diopter
+diorama
+diorite
+dioxide
+dip
+diphtheria
+diphthong
+diploid
+diploidy
+diploma
+diplomacy
+diplomat
+diplomatic
+dipole
+Dirac
+dire
+direct
+director
+directorate
+directory
+directrices
+directrix
+dirge
+Dirichlet
+dirt
+dirty
+Dis
+disaccharide
+disambiguate
+disastrous
+disburse
+disc
+discern
+discernible
+disciple
+disciplinary
+discipline
+discoid
+discomfit
+discordant
+discovery
+discreet
+discrepant
+discrete
+discretion
+discretionary
+discriminable
+discriminant
+discriminate
+discriminatory
+discus
+discuss
+discussant
+discussion
+disdain
+disdainful
+disembowel
+disgruntle
+disgustful
+dish
+dishevel
+dishwasher
+dishwater
+disjunct
+disk
+dismal
+dismissal
+Disney
+Disneyland
+disparage
+disparate
+dispel
+dispelled
+dispelling
+dispensable
+dispensary
+dispensate
+dispense
+dispersal
+disperse
+dispersible
+dispersion
+dispersive
+disposable
+disposal
+disputant
+dispute
+disquietude
+disquisition
+disrupt
+disruption
+disruptive
+dissemble
+disseminate
+dissension
+dissertation
+dissident
+dissipate
+dissociate
+dissuade
+distaff
+distal
+distant
+distillate
+distillery
+distinct
+distinguish
+distort
+distraught
+distribution
+distributive
+distributor
+district
+disturb
+disturbance
+disulfide
+disyllable
+ditch
+dither
+ditto
+ditty
+diurnal
+diva
+divalent
+divan
+dive
+diverge
+divergent
+diverse
+diversify
+diversion
+diversionary
+divert
+divest
+divestiture
+divide
+dividend
+divination
+divine
+divisible
+division
+divisive
+divisor
+divorce
+divorcee
+divulge
+Dixie
+dixieland
+Dixon
+dizzy
+Djakarta
+DNA
+Dnieper
+do
+Dobbin
+Dobbs
+doberman
+dobson
+docile
+dock
+docket
+dockside
+dockyard
+doctor
+doctoral
+doctorate
+doctrinaire
+doctrinal
+doctrine
+document
+documentary
+documentation
+DOD
+Dodd
+doddering
+dodecahedra
+dodecahedral
+dodecahedron
+dodge
+dodo
+Dodson
+doe
+doesn't
+d'oeuvre
+doff
+dog
+dogbane
+dogberry
+Doge
+dogfish
+dogging
+doggone
+doghouse
+dogleg
+dogma
+dogmatic
+dogmatism
+dogmatist
+dogtooth
+dogtrot
+dogwood
+Doherty
+Dolan
+dolce
+doldrum
+dole
+doleful
+doll
+dollar
+dollop
+dolly
+dolomite
+dolomitic
+Dolores
+dolphin
+dolt
+doltish
+domain
+dome
+Domenico
+Domesday
+domestic
+domesticate
+domicile
+dominant
+dominate
+domineer
+Domingo
+Dominic
+Dominican
+Dominick
+dominion
+Dominique
+domino
+don
+Donahue
+Donald
+Donaldson
+donate
+done
+Doneck
+donkey
+Donna
+Donnelly
+Donner
+donnybrook
+donor
+Donovan
+don't
+doodle
+Dooley
+Doolittle
+doom
+doomsday
+door
+doorbell
+doorkeep
+doorkeeper
+doorknob
+doorman
+doormen
+doorstep
+doorway
+dopant
+dope
+Doppler
+Dora
+Dorado
+Dorcas
+Dorchester
+Doreen
+Doria
+Doric
+Doris
+dormant
+dormitory
+dormouse
+Dorothea
+Dorothy
+dorsal
+Dorset
+Dortmund
+dosage
+dose
+dosimeter
+dossier
+Dostoevsky
+dot
+dote
+double
+Doubleday
+doubleheader
+doublet
+doubleton
+doubloon
+doubt
+doubtful
+douce
+Doug
+dough
+Dougherty
+doughnut
+Douglas
+Douglass
+dour
+douse
+dove
+dovekie
+dovetail
+Dow
+dowager
+dowel
+dowitcher
+Dowling
+down
+downbeat
+downcast
+downdraft
+Downey
+downfall
+downgrade
+downhill
+downplay
+downpour
+downright
+downside
+downslope
+downspout
+downstairs
+downstream
+downtown
+downtrend
+downtrodden
+downturn
+downward
+downwind
+downy
+dowry
+Doyle
+doze
+dozen
+Dr
+drab
+drably
+Draco
+Draconian
+draft
+draftee
+draftsman
+draftsmen
+draftsperson
+drafty
+drag
+dragging
+dragnet
+dragon
+dragonfly
+dragonhead
+dragoon
+drain
+drainage
+drake
+dram
+drama
+dramatic
+dramatist
+dramaturgy
+drank
+drape
+drapery
+drastic
+draught
+Dravidian
+draw
+drawback
+drawbridge
+drawl
+drawn
+drawstring
+drayman
+dread
+dreadful
+dreadnought
+dream
+dreamboat
+dreamt
+dreamy
+dreary
+dredge
+dreg
+drench
+dress
+dressmake
+dressy
+drew
+Drexel
+Dreyfuss
+drib
+dribble
+drift
+driftwood
+drill
+drink
+drip
+drippy
+Driscoll
+drive
+driven
+driveway
+drizzle
+drizzly
+droll
+dromedary
+drone
+drool
+droop
+droopy
+drop
+drophead
+droplet
+dropout
+drosophila
+dross
+drought
+drove
+drown
+drowse
+drowsy
+drub
+drudge
+drudgery
+drug
+drugging
+drugstore
+druid
+drum
+drumhead
+drumlin
+Drummond
+drunk
+drunkard
+drunken
+drupe
+Drury
+dry
+dryad
+Dryden
+d's
+du
+dual
+Duane
+dub
+Dubhe
+dubious
+dubitable
+Dublin
+ducat
+duchess
+duck
+duckbilled
+duckling
+duckweed
+duct
+ductile
+ductwork
+dud
+Dudley
+due
+duel
+duet
+duff
+duffel
+Duffy
+dug
+Dugan
+dugong
+dugout
+duke
+dulcet
+dull
+dully
+dulse
+Duluth
+duly
+Duma
+dumb
+dumbbell
+dumbly
+dummy
+dump
+dumpling
+dumpster
+Dumpty
+dumpy
+dun
+Dunbar
+Duncan
+dunce
+dune
+Dunedin
+dung
+dungeon
+Dunham
+dunk
+Dunkirk
+Dunlap
+Dunlop
+Dunn
+duodenal
+duodenum
+duopolist
+duopoly
+dupe
+duplex
+duplicable
+duplicate
+duplicity
+DuPont
+Duquesne
+durable
+durance
+Durango
+duration
+Durer
+duress
+Durham
+during
+Durkee
+Durkin
+Durrell
+Durward
+Dusenberg
+Dusenbury
+dusk
+dusky
+Dusseldorf
+dust
+dustbin
+dusty
+Dutch
+dutchess
+Dutchman
+Dutchmen
+dutiable
+dutiful
+Dutton
+duty
+dwarf
+dwarves
+dwell
+dwelt
+Dwight
+dwindle
+Dwyer
+dyad
+dyadic
+dye
+dyeing
+dyestuff
+dying
+Dyke
+Dylan
+dynamic
+dynamism
+dynamite
+dynamo
+dynast
+dynastic
+dynasty
+dyne
+dysentery
+dyspeptic
+dysplasia
+dysprosium
+dystrophy
+e
+each
+Eagan
+eager
+eagle
+ear
+eardrum
+earl
+earmark
+earn
+earnest
+earphone
+earring
+earshot
+earsplitting
+earth
+earthen
+earthenware
+Earthman
+Earthmen
+earthmover
+earthmoving
+earthquake
+earthworm
+earthy
+earwig
+ease
+easel
+east
+eastbound
+eastern
+easternmost
+Eastland
+Eastman
+eastward
+Eastwood
+easy
+easygoing
+eat
+eaten
+eater
+Eaton
+eave
+eavesdrop
+eavesdropping
+ebb
+Eben
+ebony
+ebullient
+eccentric
+Eccles
+ecclesiastic
+echelon
+echidna
+echinoderm
+echo
+echoes
+echolocation
+eclat
+eclectic
+eclipse
+ecliptic
+eclogue
+Ecole
+ecology
+econometric
+economic
+economist
+economy
+ecosystem
+ecstasy
+ecstatic
+ectoderm
+ectopic
+Ecuador
+ecumenic
+ecumenist
+Ed
+Eddie
+eddy
+edelweiss
+edematous
+Eden
+Edgar
+edge
+Edgerton
+edgewise
+edgy
+edible
+edict
+edifice
+edify
+Edinburgh
+Edison
+edit
+Edith
+edition
+editor
+editorial
+Edmonds
+Edmondson
+Edmonton
+Edmund
+Edna
+EDT
+Eduardo
+educable
+educate
+Edward
+Edwardian
+Edwardine
+Edwin
+Edwina
+eel
+eelgrass
+EEOC
+e'er
+eerie
+eerily
+efface
+effaceable
+effect
+effectual
+effectuate
+effeminate
+efferent
+effete
+efficacious
+efficacy
+efficient
+Effie
+effloresce
+efflorescent
+effluent
+effluvia
+effluvium
+effort
+effusion
+effusive
+eft
+e.g
+egalitarian
+Egan
+egg
+egghead
+eggplant
+eggshell
+ego
+egocentric
+egotism
+egotist
+egregious
+egress
+egret
+Egypt
+Egyptian
+Egyptology
+eh
+Ehrlich
+eider
+eidetic
+eigenfunction
+eigenspace
+eigenstate
+eigenvalue
+eigenvector
+eight
+eighteen
+eighteenth
+eightfold
+eighth
+eightieth
+eighty
+eightyfold
+Eileen
+Einstein
+Einsteinian
+einsteinium
+Eire
+Eisenhower
+Eisner
+either
+ejaculate
+eject
+ejector
+eke
+Ekstrom
+Ektachrome
+el
+elaborate
+Elaine
+elan
+elapse
+elastic
+elastomer
+elate
+Elba
+elbow
+elder
+eldest
+Eldon
+Eleanor
+Eleazar
+elect
+elector
+electoral
+electorate
+Electra
+electress
+electret
+electric
+electrician
+electrify
+electro
+electrocardiogram
+electrocardiograph
+electrode
+electroencephalogram
+electroencephalograph
+electroencephalography
+electrolysis
+electrolyte
+electrolytic
+electron
+electronic
+electrophoresis
+electrophorus
+elegant
+elegiac
+elegy
+element
+elementary
+Elena
+elephant
+elephantine
+elevate
+eleven
+elevenfold
+eleventh
+elfin
+Elgin
+Eli
+elicit
+elide
+eligible
+Elijah
+eliminable
+eliminate
+Elinor
+Eliot
+Elisabeth
+Elisha
+elision
+elite
+Elizabeth
+Elizabethan
+elk
+Elkhart
+ell
+Ella
+Ellen
+Elliot
+Elliott
+ellipse
+ellipsis
+ellipsoid
+ellipsoidal
+ellipsometer
+elliptic
+Ellis
+Ellison
+Ellsworth
+Ellwood
+elm
+Elmer
+Elmhurst
+Elmira
+Elmsford
+Eloise
+elongate
+elope
+eloquent
+else
+Elsevier
+elsewhere
+Elsie
+Elsinore
+Elton
+eluate
+elucidate
+elude
+elusive
+elute
+elution
+elver
+elves
+Ely
+Elysee
+elysian
+em
+emaciate
+emacs
+emanate
+emancipate
+Emanuel
+emasculate
+embalm
+embank
+embarcadero
+embargo
+embargoes
+embark
+embarrass
+embassy
+embattle
+embed
+embeddable
+embedded
+embedder
+embedding
+embellish
+ember
+embezzle
+embitter
+emblazon
+emblem
+emblematic
+embodiment
+embody
+embolden
+emboss
+embouchure
+embower
+embrace
+embraceable
+embrittle
+embroider
+embroidery
+embroil
+embryo
+embryology
+embryonic
+emcee
+emendable
+emerald
+emerge
+emergent
+emeriti
+emeritus
+Emerson
+Emery
+emetic
+emigrant
+emigrate
+emigre
+emigree
+Emil
+Emile
+Emilio
+Emily
+eminent
+emirate
+emissary
+emission
+emissive
+emit
+emittance
+emitted
+emitter
+emitting
+emma
+Emmanuel
+Emmett
+emolument
+Emory
+emotion
+empathic
+empathy
+emperor
+emphases
+emphasis
+emphatic
+emphysema
+emphysematous
+empire
+empiric
+emplace
+employ
+employee
+emporium
+empower
+empress
+empty
+emptyhanded
+emulate
+emulsify
+emulsion
+en
+enamel
+encapsulate
+encephalitis
+enchantress
+enclave
+encomia
+encomium
+encore
+encroach
+encryption
+encumber
+encumbrance
+encyclopedic
+end
+endemic
+endgame
+Endicott
+endoderm
+endogamous
+endogamy
+endogenous
+endometrial
+endometriosis
+endomorphism
+endorse
+endosperm
+endothelial
+endothermic
+endow
+endpoint
+endure
+enemy
+energetic
+energy
+enervate
+enfant
+enforceable
+enforcible
+Eng
+engage
+Engel
+engine
+engineer
+England
+Englander
+Engle
+Englewood
+English
+Englishman
+Englishmen
+enhance
+Enid
+enigma
+enigmatic
+enjoinder
+enlargeable
+enmity
+Enoch
+enol
+enormity
+enormous
+Enos
+enough
+enquire
+enquiry
+Enrico
+enrollee
+ensconce
+ensemble
+enstatite
+entendre
+enter
+enterprise
+entertain
+enthalpy
+enthusiasm
+enthusiast
+enthusiastic
+entice
+entire
+entirety
+entity
+entomology
+entourage
+entranceway
+entrant
+entrepreneur
+entrepreneurial
+entropy
+entry
+enumerable
+enumerate
+enunciable
+enunciate
+envelop
+envelope
+enviable
+envious
+environ
+envoy
+envy
+enzymatic
+enzyme
+enzymology
+Eocene
+eohippus
+eosine
+EPA
+epaulet
+ephemeral
+ephemerides
+ephemeris
+Ephesian
+Ephesus
+Ephraim
+epic
+epicure
+Epicurean
+epicycle
+epicyclic
+epidemic
+epidemiology
+epidermic
+epidermis
+epigenetic
+epigram
+epigrammatic
+epigraph
+epilepsy
+epileptic
+epilogue
+epimorphism
+Epiphany
+epiphany
+epiphyseal
+epiphysis
+epiphyte
+epiphytic
+episcopal
+Episcopalian
+episcopate
+episode
+episodic
+epistemology
+epistle
+epistolatory
+epitaph
+epitaxial
+epitaxy
+epithelial
+epithelium
+epithet
+epitome
+epoch
+epochal
+eponymous
+epoxy
+epsilon
+Epsom
+Epstein
+equable
+equal
+equanimity
+equate
+equatorial
+equestrian
+equidistant
+equilateral
+equilibrate
+equilibria
+equilibrium
+equine
+equinoctial
+equinox
+equip
+equipoise
+equipotent
+equipped
+equipping
+equitable
+equitation
+equity
+equivalent
+equivocal
+equivocate
+era
+eradicable
+eradicate
+erasable
+erase
+Erasmus
+Erastus
+erasure
+Erato
+Eratosthenes
+erbium
+ERDA
+ere
+erect
+erg
+ergative
+ergodic
+Eric
+Erich
+Erickson
+Ericsson
+Erie
+Erik
+Erlenmeyer
+ermine
+Ernest
+Ernestine
+Ernie
+Ernst
+erode
+erodible
+Eros
+erosible
+erosion
+erosive
+erotic
+erotica
+err
+errand
+errant
+errantry
+errata
+erratic
+erratum
+Errol
+erroneous
+error
+ersatz
+Erskine
+erudite
+erudition
+erupt
+eruption
+Ervin
+Erwin
+e's
+escadrille
+escalate
+escapade
+escape
+escapee
+escarpment
+escheat
+Escherichia
+eschew
+escort
+escritoire
+escrow
+escutcheon
+Eskimo
+Esmark
+esophagi
+esoteric
+especial
+espionage
+esplanade
+Esposito
+espousal
+espouse
+esprit
+esquire
+essay
+Essen
+essence
+essential
+Essex
+EST
+establish
+estate
+esteem
+Estella
+ester
+Estes
+Esther
+estimable
+estimate
+Estonia
+estop
+estoppal
+estrange
+estrogen
+estrous
+estrus
+estuarine
+estuary
+et
+eta
+etc
+etch
+eternal
+eternity
+Ethan
+ethane
+ethanol
+Ethel
+ether
+ethereal
+ethernet
+ethic
+Ethiopia
+ethnic
+ethnography
+ethnology
+ethnomusicology
+ethology
+ethos
+ethyl
+ethylene
+etiology
+etiquette
+Etruria
+Etruscan
+etude
+etymology
+eucalyptus
+Eucharist
+Euclid
+Euclidean
+eucre
+Eugene
+Eugenia
+eugenic
+euglena
+eukaryote
+eukaryotic
+Euler
+Eulerian
+eulogy
+Eumenides
+Eunice
+euphemism
+euphemist
+euphonious
+euphony
+euphorbia
+euphoria
+euphoric
+Euphrates
+Eurasia
+eureka
+Euridyce
+Euripides
+Europa
+Europe
+European
+europium
+Eurydice
+eutectic
+Euterpe
+euthanasia
+eutrophication
+Eva
+evacuate
+evade
+evaluable
+evaluate
+evanescent
+evangel
+evangelic
+Evans
+Evanston
+Evansville
+evaporate
+evasion
+evasive
+eve
+Evelyn
+even
+evenhanded
+evensong
+event
+eventful
+eventide
+eventual
+eventuate
+Eveready
+Everett
+Everglade
+evergreen
+Everhart
+everlasting
+every
+everybody
+everyday
+everyman
+everyone
+everything
+everywhere
+evict
+evident
+evidential
+evil
+evildoer
+evince
+eviscerate
+evocable
+evocate
+evoke
+evolution
+evolutionary
+evolve
+evzone
+ewe
+ex
+exacerbate
+exact
+exactitude
+exaggerate
+exalt
+exaltation
+exam
+examination
+examine
+example
+exasperate
+exasperater
+excavate
+exceed
+excel
+excelled
+excellent
+excelling
+excelsior
+except
+exception
+excerpt
+excess
+excessive
+exchange
+exchangeable
+exchequer
+excisable
+excise
+excision
+excitation
+excitatory
+excite
+exciton
+exclaim
+exclamation
+exclamatory
+exclude
+exclusion
+exclusionary
+exclusive
+excommunicate
+excoriate
+excrement
+excrescent
+excrete
+excretion
+excretory
+excruciate
+exculpate
+exculpatory
+excursion
+excursus
+excusable
+excuse
+exec
+execrable
+execrate
+execute
+execution
+executive
+executor
+executrix
+exegesis
+exegete
+exemplar
+exemplary
+exemplify
+exempt
+exemption
+exercisable
+exercise
+exert
+Exeter
+exfoliate
+exhale
+exhaust
+exhaustible
+exhaustion
+exhaustive
+exhibit
+exhibition
+exhibitor
+exhilarate
+exhort
+exhortation
+exhumation
+exhume
+exigent
+exile
+exist
+existent
+existential
+exit
+exodus
+exogamous
+exogamy
+exogenous
+exonerate
+exorbitant
+exorcise
+exorcism
+exorcist
+exoskeleta
+exoskeleton
+exothermic
+exotic
+exotica
+expand
+expanse
+expansible
+expansion
+expansive
+expatiate
+expatriate
+expect
+expectant
+expectation
+expectorant
+expectorate
+expedient
+expedite
+expedition
+expeditious
+expel
+expellable
+expelled
+expelling
+expend
+expenditure
+expense
+expensive
+experience
+experiential
+experiment
+experimentation
+expert
+expertise
+expiable
+expiate
+expiration
+expire
+expiry
+explain
+explanation
+explanatory
+expletive
+explicable
+explicate
+explicit
+explode
+exploit
+exploitation
+exploration
+exploratory
+explore
+explosion
+explosive
+exponent
+exponential
+exponentiate
+export
+exportation
+expose
+exposit
+exposition
+expositor
+expository
+exposure
+expound
+express
+expressible
+expression
+expressive
+expressway
+expropriate
+expulsion
+expunge
+expurgate
+exquisite
+extant
+extemporaneous
+extempore
+extend
+extendible
+extensible
+extension
+extensive
+extensor
+extent
+extenuate
+exterior
+exterminate
+external
+extinct
+extinguish
+extirpate
+extol
+extolled
+extoller
+extolling
+extort
+extra
+extracellular
+extract
+extractor
+extracurricular
+extradite
+extradition
+extralegal
+extramarital
+extramural
+extraneous
+extraordinary
+extrapolate
+extraterrestrial
+extraterritorial
+extravagant
+extravaganza
+extrema
+extremal
+extreme
+extremum
+extricable
+extricate
+extrinsic
+extroversion
+extrovert
+extrude
+extrusion
+extrusive
+exuberant
+exudate
+exude
+exult
+exultant
+exultation
+Exxon
+eye
+eyeball
+eyebright
+eyebrow
+eyeful
+eyeglass
+eyelash
+eyelet
+eyelid
+eyepiece
+eyesight
+eyesore
+eyewitness
+Ezekiel
+Ezra
+f
+FAA
+Faber
+Fabian
+fable
+fabric
+fabricate
+fabulous
+facade
+face
+faceplate
+facet
+facetious
+facial
+facile
+facilitate
+facsimile
+fact
+factious
+facto
+factor
+factorial
+factory
+factual
+faculty
+fad
+fade
+fadeout
+faery
+Fafnir
+fag
+Fahey
+Fahrenheit
+faience
+fail
+failsafe
+failsoft
+failure
+fain
+faint
+fair
+Fairchild
+Fairfax
+Fairfield
+fairgoer
+Fairport
+fairway
+fairy
+faith
+faithful
+fake
+falcon
+falconry
+Falkland
+fall
+fallacious
+fallacy
+fallen
+fallible
+falloff
+Fallopian
+fallout
+fallow
+Falmouth
+false
+falsetto
+falsify
+Falstaff
+falter
+fame
+familial
+familiar
+familism
+family
+famine
+famish
+famous
+fan
+fanatic
+fanciful
+fancy
+fanfare
+fanfold
+fang
+fangled
+Fanny
+fanout
+fantasia
+fantasist
+fantastic
+fantasy
+fantod
+far
+farad
+Faraday
+Farber
+farce
+farcical
+fare
+farewell
+farfetched
+Fargo
+farina
+Farkas
+Farley
+farm
+farmhouse
+Farmington
+farmland
+Farnsworth
+faro
+Farrell
+farsighted
+farther
+farthest
+fascicle
+fasciculate
+fascinate
+fascism
+fascist
+fashion
+fast
+fasten
+fastidious
+fat
+fatal
+fate
+fateful
+father
+fathom
+fatigue
+Fatima
+fatten
+fatty
+fatuous
+faucet
+Faulkner
+fault
+faulty
+faun
+fauna
+faunal
+Faust
+Faustian
+Faustus
+fawn
+fay
+Fayette
+Fayetteville
+faze
+FBI
+FCC
+FDA
+Fe
+fealty
+fear
+fearful
+fearsome
+feasible
+feast
+feat
+feather
+featherbed
+featherbedding
+featherbrain
+feathertop
+featherweight
+feathery
+feature
+Feb
+febrile
+February
+fecal
+feces
+feckless
+fecund
+fed
+federal
+federate
+Fedora
+fee
+feeble
+feed
+feedback
+feel
+Feeney
+feet
+feign
+feint
+feisty
+Feldman
+feldspar
+Felice
+Felicia
+felicitous
+felicity
+feline
+Felix
+fell
+fellow
+felon
+felonious
+felony
+felsite
+felt
+female
+feminine
+feminism
+feminist
+femoral
+femur
+fence
+fencepost
+fend
+fennec
+fennel
+Fenton
+fenugreek
+Ferber
+Ferdinand
+Ferguson
+Fermat
+ferment
+fermentation
+Fermi
+fermion
+fermium
+fern
+Fernando
+fernery
+ferocious
+ferocity
+Ferreira
+Ferrer
+ferret
+ferric
+ferris
+ferrite
+ferroelectric
+ferromagnet
+ferromagnetic
+ferrous
+ferruginous
+ferrule
+ferry
+fertile
+fervent
+fervid
+fescue
+fest
+festival
+festive
+festoon
+fetal
+fetch
+fete
+fetid
+fetish
+fetter
+fettle
+fetus
+feud
+feudal
+feudatory
+fever
+feverish
+few
+fiance
+fiancee
+fiasco
+fiat
+fib
+fiberboard
+Fiberglas
+Fibonacci
+fibration
+fibrin
+fibrosis
+fibrous
+fiche
+fickle
+fiction
+fictitious
+fictive
+fiddle
+fiddlehead
+fiddlestick
+fide
+fidelity
+fidget
+fiducial
+fief
+fiefdom
+field
+fieldstone
+fieldwork
+fiend
+fiendish
+fierce
+fiery
+fiesta
+fife
+FIFO
+fifteen
+fifteenth
+fifth
+fiftieth
+fifty
+fiftyfold
+fig
+figaro
+fight
+figural
+figurate
+figure
+figurine
+Fiji
+Fijian
+filament
+filamentary
+filamentous
+filbert
+filch
+file
+filet
+filial
+filibuster
+filigree
+Filipino
+fill
+fillet
+fillip
+filly
+film
+filmdom
+filmmake
+filmstrip
+filmy
+filter
+filth
+filthy
+filtrate
+fin
+final
+finale
+finance
+financial
+financier
+finch
+find
+fine
+finery
+finesse
+finessing
+finger
+fingerling
+fingernail
+fingerprint
+fingertip
+finial
+finicky
+finish
+finite
+finitude
+fink
+Finland
+Finley
+Finn
+Finnegan
+Finnish
+finny
+fir
+fire
+firearm
+fireboat
+firebreak
+firebug
+firecracker
+firefly
+firehouse
+firelight
+fireman
+firemen
+fireplace
+firepower
+fireproof
+fireside
+Firestone
+firewall
+firewood
+firework
+firm
+firmware
+first
+firsthand
+fiscal
+Fischbein
+Fischer
+fish
+fisherman
+fishermen
+fishery
+fishmonger
+fishpond
+fishy
+Fisk
+Fiske
+fissile
+fission
+fissure
+fist
+fisticuff
+fit
+Fitch
+Fitchburg
+fitful
+Fitzgerald
+Fitzpatrick
+Fitzroy
+five
+fivefold
+fix
+fixate
+fixture
+Fizeau
+fizzle
+fjord
+FL
+flabbergast
+flack
+flag
+flagellate
+flageolet
+flagging
+Flagler
+flagpole
+flagrant
+Flagstaff
+flagstone
+flail
+flair
+flak
+flake
+flaky
+flam
+flamboyant
+flame
+flamingo
+flammable
+flan
+Flanagan
+Flanders
+flange
+flank
+flannel
+flap
+flare
+flash
+flashback
+flashlight
+flashy
+flask
+flat
+flatbed
+flathead
+flatiron
+flatland
+flatten
+flattery
+flatulent
+flatus
+flatworm
+flaunt
+flautist
+flaw
+flax
+flaxen
+flaxseed
+flea
+fleabane
+fleawort
+fleck
+fled
+fledge
+fledgling
+flee
+fleece
+fleeing
+fleet
+Fleming
+flemish
+flesh
+fleshy
+fletch
+Fletcher
+flew
+flex
+flexible
+flexural
+flexure
+flick
+flight
+flimsy
+flinch
+fling
+flint
+flintlock
+flinty
+flip
+flipflop
+flippant
+flirt
+flirtation
+flirtatious
+flit
+Flo
+float
+floc
+flocculate
+flock
+floe
+flog
+flogging
+flood
+floodgate
+floodlight
+floodlit
+floodwater
+floor
+floorboard
+flop
+floppy
+flora
+floral
+Florence
+Florentine
+florican
+florid
+Florida
+Floridian
+florin
+florist
+floruit
+flotation
+flotilla
+flounce
+flounder
+flour
+flourish
+floury
+flout
+flow
+flowchart
+flowerpot
+flowery
+flown
+Floyd
+flu
+flub
+fluctuate
+flue
+fluent
+fluff
+fluffy
+fluid
+fluke
+flung
+flunk
+flunky
+fluoresce
+fluorescein
+fluorescent
+fluoridate
+fluoride
+fluorine
+fluorite
+fluorocarbon
+fluorspar
+flurry
+flush
+fluster
+flute
+flutter
+flux
+fly
+flycatcher
+flyer
+Flynn
+flyway
+FM
+FMC
+foal
+foam
+foamflower
+foamy
+fob
+focal
+foci
+focus
+focussed
+fodder
+foe
+fog
+Fogarty
+fogging
+foggy
+fogy
+foible
+foil
+foist
+fold
+foldout
+Foley
+foliage
+foliate
+folic
+folio
+folk
+folklore
+folksinger
+folksinging
+folksong
+folksy
+folktale
+follicle
+follicular
+follow
+followeth
+folly
+Fomalhaut
+foment
+fond
+fondle
+font
+Fontaine
+Fontainebleau
+food
+foodstuff
+fool
+foolhardy
+foolish
+foolproof
+foolscap
+foot
+footage
+football
+footbridge
+Foote
+footfall
+foothill
+foothold
+footman
+footmen
+footnote
+footpad
+footpath
+footprint
+footstep
+footstool
+footwear
+footwork
+fop
+foppish
+for
+forage
+foraminifera
+foray
+forbade
+forbear
+forbearance
+Forbes
+forbid
+forbidden
+forbidding
+forbore
+forborne
+force
+forceful
+forcible
+ford
+Fordham
+fore
+foreign
+forensic
+forest
+forestry
+forever
+forfeit
+forfeiture
+forfend
+forgather
+forgave
+forge
+forgery
+forget
+forgetful
+forgettable
+forgetting
+forgive
+forgiven
+forgo
+forgone
+forgot
+forgotten
+fork
+forklift
+forlorn
+form
+formal
+formaldehyde
+formant
+format
+formate
+formatted
+formatting
+formic
+Formica
+formidable
+Formosa
+formula
+formulae
+formulaic
+formulate
+forsake
+forsaken
+forsook
+forswear
+forswore
+forsworn
+Forsythe
+fort
+forte
+Fortescue
+forth
+forthcome
+forthcoming
+forthright
+forthwith
+fortieth
+fortify
+fortin
+fortiori
+fortitude
+fortnight
+fortran
+fortress
+fortuitous
+fortunate
+fortune
+forty
+fortyfold
+forum
+forward
+forwent
+Foss
+fossil
+fossiliferous
+foster
+fosterite
+fought
+foul
+foulmouth
+found
+foundation
+foundling
+foundry
+fount
+fountain
+fountainhead
+four
+fourfold
+Fourier
+foursome
+foursquare
+fourteen
+fourteenth
+fourth
+fovea
+fowl
+fox
+foxglove
+Foxhall
+foxhole
+foxhound
+foxtail
+foxtrot
+foxy
+foyer
+FPC
+fractal
+fraction
+fractionate
+fractious
+fracture
+fragile
+fragment
+fragmentary
+fragmentation
+fragrant
+frail
+frailty
+frambesia
+frame
+framework
+Fran
+franc
+franca
+France
+Frances
+franchise
+Francine
+Francis
+Franciscan
+Francisco
+francium
+franco
+Francoise
+frangipani
+frank
+Frankel
+Frankfort
+Frankfurt
+frankfurter
+franklin
+frantic
+Franz
+Fraser
+fraternal
+fraternity
+Frau
+fraud
+fraudulent
+fraught
+fray
+Frazier
+frazzle
+freak
+freakish
+freckle
+Fred
+Freddie
+Freddy
+Frederic
+Frederick
+Fredericksburg
+Fredericton
+Fredholm
+Fredrickson
+free
+freeboot
+freedman
+freedmen
+freedom
+freehand
+freehold
+freeing
+freeload
+freeman
+freemen
+Freeport
+freestone
+freethink
+Freetown
+freeway
+freewheel
+freeze
+freight
+French
+Frenchman
+Frenchmen
+frenetic
+frenzy
+freon
+frequent
+fresco
+frescoes
+fresh
+freshen
+freshman
+freshmen
+freshwater
+Fresnel
+Fresno
+fret
+Freud
+Freudian
+Frey
+Freya
+friable
+friar
+fricative
+Frick
+friction
+Friday
+fridge
+Friedman
+Friedrich
+friend
+Friesland
+frieze
+frigate
+Frigga
+fright
+frighten
+frightful
+frigid
+Frigidaire
+frill
+frilly
+fringe
+Frisian
+frisky
+fritillary
+fritter
+Fritz
+frivolity
+frivolous
+frizzle
+frizzy
+fro
+frock
+frog
+frolic
+frolicked
+frolicking
+from
+frond
+front
+frontage
+frontal
+frontier
+frontiersman
+frontiersmen
+frost
+frostbite
+frostbitten
+frosty
+froth
+frothy
+frown
+frowzy
+froze
+frozen
+fructose
+Fruehauf
+frugal
+fruit
+fruitful
+fruition
+frustrate
+frustrater
+frustum
+fry
+Frye
+f's
+Ft
+FTC
+Fuchs
+Fuchsia
+fudge
+fuel
+fugal
+fugitive
+fugue
+Fuji
+Fujitsu
+Fulbright
+fulcrum
+fulfill
+full
+fullback
+Fullerton
+fully
+fulminate
+fulsome
+Fulton
+fum
+fumarole
+fumble
+fume
+fumigant
+fumigate
+fun
+function
+functionary
+functor
+functorial
+fund
+fundamental
+fundraiser
+fundraising
+funeral
+funerary
+funereal
+fungal
+fungi
+fungible
+fungicide
+fungoid
+fungus
+funk
+funky
+funnel
+funny
+fur
+furbish
+furious
+furl
+furlong
+furlough
+Furman
+furnace
+furnish
+furniture
+furrier
+furrow
+furry
+further
+furthermore
+furthermost
+furthest
+furtive
+fury
+furze
+fuse
+fuselage
+fusible
+fusiform
+fusillade
+fusion
+fuss
+fussy
+fusty
+futile
+future
+fuzz
+fuzzy
+g
+GA
+gab
+gabardine
+gabble
+gabbro
+Gaberones
+gable
+Gabon
+Gabriel
+Gabrielle
+gad
+gadfly
+gadget
+gadgetry
+gadolinium
+gadwall
+Gaelic
+gaff
+gaffe
+gag
+gage
+gagging
+gaggle
+gagwriter
+gaiety
+Gail
+gaillardia
+gain
+Gaines
+Gainesville
+gainful
+gait
+Gaithersburg
+gal
+gala
+galactic
+galactose
+Galapagos
+Galatea
+Galatia
+galaxy
+Galbreath
+gale
+Galen
+galena
+galenite
+Galilean
+Galilee
+Galileo
+gall
+Gallagher
+gallant
+gallantry
+gallberry
+gallery
+galley
+gallinule
+gallium
+gallivant
+gallon
+gallonage
+gallop
+Galloway
+gallows
+gallstone
+Gallup
+gallus
+Galois
+Galt
+galvanic
+galvanism
+galvanometer
+Galveston
+Galway
+gam
+Gambia
+gambit
+gamble
+gambol
+game
+gamecock
+gamesmanship
+gamete
+gamin
+gamma
+gamut
+gander
+Gandhi
+Gandhian
+gang
+Ganges
+gangland
+gangling
+ganglion
+gangplank
+gangster
+gangway
+gannet
+Gannett
+gantlet
+gantry
+Ganymede
+GAO
+gap
+gape
+gar
+garage
+garb
+garbage
+garble
+Garcia
+garden
+gardenia
+Gardner
+Garfield
+gargantuan
+gargle
+Garibaldi
+garish
+garland
+garlic
+garner
+garnet
+garnish
+Garrett
+garrison
+Garrisonian
+garrulous
+Garry
+garter
+Garth
+Garvey
+Gary
+gas
+Gascony
+gaseous
+gases
+gash
+gasify
+gasket
+gaslight
+gasoline
+gasp
+Gaspee
+gassy
+Gaston
+gastrointestinal
+gastronome
+gastronomic
+gastronomy
+gate
+gatekeeper
+Gates
+gateway
+gather
+Gatlinburg
+gator
+gauche
+gaucherie
+gaudy
+gauge
+gaugeable
+Gauguin
+Gaul
+gauleiter
+Gaulle
+gaunt
+gauntlet
+gaur
+gauss
+Gaussian
+Gautama
+gauze
+gauzy
+gave
+gavel
+Gavin
+gavotte
+gawk
+gawky
+gay
+Gaylord
+gaze
+gazebo
+gazelle
+gazette
+gazpacho
+GE
+gear
+gecko
+gee
+geese
+Gegenschein
+Geiger
+Geigy
+geisha
+gel
+gelable
+gelatin
+gelatine
+gelatinous
+geld
+gem
+geminate
+Gemini
+Geminid
+Gemma
+gemsbok
+gemstone
+gender
+gene
+genealogy
+genera
+general
+generate
+generic
+generosity
+generous
+Genesco
+genesis
+genetic
+Geneva
+Genevieve
+genial
+genie
+genii
+genital
+genitive
+genius
+Genoa
+genotype
+genre
+gent
+genteel
+gentian
+gentile
+gentle
+gentleman
+gentlemen
+gentlewoman
+gentlewomen
+gentry
+genuflect
+genuine
+genus
+geocentric
+geochemical
+geochemistry
+geochronology
+geode
+geodesic
+geodesy
+geodetic
+geoduck
+Geoffrey
+geographer
+geography
+geology
+geometer
+geometrician
+geophysical
+geophysics
+geopolitic
+George
+Georgetown
+Georgia
+geothermal
+Gerald
+Geraldine
+geranium
+Gerard
+Gerber
+gerbil
+Gerhard
+Gerhardt
+geriatric
+germ
+German
+germane
+Germanic
+germanium
+Germantown
+Germany
+germicidal
+germicide
+germinal
+germinate
+Gerry
+Gershwin
+Gertrude
+gerund
+gerundial
+gerundive
+gestalt
+Gestapo
+gestation
+gesticulate
+gestural
+gesture
+get
+getaway
+Getty
+Gettysburg
+geyser
+Ghana
+Ghanian
+ghastly
+Ghent
+gherkin
+ghetto
+ghost
+ghoul
+ghoulish
+Giacomo
+giant
+giantess
+gibberellin
+gibberish
+gibbet
+gibbon
+gibbous
+Gibbs
+gibby
+gibe
+giblet
+Gibraltar
+Gibson
+giddap
+giddy
+Gideon
+Gifford
+gift
+gig
+gigacycle
+gigahertz
+gigantic
+gigavolt
+gigawatt
+gigging
+giggle
+Gil
+gila
+gilbert
+Gilbertson
+Gilchrist
+gild
+Gilead
+Giles
+gill
+Gillespie
+Gillette
+Gilligan
+Gilmore
+gilt
+gimbal
+Gimbel
+gimlet
+gimpy
+gin
+Gina
+ginger
+gingham
+ginkgo
+ginmill
+Ginn
+Gino
+Ginsberg
+Ginsburg
+ginseng
+Giovanni
+giraffe
+gird
+girdle
+girl
+girlie
+girlish
+girt
+girth
+gist
+Giuliano
+Giuseppe
+give
+giveaway
+given
+giveth
+gizmo
+gizzard
+gjetost
+glacial
+glaciate
+glacier
+glacis
+glad
+gladden
+gladdy
+glade
+gladiator
+gladiolus
+Gladstone
+Gladys
+glamor
+glamorous
+glamour
+glance
+gland
+glandular
+glans
+glare
+Glasgow
+glass
+glassine
+glassware
+glasswort
+glassy
+Glaswegian
+glaucoma
+glaucous
+glaze
+gleam
+glean
+Gleason
+glee
+gleeful
+glen
+Glenda
+Glendale
+Glenn
+glib
+glibly
+Glidden
+glide
+glimmer
+glimpse
+glint
+glissade
+glisten
+glitch
+glitter
+gloat
+glob
+global
+globe
+globular
+globule
+globulin
+glom
+glomerular
+gloom
+gloomy
+Gloria
+Gloriana
+glorify
+glorious
+glory
+gloss
+glossary
+glossolalia
+glossy
+glottal
+glottis
+Gloucester
+glove
+glow
+glucose
+glue
+gluey
+glum
+glut
+glutamate
+glutamic
+glutamine
+gluten
+glutinous
+glutton
+gluttonous
+gluttony
+glyceride
+glycerin
+glycerinate
+glycerine
+glycerol
+glycine
+glycogen
+glycol
+glyph
+GM
+GMT
+gnarl
+gnash
+gnat
+gnaw
+gneiss
+gnome
+gnomon
+gnomonic
+gnostic
+GNP
+gnu
+go
+Goa
+goad
+goal
+goat
+gob
+gobble
+gobbledygook
+Gobi
+goblet
+god
+Goddard
+goddess
+godfather
+Godfrey
+godhead
+godkin
+godmother
+godparent
+godsend
+godson
+Godwin
+godwit
+goes
+Goethe
+Goff
+gog
+goggle
+Gogh
+gogo
+gold
+Goldberg
+golden
+goldeneye
+goldenrod
+goldenseal
+goldfinch
+goldfish
+Goldman
+goldsmith
+Goldstein
+Goldstine
+Goldwater
+Goleta
+golf
+Goliath
+golly
+gonad
+gonadotropic
+gondola
+gone
+gong
+Gonzales
+Gonzalez
+goober
+good
+goodbye
+Goode
+Goodman
+Goodrich
+goodwill
+Goodwin
+goody
+Goodyear
+goof
+goofy
+goose
+gooseberry
+GOP
+gopher
+Gordian
+Gordon
+gore
+Goren
+gorge
+gorgeous
+gorgon
+Gorham
+gorilla
+Gorky
+gorse
+Gorton
+gory
+gosh
+goshawk
+gosling
+gospel
+gossamer
+gossip
+got
+Gotham
+Gothic
+gotten
+Gottfried
+Goucher
+Gouda
+gouge
+Gould
+gourd
+gourmet
+gout
+govern
+governance
+governess
+governor
+gown
+GPO
+grab
+grace
+graceful
+gracious
+grackle
+grad
+gradate
+grade
+gradient
+gradual
+graduate
+Grady
+Graff
+graft
+graham
+grail
+grain
+grainy
+grammar
+grammarian
+grammatic
+gramophone
+granary
+grand
+grandchild
+grandchildren
+granddaughter
+grandeur
+grandfather
+grandiloquent
+grandiose
+grandma
+grandmother
+grandnephew
+grandniece
+grandpa
+grandparent
+grandson
+grandstand
+granite
+granitic
+granny
+granola
+grant
+grantee
+grantor
+granular
+granulate
+granule
+Granville
+grape
+grapefruit
+grapevine
+graph
+grapheme
+graphic
+graphite
+grapple
+grasp
+grass
+grasshopper
+grassland
+grassy
+grata
+grate
+grateful
+grater
+gratify
+gratis
+gratitude
+gratuitous
+gratuity
+grave
+gravel
+graven
+gravestone
+graveyard
+gravid
+gravitate
+gravitometer
+graviton
+gravy
+Grayson
+graze
+grease
+greasy
+great
+greatcoat
+greater
+grebe
+Grecian
+Greece
+greed
+greedy
+Greek
+green
+Greenbelt
+Greenberg
+Greenblatt
+Greenbriar
+Greene
+greenery
+Greenfield
+greengrocer
+greenhouse
+greenish
+Greenland
+Greensboro
+greensward
+greenware
+Greenwich
+greenwood
+Greer
+greet
+Greg
+gregarious
+Gregg
+Gregory
+gremlin
+grenade
+Grendel
+Grenoble
+grep
+Gresham
+Greta
+Gretchen
+grew
+grey
+greyhound
+greylag
+grid
+griddle
+gridiron
+gridlock
+grief
+grievance
+grieve
+grievous
+griffin
+Griffith
+grill
+grille
+grillwork
+grim
+grimace
+Grimaldi
+grime
+Grimm
+grimy
+grin
+grind
+grindstone
+grip
+gripe
+grippe
+grisly
+grist
+gristmill
+Griswold
+grit
+gritty
+grizzle
+grizzly
+groan
+groat
+grocer
+grocery
+groggy
+groin
+grommet
+groom
+groove
+grope
+grosbeak
+gross
+Grosset
+Grossman
+Grosvenor
+grotesque
+Groton
+grotto
+grottoes
+grouch
+grouchy
+ground
+groundhog
+groundsel
+groundskeep
+groundwork
+group
+groupoid
+grouse
+grout
+grove
+grovel
+Grover
+grow
+growl
+grown
+grownup
+growth
+grub
+grubby
+grudge
+gruesome
+gruff
+grumble
+Grumman
+grump
+grumpy
+grunt
+Gruyere
+gryphon
+g's
+GSA
+GU
+Guam
+guanidine
+guanine
+guano
+guarantee
+guaranteeing
+guaranty
+guard
+guardhouse
+Guardia
+guardian
+Guatemala
+gubernatorial
+Guelph
+Guenther
+guerdon
+guernsey
+guerrilla
+guess
+guesswork
+guest
+guffaw
+Guggenheim
+Guiana
+guidance
+guide
+guidebook
+guideline
+guidepost
+guignol
+guild
+guildhall
+guile
+Guilford
+guillemot
+guillotine
+guilt
+guilty
+guinea
+Guinevere
+guise
+guitar
+Gujarat
+Gujarati
+gulch
+gules
+gulf
+gull
+Gullah
+gullet
+gullible
+gully
+gulp
+gum
+gumbo
+gumdrop
+gummy
+gumption
+gumshoe
+gun
+Gunderson
+gunfight
+gunfire
+gunflint
+gunk
+gunky
+gunman
+gunmen
+gunnery
+gunny
+gunplay
+gunpoint
+gunpowder
+gunshot
+gunsling
+Gunther
+gurgle
+Gurkha
+guru
+Gus
+gush
+gusset
+gust
+Gustafson
+Gustav
+Gustave
+Gustavus
+gusto
+gusty
+gut
+Gutenberg
+Guthrie
+gutsy
+guttural
+guy
+Guyana
+guzzle
+Gwen
+Gwyn
+gym
+gymnasium
+gymnast
+gymnastic
+gymnosperm
+gyp
+gypsite
+gypsum
+gypsy
+gyrate
+gyrfalcon
+gyro
+gyrocompass
+gyroscope
+h
+ha
+Haag
+Haas
+habeas
+haberdashery
+Haberman
+Habib
+habit
+habitant
+habitat
+habitation
+habitual
+habituate
+hacienda
+hack
+hackberry
+Hackett
+hackle
+hackmatack
+hackney
+hacksaw
+had
+Hadamard
+Haddad
+haddock
+Hades
+Hadley
+hadn't
+Hadrian
+hadron
+hafnium
+Hagen
+Hager
+haggard
+haggis
+haggle
+hagiography
+Hagstrom
+Hague
+Hahn
+Haifa
+haiku
+hail
+hailstone
+hailstorm
+Haines
+hair
+haircut
+hairdo
+hairpin
+hairspring
+hairy
+Haiti
+Haitian
+Hal
+halcyon
+hale
+Haley
+half
+halfback
+halfhearted
+halftone
+halfway
+halibut
+halide
+Halifax
+halite
+hall
+hallelujah
+Halley
+hallmark
+hallow
+Halloween
+hallucinate
+hallucinatory
+hallucinogen
+hallucinogenic
+hallway
+halma
+halo
+halocarbon
+halogen
+Halpern
+Halsey
+Halstead
+halt
+halvah
+halve
+Halverson
+ham
+Hamal
+Hamburg
+hamburger
+Hamilton
+hamlet
+Hamlin
+hammerhead
+hammock
+Hammond
+hamper
+Hampshire
+Hampton
+hamster
+hamstrung
+Han
+Hancock
+hand
+handbag
+handbook
+handclasp
+handcuff
+Handel
+handful
+handgun
+handhold
+handicap
+handicapped
+handicapper
+handicapping
+handicraft
+handicraftsman
+handicraftsmen
+handiwork
+handkerchief
+handle
+handleable
+handlebar
+handline
+handmade
+handmaiden
+handout
+handpicked
+handprint
+handset
+handshake
+handsome
+handspike
+handstand
+handwaving
+handwrite
+handwritten
+handy
+handyman
+handymen
+Haney
+Hanford
+hang
+hangable
+hangar
+hangdog
+hangman
+hangmen
+hangnail
+hangout
+hangover
+hank
+Hankel
+Hanley
+Hanlon
+Hanna
+Hannah
+Hannibal
+Hanoi
+Hanover
+Hanoverian
+Hans
+Hansel
+Hansen
+hansom
+Hanson
+Hanukkah
+hap
+haphazard
+haploid
+haploidy
+haplology
+happen
+happenstance
+happy
+Hapsburg
+harangue
+harass
+Harbin
+harbinger
+Harcourt
+hard
+hardbake
+hardboard
+hardboiled
+hardbound
+hardcopy
+hardcover
+harden
+hardhat
+hardhearted
+Hardin
+hardscrabble
+hardtack
+hardtop
+hardware
+hardwire
+hardwood
+hardworking
+hardy
+hare
+harebrained
+harelip
+harem
+hark
+harken
+Harlan
+Harlem
+Harley
+harm
+harmful
+Harmon
+harmonic
+harmonica
+harmonious
+harmony
+harness
+Harold
+harp
+harpoon
+harpsichord
+harpy
+Harriet
+Harriman
+Harrington
+Harris
+Harrisburg
+Harrison
+harrow
+harry
+harsh
+harshen
+hart
+Hartford
+Hartley
+Hartman
+Harvard
+harvest
+harvestman
+Harvey
+has
+hash
+hashish
+hasn't
+hasp
+hassle
+hast
+haste
+hasten
+Hastings
+hasty
+hat
+hatch
+hatchery
+hatchet
+hatchway
+hate
+hateful
+hater
+Hatfield
+hath
+Hathaway
+hatred
+Hatteras
+Hattie
+Hattiesburg
+Haugen
+haughty
+haul
+haulage
+haunch
+haunt
+Hausa
+Hausdorff
+Havana
+have
+haven
+haven't
+haversack
+Havilland
+havoc
+haw
+Hawaii
+Hawaiian
+hawk
+Hawkins
+Hawley
+hawthorn
+Hawthorne
+hay
+Hayden
+Haydn
+Hayes
+hayfield
+Haynes
+haystack
+hayward
+hazard
+hazardous
+haze
+hazel
+hazelnut
+hazy
+he
+head
+headache
+headboard
+headcount
+headdress
+headland
+headlight
+headline
+headlong
+headman
+headmaster
+headmen
+headphone
+headquarter
+headroom
+headset
+headsman
+headsmen
+headstand
+headstone
+headstrong
+headwall
+headwater
+headway
+headwind
+heady
+heal
+Healey
+health
+healthful
+healthy
+Healy
+heap
+hear
+heard
+hearken
+hearsay
+hearse
+Hearst
+heart
+heartbeat
+heartbreak
+hearten
+heartfelt
+hearth
+heartland
+heartrending
+heartthrob
+hearty
+heat
+heater
+heath
+heathen
+heathenish
+Heathkit
+heave
+heaven
+heavenward
+heavy
+heavyset
+heavyweight
+Hebe
+hebephrenic
+Hebraic
+Hebrew
+Hebrides
+Hecate
+hecatomb
+heck
+heckle
+Heckman
+hectic
+hector
+Hecuba
+he'd
+hedge
+hedgehog
+hedonism
+hedonist
+heed
+heel
+heft
+hefty
+Hegelian
+hegemony
+Heidegger
+Heidelberg
+heifer
+heigh
+height
+heighten
+Heine
+Heinrich
+Heinz
+heir
+heiress
+Heisenberg
+held
+Helen
+Helena
+Helene
+Helga
+helical
+helicopter
+heliocentric
+heliotrope
+helium
+helix
+he'll
+hell
+hellbender
+hellebore
+Hellenic
+Hellespont
+hellfire
+hellgrammite
+hellish
+hello
+helm
+helmet
+Helmholtz
+helmsman
+helmsmen
+Helmut
+help
+helpful
+helpmate
+Helsinki
+Helvetica
+hem
+hematite
+Hemingway
+hemisphere
+hemispheric
+hemlock
+hemp
+Hempstead
+hen
+henbane
+hence
+henceforth
+henchman
+henchmen
+Henderson
+Hendrick
+Hendrickson
+henequen
+Henley
+henpeck
+Henri
+Henrietta
+henry
+hepatica
+hepatitis
+Hepburn
+heptane
+her
+Hera
+Heraclitus
+herald
+herb
+herbarium
+Herbert
+herbicide
+herbivore
+herbivorous
+Herculean
+Hercules
+herd
+herdsman
+herdsmen
+here
+hereabout
+hereafter
+hereby
+hereditary
+heredity
+Hereford
+herein
+hereinabove
+hereinafter
+hereinbelow
+hereof
+heresy
+heretic
+hereto
+heretofore
+hereunder
+hereunto
+herewith
+heritable
+heritage
+Herkimer
+Herman
+Hermann
+hermaphrodite
+hermaphroditic
+hermeneutic
+Hermes
+hermetic
+hermit
+hermitage
+Hermite
+hermitian
+Hermosa
+Hernandez
+hernia
+hero
+Herodotus
+heroes
+heroic
+heroin
+heroine
+heroism
+heron
+herpes
+herpetology
+Herr
+herringbone
+Herschel
+herself
+Hershel
+Hershey
+hertz
+Hertzog
+hesitant
+hesitate
+hesitater
+Hesperus
+Hess
+Hesse
+Hessian
+Hester
+heterocyclic
+heterodyne
+heterogamous
+heterogeneity
+heterogeneous
+heterosexual
+heterostructure
+heterozygous
+Hetman
+Hettie
+Hetty
+Heublein
+heuristic
+Heusen
+Heuser
+hew
+Hewett
+Hewitt
+Hewlett
+hewn
+hex
+hexachloride
+hexadecimal
+hexafluoride
+hexagon
+hexagonal
+hexameter
+hexane
+hey
+heyday
+hi
+Hiatt
+hiatus
+Hiawatha
+hibachi
+Hibbard
+hibernate
+Hibernia
+hick
+Hickey
+Hickman
+hickory
+hid
+hidalgo
+hidden
+hide
+hideaway
+hidebound
+hideous
+hideout
+hierarchal
+hierarchic
+hierarchy
+hieratic
+hieroglyphic
+Hieronymus
+hifalutin
+Higgins
+high
+highball
+highboy
+highfalutin
+highhanded
+highland
+highlight
+highroad
+hightail
+highway
+highwayman
+highwaymen
+hijack
+hike
+hilarious
+hilarity
+Hilbert
+Hildebrand
+hill
+hillbilly
+Hillcrest
+Hillel
+hillman
+hillmen
+hillock
+hillside
+hilltop
+hilly
+hilt
+Hilton
+hilum
+him
+Himalaya
+himself
+hind
+Hindi
+hindmost
+hindquarters
+hindrance
+hindsight
+Hindu
+Hindustan
+Hines
+hinge
+Hinman
+hint
+hinterland
+hip
+hippie
+hippo
+Hippocrates
+Hippocratic
+hippodrome
+hippopotamus
+hippy
+hipster
+Hiram
+hire
+hireling
+Hiroshi
+Hiroshima
+Hirsch
+hirsute
+his
+Hispanic
+hiss
+histamine
+histidine
+histochemic
+histochemistry
+histogram
+histology
+historian
+historic
+historiography
+history
+histrionic
+hit
+Hitachi
+hitch
+Hitchcock
+hither
+hitherto
+Hitler
+hive
+ho
+hoagie
+Hoagland
+hoagy
+hoar
+hoard
+hoarfrost
+hoarse
+hoax
+hob
+Hobart
+Hobbes
+hobble
+Hobbs
+hobby
+hobbyhorse
+hobo
+Hoboken
+hoc
+hock
+hockey
+hodge
+hodgepodge
+Hodges
+Hodgkin
+hoe
+Hoff
+Hoffman
+hog
+hogan
+hogging
+hoi
+Hokan
+Holbrook
+Holcomb
+hold
+holden
+holdover
+holdup
+hole
+holeable
+holiday
+Holland
+hollandaise
+holler
+Hollerith
+Hollingsworth
+Hollister
+hollow
+Holloway
+hollowware
+holly
+hollyhock
+Hollywood
+Holm
+Holman
+Holmdel
+Holmes
+holmium
+holocaust
+Holocene
+hologram
+holography
+Holst
+Holstein
+holster
+holt
+Holyoke
+holystone
+Hom
+homage
+home
+homebound
+homebuilder
+homebuilding
+homecoming
+homeland
+homemade
+homemake
+homeobox
+homeomorph
+homeomorphic
+homeopath
+homeopathic
+homeowner
+Homeric
+homesick
+homespun
+homestead
+homeward
+homework
+homicidal
+homicide
+homily
+hominid
+homo
+homogenate
+homogeneity
+homogeneous
+homologous
+homologue
+homology
+homomorphic
+homomorphism
+homonym
+homophobia
+homosexual
+homotopy
+homozygous
+homunculus
+Honda
+hondo
+Honduras
+hone
+honest
+honesty
+honey
+honeybee
+honeycomb
+honeydew
+honeymoon
+honeysuckle
+Honeywell
+hong
+honk
+honky
+Honolulu
+honoraria
+honorarium
+honorary
+honoree
+honorific
+Honshu
+hooch
+hood
+hoodlum
+hoof
+hoofmark
+hoofprint
+hook
+hookup
+hookworm
+hooligan
+hoop
+hoopla
+hoosegow
+Hoosier
+hoot
+Hoover
+hooves
+hop
+hope
+hopeful
+Hopi
+Hopkins
+Hopkinsian
+hopple
+hopscotch
+Horace
+Horatio
+horde
+horehound
+horizon
+horizontal
+hormonal
+hormone
+horn
+hornbeam
+hornblende
+Hornblower
+hornet
+hornmouth
+hornpipe
+horntail
+hornwort
+horny
+horology
+horoscope
+Horowitz
+horrendous
+horrible
+horrid
+horrify
+horror
+horse
+horseback
+horsedom
+horseflesh
+horsefly
+horsehair
+horseman
+horsemen
+horseplay
+horsepower
+horseshoe
+horsetail
+horsewoman
+horsewomen
+horticulture
+Horton
+Horus
+hose
+hosiery
+hospice
+hospitable
+hospital
+host
+hostage
+hostelry
+hostess
+hostile
+hostler
+hot
+hotbed
+hotbox
+hotel
+hotelman
+hotfoot
+hothead
+hothouse
+hotrod
+Hottentot
+Houdaille
+Houdini
+hough
+Houghton
+hound
+hour
+hourglass
+house
+houseboat
+housebreak
+housebroken
+housefly
+household
+housekeep
+housemate
+housewife
+housewives
+housework
+Houston
+hove
+hovel
+hover
+how
+Howard
+howdy
+Howe
+Howell
+however
+howl
+howsoever
+howsomever
+hoy
+hoyden
+hoydenish
+Hoyt
+Hrothgar
+h's
+hub
+Hubbard
+Hubbell
+hubbub
+hubby
+hubcap
+Huber
+Hubert
+hubris
+huck
+huckleberry
+huckster
+huddle
+Hudson
+hue
+huff
+Huffman
+hug
+huge
+hugging
+Huggins
+Hugh
+Hughes
+Hugo
+huh
+hulk
+hull
+hullaballoo
+hullabaloo
+hum
+human
+humane
+humanitarian
+humble
+Humboldt
+humdrum
+humerus
+humid
+humidify
+humidistat
+humiliate
+humility
+Hummel
+hummingbird
+hummock
+humorous
+hump
+humpback
+Humphrey
+humpty
+humus
+Hun
+hunch
+hunchback
+hundred
+hundredfold
+hundredth
+hung
+Hungarian
+Hungary
+hungry
+hunk
+hunt
+Huntington
+Huntley
+Huntsville
+Hurd
+hurdle
+hurl
+hurley
+Huron
+hurrah
+hurray
+hurricane
+hurry
+Hurst
+hurt
+hurtle
+hurty
+Hurwitz
+husband
+husbandman
+husbandmen
+husbandry
+hush
+husky
+hustle
+Huston
+hut
+hutch
+Hutchins
+Hutchinson
+Hutchison
+Huxley
+Huxtable
+huzzah
+hyacinth
+Hyades
+hyaline
+Hyannis
+hybrid
+Hyde
+hydra
+hydrangea
+hydrant
+hydrate
+hydraulic
+hydride
+hydro
+hydrocarbon
+hydrochemistry
+hydrochloric
+hydrochloride
+hydrocyanic
+hydrodynamic
+hydroelectric
+hydrofluoric
+hydrogen
+hydrogenate
+hydrology
+hydrolysis
+hydrometer
+hydronium
+hydrophilic
+hydrophobia
+hydrophobic
+hydrophone
+hydrosphere
+hydrostatic
+hydrothermal
+hydrous
+hydroxide
+hydroxy
+hydroxyl
+hydroxylate
+hyena
+hygiene
+hygrometer
+hygroscopic
+hying
+Hyman
+hymen
+hymn
+hymnal
+hyper
+hyperbola
+hyperbolic
+hyperboloid
+hyperboloidal
+hypertensive
+hyperthermia
+hyphen
+hyphenate
+hypnosis
+hypnotic
+hypoactive
+hypochlorite
+hypochlorous
+hypocrisy
+hypocrite
+hypocritic
+hypocycloid
+hypodermic
+hypophyseal
+hypotenuse
+hypothalamic
+hypothalamus
+hypothalmus
+hypothermia
+hypotheses
+hypothesis
+hypothetic
+hypothyroid
+hypotonic
+hysterectomy
+hysteresis
+hysteria
+hysteric
+hysteron
+i
+IA
+iambic
+Ian
+Iberia
+ibex
+ibid
+ibis
+IBM
+Ibn
+Icarus
+ICC
+ice
+iceberg
+icebox
+icecap
+iceland
+Icelandic
+iceman
+ichneumon
+icicle
+icky
+icon
+iconoclasm
+iconoclast
+iconography
+icosahedra
+icosahedral
+icosahedron
+icy
+I'd
+id
+Ida
+Idaho
+idea
+ideal
+ideate
+idempotent
+identical
+identify
+identity
+ideogram
+ideolect
+ideology
+idetic
+idiocy
+idiom
+idiomatic
+idiosyncrasy
+idiosyncratic
+idiot
+idiotic
+idle
+idly
+idol
+idolatry
+idyll
+idyllic
+i.e
+IEEE
+if
+iffy
+Ifni
+igloo
+igneous
+ignite
+ignition
+ignoble
+ignominious
+ignominy
+ignoramus
+ignorant
+ignore
+Igor
+ii
+iii
+Ike
+IL
+ileum
+iliac
+Iliad
+I'll
+ill
+illegal
+illegible
+illegitimacy
+illegitimate
+illicit
+illimitable
+Illinois
+illiteracy
+illiterate
+illogic
+illume
+illuminate
+illumine
+illusion
+illusionary
+illusive
+illusory
+illustrate
+illustrious
+Ilona
+Ilyushin
+I'm
+image
+imagen
+imagery
+imaginary
+imaginate
+imagine
+imbalance
+imbecile
+imbibe
+Imbrium
+imbroglio
+imbrue
+imbue
+imitable
+imitate
+immaculate
+immanent
+immaterial
+immature
+immeasurable
+immediacy
+immediate
+immemorial
+immense
+immerse
+immersion
+immigrant
+immigrate
+imminent
+immiscible
+immobile
+immobility
+immoderate
+immodest
+immodesty
+immoral
+immortal
+immovable
+immune
+immunoelectrophoresis
+immunology
+immutable
+imp
+impact
+impair
+impale
+impalpable
+impart
+impartation
+impartial
+impassable
+impasse
+impassion
+impassive
+impatient
+impeach
+impeccable
+impedance
+impede
+impediment
+impel
+impelled
+impeller
+impelling
+impend
+impenetrable
+imperate
+imperceivable
+imperceptible
+imperfect
+imperial
+imperil
+imperious
+imperishable
+impermeable
+impermissible
+impersonal
+impersonate
+impertinent
+imperturbable
+impervious
+impetuous
+impetus
+impiety
+impinge
+impious
+impish
+implacable
+implant
+implantation
+implausible
+implement
+implementation
+implementer
+implementor
+implicant
+implicate
+implicit
+implore
+impolite
+impolitic
+imponderable
+import
+important
+importation
+importunate
+importune
+impose
+imposition
+impossible
+impost
+imposture
+impotent
+impound
+impoverish
+impracticable
+impractical
+imprecate
+imprecise
+impregnable
+impregnate
+impresario
+impress
+impressible
+impression
+impressive
+imprimatur
+imprint
+imprison
+improbable
+impromptu
+improper
+impropriety
+improve
+improvident
+improvisate
+improvise
+imprudent
+impudent
+impugn
+impulse
+impulsive
+impunity
+impure
+imputation
+impute
+in
+inability
+inaccessible
+inaccuracy
+inaccurate
+inaction
+inactivate
+inactive
+inadequacy
+inadequate
+inadmissible
+inadvertent
+inadvisable
+inalienable
+inalterable
+inane
+inanimate
+inappeasable
+inapplicable
+inappreciable
+inapproachable
+inappropriate
+inapt
+inaptitude
+inarticulate
+inasmuch
+inattention
+inattentive
+inaudible
+inaugural
+inaugurate
+inauspicious
+inauthentic
+inboard
+inborn
+inbred
+inbreed
+Inc
+Inca
+incalculable
+incandescent
+incant
+incantation
+incapable
+incapacitate
+incapacity
+incarcerate
+incarnate
+incautious
+incendiary
+incense
+incentive
+inception
+inceptor
+incessant
+incest
+incestuous
+inch
+inchoate
+inchworm
+incident
+incidental
+incinerate
+incipient
+incise
+incisive
+incisor
+incite
+inclement
+inclination
+incline
+inclose
+include
+inclusion
+inclusive
+incognito
+incoherent
+incombustible
+income
+incommensurable
+incommensurate
+incommunicable
+incommutable
+incomparable
+incompatible
+incompetent
+incomplete
+incompletion
+incomprehensible
+incomprehension
+incompressible
+incomputable
+inconceivable
+inconclusive
+incondensable
+incongruity
+incongruous
+inconsequential
+inconsiderable
+inconsiderate
+inconsistent
+inconsolable
+inconspicuous
+inconstant
+incontestable
+incontrollable
+incontrovertible
+inconvenient
+inconvertible
+incorporable
+incorporate
+incorrect
+incorrigible
+incorruptible
+increasable
+increase
+incredible
+incredulity
+incredulous
+increment
+incriminate
+incubate
+incubi
+incubus
+inculcate
+inculpable
+incumbent
+incur
+incurred
+incurrer
+incurring
+incursion
+indebted
+indecent
+indecipherable
+indecision
+indecisive
+indecomposable
+indeed
+indefatigable
+indefensible
+indefinable
+indefinite
+indelible
+indelicate
+indemnity
+indent
+indentation
+indenture
+independent
+indescribable
+indestructible
+indeterminable
+indeterminacy
+indeterminate
+index
+India
+Indiana
+Indianapolis
+indicant
+indicate
+indices
+indict
+Indies
+indifferent
+indigene
+indigenous
+indigent
+indigestible
+indigestion
+indignant
+indignation
+indignity
+indigo
+Indira
+indirect
+indiscernible
+indiscoverable
+indiscreet
+indiscretion
+indiscriminate
+indispensable
+indispose
+indisposition
+indisputable
+indissoluble
+indistinct
+indistinguishable
+indium
+individual
+individuate
+indivisible
+Indo
+Indochina
+Indochinese
+indoctrinate
+Indoeuropean
+indolent
+indomitable
+Indonesia
+indoor
+indorse
+indubitable
+induce
+inducible
+induct
+inductance
+inductee
+inductor
+indulge
+indulgent
+Indus
+industrial
+industrious
+industry
+indwell
+indy
+inebriate
+inedible
+ineducable
+ineffable
+ineffective
+ineffectual
+inefficacy
+inefficient
+inelastic
+inelegant
+ineligible
+ineluctable
+inept
+inequality
+inequitable
+inequity
+inequivalent
+ineradicable
+inert
+inertance
+inertia
+inertial
+inescapable
+inessential
+inestimable
+inevitable
+inexact
+inexcusable
+inexhaustible
+inexorable
+inexpedient
+inexpensive
+inexperience
+inexpert
+inexpiable
+inexplainable
+inexplicable
+inexplicit
+inexpressible
+inextinguishable
+inextricable
+infallible
+infamous
+infamy
+infant
+infanticide
+infantile
+infantry
+infantryman
+infantrymen
+infarct
+infatuate
+infeasible
+infect
+infectious
+infelicitous
+infelicity
+infer
+inference
+inferential
+inferior
+infernal
+inferno
+inferred
+inferring
+infertile
+infest
+infestation
+infidel
+infield
+infighting
+infiltrate
+infima
+infimum
+infinite
+infinitesimal
+infinitive
+infinitude
+infinitum
+infinity
+infirm
+infirmary
+infix
+inflame
+inflammable
+inflammation
+inflammatory
+inflate
+inflater
+inflationary
+inflect
+inflexible
+inflict
+inflorescent
+inflow
+influence
+influent
+influential
+influenza
+influx
+info
+inform
+informal
+informant
+information
+informative
+infra
+infract
+infrared
+infrastructure
+infrequent
+infringe
+infuriate
+infuse
+infusible
+infusion
+infusoria
+ingather
+ingenious
+ingenuity
+ingenuous
+Ingersoll
+ingest
+ingestible
+ingestion
+inglorious
+ingot
+ingrained
+Ingram
+ingrate
+ingratiate
+ingratitude
+ingredient
+ingrown
+inhabit
+inhabitant
+inhabitation
+inhalation
+inhale
+inharmonious
+inhere
+inherent
+inherit
+inheritance
+inheritor
+inhibit
+inhibition
+inhibitor
+inhibitory
+inholding
+inhomogeneity
+inhomogeneous
+inhospitable
+inhuman
+inhumane
+inimical
+inimitable
+iniquitous
+iniquity
+initial
+initiate
+inject
+injudicious
+Injun
+injunct
+injure
+injurious
+injury
+injustice
+ink
+inkling
+inlaid
+inland
+inlay
+inlet
+Inman
+inmate
+inn
+innard
+innate
+innermost
+innkeeper
+innocent
+innocuous
+innovate
+innuendo
+innumerable
+inoculate
+inoperable
+inoperative
+inopportune
+inordinate
+inorganic
+input
+inputting
+inquest
+inquire
+inquiry
+inquisition
+inquisitive
+inquisitor
+inroad
+insane
+insatiable
+inscribe
+inscription
+inscrutable
+insect
+insecticide
+insectivore
+insectivorous
+insecure
+inseminate
+insensible
+insensitive
+inseparable
+insert
+inset
+inshore
+inside
+insidious
+insight
+insightful
+insignia
+insignificant
+insincere
+insinuate
+insipid
+insist
+insistent
+insofar
+insolate
+insolent
+insoluble
+insolvable
+insolvent
+insomnia
+insomniac
+insouciant
+inspect
+inspector
+inspiration
+inspire
+instable
+install
+installation
+instant
+instantaneous
+instantiate
+instar
+instead
+instep
+instigate
+instill
+instillation
+instinct
+instinctual
+institute
+institution
+instruct
+instructor
+instrument
+instrumentation
+insubordinate
+insubstantial
+insufferable
+insufficient
+insular
+insulate
+insulin
+insult
+insuperable
+insupportable
+insuppressible
+insurance
+insure
+insurgent
+insurmountable
+insurrect
+intact
+intake
+intangible
+integer
+integrable
+integral
+integrand
+integrate
+integrity
+integument
+intellect
+intellectual
+intelligent
+intelligentsia
+intelligible
+intemperance
+intemperate
+intend
+intendant
+intense
+intensify
+intensive
+intent
+intention
+inter
+intercalate
+intercept
+interception
+interceptor
+intercom
+interdict
+interdigitate
+interest
+interfere
+interference
+interferometer
+interferon
+interim
+interior
+interject
+interlude
+intermediary
+intermit
+intermittent
+intern
+internal
+internescine
+Interpol
+interpolate
+interpolatory
+interpret
+interpretation
+interpretive
+interregnum
+interrogate
+interrogatory
+interrupt
+interruptible
+interruption
+intersect
+intersperse
+interstice
+interstitial
+interval
+intervene
+intervenor
+intervention
+interviewee
+intestate
+intestinal
+intestine
+intimacy
+intimal
+intimate
+intimater
+intimidate
+into
+intolerable
+intolerant
+intonate
+intone
+intoxicant
+intoxicate
+intra
+intractable
+intransigent
+intransitive
+intrepid
+intricacy
+intricate
+intrigue
+intrinsic
+introduce
+introduction
+introductory
+introit
+introject
+introspect
+introversion
+introvert
+intrude
+intrusion
+intrusive
+intuit
+intuition
+intuitive
+inundate
+inure
+invade
+invalid
+invalidate
+invaluable
+invariable
+invariant
+invasion
+invasive
+invective
+inveigh
+inveigle
+invent
+invention
+inventive
+inventor
+inventory
+Inverness
+inverse
+inversion
+invert
+invertebrate
+invertible
+invest
+investigate
+investigatory
+investor
+inveterate
+inviable
+invidious
+invigorate
+invincible
+inviolable
+inviolate
+invisible
+invitation
+invite
+invitee
+invocable
+invocate
+invoice
+invoke
+involuntary
+involute
+involution
+involutorial
+involve
+invulnerable
+inward
+Io
+iodate
+iodide
+iodinate
+iodine
+ion
+ionic
+ionosphere
+ionospheric
+iota
+Iowa
+ipecac
+ipsilateral
+ipso
+IQ
+IR
+Ira
+Iran
+Iranian
+Iraq
+Iraqi
+irate
+ire
+Ireland
+Irene
+iridium
+iris
+Irish
+Irishman
+Irishmen
+irk
+irksome
+Irma
+iron
+ironbound
+ironic
+ironside
+ironstone
+ironwood
+irony
+Iroquois
+irradiate
+irrational
+Irrawaddy
+irreclaimable
+irreconcilable
+irreconciliable
+irrecoverable
+irredeemable
+irredentism
+irredentist
+irreducible
+irrefutable
+irregular
+irrelevant
+irremediable
+irremovable
+irreparable
+irreplaceable
+irrepressible
+irreproachable
+irreproducible
+irresistible
+irresolute
+irresolution
+irresolvable
+irrespective
+irresponsible
+irretrievable
+irreverent
+irreversible
+irrevocable
+irrigate
+irritable
+irritant
+irritate
+irruption
+IRS
+Irvin
+Irvine
+Irving
+Irwin
+i's
+is
+Isaac
+Isaacson
+Isabel
+Isabella
+Isadore
+Isaiah
+isentropic
+Isfahan
+Ising
+isinglass
+Isis
+Islam
+Islamabad
+Islamic
+island
+isle
+islet
+isn't
+isochronal
+isochronous
+isocline
+isolate
+Isolde
+isomer
+isomorph
+isomorphic
+isopleth
+isotherm
+isotope
+isotropy
+Israel
+Israeli
+Israelite
+issuant
+issue
+Istanbul
+isthmus
+Istvan
+it
+Italian
+italic
+Italy
+itch
+itchy
+it'd
+item
+iterate
+Ithaca
+itinerant
+itinerary
+it'll
+Ito
+itself
+IT&T
+ITT
+iv
+Ivan
+Ivanhoe
+I've
+Iverson
+ivory
+ivy
+ix
+Izvestia
+j
+jab
+Jablonsky
+jack
+jackal
+jackanapes
+jackass
+jackboot
+jackdaw
+jacket
+Jackie
+jackknife
+Jackman
+jackpot
+Jackson
+Jacksonville
+Jacky
+JACM
+Jacob
+Jacobean
+Jacobi
+Jacobian
+Jacobite
+Jacobsen
+Jacobson
+Jacobus
+Jacqueline
+Jacques
+jade
+Jaeger
+jag
+jagging
+jaguar
+Jaime
+Jakarta
+jake
+jalopy
+jam
+Jamaica
+jamboree
+James
+Jamestown
+Jan
+Jane
+Janeiro
+Janet
+jangle
+Janice
+janissary
+janitor
+janitorial
+Janos
+Jansenist
+January
+Janus
+Japan
+Japanese
+jar
+jargon
+Jarvin
+Jason
+jasper
+jaundice
+jaunty
+Java
+java
+javelin
+jaw
+jawbone
+jay
+jazz
+jazzy
+jealous
+jealousy
+jean
+Jeannie
+Jed
+jeep
+Jeff
+Jefferson
+Jeffrey
+Jehovah
+jejune
+jejunum
+jelly
+jellyfish
+Jenkins
+Jennie
+Jennifer
+Jennings
+jenny
+Jensen
+jeopard
+jeopardy
+Jeremiah
+Jeremy
+Jeres
+Jericho
+jerk
+jerky
+Jeroboam
+Jerome
+jerry
+jersey
+Jerusalem
+jess
+Jesse
+Jessica
+Jessie
+jest
+Jesuit
+Jesus
+jet
+jetliner
+jettison
+Jew
+jewel
+Jewell
+jewelry
+Jewett
+Jewish
+jibe
+jiffy
+jig
+jigging
+jiggle
+jigsaw
+Jill
+jilt
+Jim
+Jimenez
+Jimmie
+jimmy
+jingle
+jinx
+jitter
+jitterbug
+jittery
+jive
+Jo
+Joan
+Joanna
+Joanne
+Joaquin
+job
+jobholder
+jock
+jockey
+jockstrap
+jocose
+jocular
+jocund
+Joe
+Joel
+joey
+jog
+jogging
+joggle
+Johann
+Johanna
+Johannes
+Johannesburg
+Johansen
+Johanson
+John
+Johnny
+Johnsen
+Johnson
+Johnston
+Johnstown
+join
+joint
+joke
+Joliet
+Jolla
+jolly
+jolt
+Jon
+Jonas
+Jonathan
+Jones
+jonquil
+Jordan
+Jorge
+Jorgensen
+Jorgenson
+Jose
+Josef
+Joseph
+Josephine
+Josephson
+Josephus
+Joshua
+Josiah
+joss
+jostle
+jot
+joule
+jounce
+journal
+journalese
+journey
+journeyman
+journeymen
+joust
+Jovanovich
+Jove
+jovial
+Jovian
+jowl
+jowly
+joy
+Joyce
+joyful
+joyous
+joyride
+joystick
+Jr
+j's
+Juan
+Juanita
+jubilant
+jubilate
+Judaica
+Judaism
+Judas
+Judd
+Jude
+judge
+judicable
+judicatory
+judicature
+judicial
+judiciary
+judicious
+Judith
+judo
+Judson
+Judy
+jug
+jugate
+juggernaut
+jugging
+juggle
+Jugoslavia
+juice
+juicy
+juju
+jujube
+juke
+jukebox
+Jukes
+julep
+Jules
+Julia
+Julie
+Juliet
+Julio
+Julius
+July
+jumble
+jumbo
+jump
+jumpy
+junco
+junction
+junctor
+juncture
+June
+Juneau
+Jung
+Jungian
+jungle
+junior
+juniper
+junk
+junkerdom
+junketeer
+junky
+Juno
+junta
+Jupiter
+Jura
+Jurassic
+jure
+juridic
+jurisdiction
+jurisprudent
+jurisprudential
+juror
+jury
+just
+justice
+justiciable
+justify
+Justine
+Justinian
+jut
+jute
+Jutish
+Jutland
+juvenile
+juxtapose
+juxtaposition
+k
+Kabuki
+Kabul
+Kaddish
+Kafka
+Kafkaesque
+Kahn
+kaiser
+Kajar
+Kalamazoo
+kale
+kaleidescope
+kaleidoscope
+kalmia
+Kalmuk
+Kamchatka
+kamikaze
+Kampala
+Kampuchea
+Kane
+kangaroo
+Kankakee
+Kannada
+Kansas
+Kant
+kaolin
+kaolinite
+Kaplan
+kapok
+kappa
+Karachi
+Karamazov
+karate
+Karen
+Karl
+karma
+Karol
+Karp
+karyatid
+Kashmir
+Kaskaskia
+Kate
+Katharine
+Katherine
+Kathleen
+Kathy
+Katie
+Katmandu
+Katowice
+katydid
+Katz
+Kauffman
+Kaufman
+kava
+Kay
+kayo
+kazoo
+Keaton
+Keats
+keddah
+keel
+keelson
+keen
+Keenan
+keep
+keeshond
+keg
+Keith
+Keller
+Kelley
+Kellogg
+kelly
+kelp
+Kelsey
+Kelvin
+Kemp
+ken
+Kendall
+Kennan
+Kennecott
+Kennedy
+kennel
+Kenneth
+Kenney
+keno
+Kensington
+Kent
+Kenton
+Kentucky
+Kenya
+Kenyon
+Kepler
+kept
+kerchief
+Kermit
+kern
+kernel
+Kernighan
+kerosene
+Kerouac
+Kerr
+kerry
+kerygma
+Kessler
+kestrel
+ketch
+ketchup
+keto
+ketone
+ketosis
+Kettering
+kettle
+Kevin
+key
+keyboard
+Keyes
+keyhole
+Keynes
+Keynesian
+keynote
+keypunch
+keystone
+keyword
+khaki
+khan
+Khartoum
+Khmer
+Khrushchev
+kibbutzim
+kibitz
+kick
+kickback
+kickoff
+kid
+Kidde
+kiddie
+kidnap
+kidnapped
+kidnapping
+kidney
+Kieffer
+Kiev
+Kiewit
+Kigali
+Kikuyu
+Kilgore
+Kilimanjaro
+kill
+killdeer
+killjoy
+kilohm
+Kim
+Kimball
+Kimberly
+kimono
+kin
+kind
+kindergarten
+kindle
+kindred
+kinematic
+kinesic
+kinetic
+king
+kingbird
+kingdom
+kingfisher
+kinglet
+kingpin
+Kingsbury
+Kingsley
+Kingston
+kink
+kinkajou
+kinky
+Kinney
+Kinshasha
+kinsman
+kinsmen
+kiosk
+Kiowa
+Kipling
+Kirby
+Kirchner
+Kirchoff
+kirk
+Kirkland
+Kirkpatrick
+Kirov
+kiss
+kit
+Kitakyushu
+kitchen
+kitchenette
+kite
+kitten
+kittenish
+kittle
+kitty
+kiva
+kivu
+Kiwanis
+kiwi
+Klan
+Klaus
+klaxon
+kleenex
+Klein
+Kline
+Klux
+klystron
+knack
+Knapp
+knapsack
+Knauer
+knead
+knee
+kneecap
+kneel
+knelt
+knew
+knick
+Knickerbocker
+knife
+knight
+Knightsbridge
+knit
+knives
+knob
+knobby
+knock
+knockdown
+knockout
+knoll
+Knossos
+knot
+Knott
+knotty
+know
+knoweth
+knowhow
+knowledge
+knowledgeable
+Knowles
+Knowlton
+known
+Knox
+Knoxville
+knuckle
+knuckleball
+Knudsen
+Knudson
+knurl
+Knutsen
+Knutson
+koala
+Kobayashi
+Koch
+Kochab
+Kodachrome
+kodak
+Kodiak
+Koenig
+Koenigsberg
+kohlrabi
+koinonia
+kola
+kolkhoz
+kombu
+Kong
+Konrad
+Koppers
+Koran
+Korea
+kosher
+Kovacs
+Kowalewski
+Kowalski
+Kowloon
+kraft
+Krakatoa
+Krakow
+Kramer
+Krause
+kraut
+Krebs
+Kremlin
+Kresge
+Krieger
+krill
+Krishna
+Kristin
+Kronecker
+Krueger
+Kruger
+krummholz
+Kruse
+krypton
+KS
+k's
+Ku
+kudo
+kudzu
+Kuhn
+kulak
+Kumar
+kumquat
+Kurd
+Kurt
+Kuwait
+kwashiorkor
+KY
+Kyle
+Kyoto
+l
+la
+lab
+Laban
+label
+labia
+labial
+labile
+lability
+labium
+laboratory
+laborious
+labour
+Labrador
+labradorite
+labyrinth
+lac
+lace
+lacerate
+Lacerta
+lacewing
+Lachesis
+lachrymose
+lack
+lackadaisic
+lackey
+laconic
+lacquer
+lacrosse
+lactate
+lactose
+lacuna
+lacunae
+lacustrine
+lacy
+lad
+laden
+ladle
+lady
+ladybird
+ladybug
+ladyfern
+Lafayette
+lag
+lager
+lagging
+lagoon
+Lagos
+Lagrange
+Lagrangian
+Laguerre
+Lahore
+laid
+Laidlaw
+lain
+lair
+laissez
+laity
+lake
+Lakehurst
+lakeside
+lakh
+lam
+lama
+Lamar
+Lamarck
+lamb
+lambda
+lambert
+lame
+lamellar
+lament
+lamentation
+laminar
+laminate
+lamp
+lampblack
+lamplight
+lampoon
+lamprey
+Lana
+Lancashire
+Lancaster
+lance
+Lancelot
+lancet
+land
+landau
+landfill
+landhold
+Landis
+landlady
+landlocked
+landlord
+landlubber
+landmark
+landmass
+landowner
+landowning
+landscape
+landslide
+lane
+Lang
+Lange
+Langley
+Langmuir
+language
+languid
+languish
+langur
+Lanka
+lanky
+Lansing
+lantern
+lanthanide
+lanthanum
+Lao
+Laocoon
+Laos
+Laotian
+lap
+lapel
+lapelled
+lapidary
+Laplace
+lappet
+lapse
+Laramie
+larceny
+larch
+lard
+Laredo
+Lares
+large
+largemouth
+largesse
+lariat
+lark
+Larkin
+larkspur
+Larry
+Lars
+Larsen
+Larson
+larva
+larvae
+larval
+laryngeal
+larynges
+larynx
+lascar
+lascivious
+lase
+lash
+lass
+lasso
+last
+Laszlo
+latch
+late
+latent
+later
+latera
+lateral
+Lateran
+laterite
+latex
+lath
+lathe
+Lathrop
+Latin
+Latinate
+latitude
+latitudinal
+latitudinary
+Latrobe
+latter
+lattice
+latus
+Latvia
+laud
+laudanum
+laudatory
+Lauderdale
+Laue
+laugh
+laughingstock
+Laughlin
+laughter
+launch
+launder
+laundry
+laura
+laureate
+laurel
+Lauren
+Laurent
+Laurentian
+Laurie
+Lausanne
+lava
+lavabo
+lavatory
+lavender
+lavish
+Lavoisier
+law
+lawbreaker
+lawbreaking
+lawful
+lawgiver
+lawgiving
+lawmake
+lawman
+lawmen
+lawn
+Lawrence
+lawrencium
+Lawson
+lawsuit
+lawyer
+lax
+laxative
+lay
+layette
+layman
+laymen
+layoff
+layout
+layperson
+Layton
+layup
+Lazarus
+laze
+lazy
+lazybones
+lea
+leach
+leachate
+lead
+leaden
+leadeth
+leadsman
+leadsmen
+leaf
+leaflet
+leafy
+league
+leak
+leakage
+leaky
+lean
+Leander
+leap
+leapfrog
+leapt
+Lear
+learn
+lease
+leasehold
+leash
+least
+leather
+leatherback
+leatherneck
+leatherwork
+leathery
+leave
+leaven
+Leavenworth
+Lebanese
+Lebanon
+lebensraum
+Lebesgue
+lecher
+lechery
+lectern
+lectionary
+lecture
+led
+ledge
+lee
+leech
+Leeds
+leek
+leer
+leery
+Leeuwenhoek
+leeward
+leeway
+left
+leftmost
+leftover
+leftward
+lefty
+leg
+legacy
+legal
+legate
+legatee
+legato
+legend
+legendary
+Legendre
+legerdemain
+legging
+leggy
+leghorn
+legible
+legion
+legislate
+legislature
+legitimacy
+legitimate
+legume
+leguminous
+Lehigh
+Lehman
+Leibniz
+Leigh
+Leighton
+Leila
+leisure
+leitmotif
+leitmotiv
+Leland
+lemma
+lemming
+lemon
+lemonade
+Lemuel
+lemur
+Len
+Lena
+lend
+length
+lengthen
+lengthwise
+lengthy
+lenient
+Lenin
+Leningrad
+Lennox
+Lenny
+Lenore
+lens
+lent
+Lenten
+lenticular
+lentil
+Leo
+Leon
+Leona
+Leonard
+Leonardo
+Leone
+Leonid
+leonine
+leopard
+Leopold
+leper
+lepidolite
+lepidopterist
+leprosy
+Leroy
+Lesbian
+lesion
+Leslie
+Lesotho
+less
+lessee
+lessen
+lesson
+lessor
+lest
+Lester
+let
+lethal
+lethargy
+Lethe
+Letitia
+letterhead
+letterman
+lettermen
+lettuce
+leucine
+Lev
+levee
+level
+lever
+leverage
+Levi
+leviathan
+Levin
+Levine
+Levis
+levitate
+Leviticus
+Levitt
+levity
+levulose
+levy
+lew
+lewd
+lewis
+lexical
+lexicographer
+lexicography
+lexicon
+Lexington
+Leyden
+liable
+liaison
+liana
+liar
+libation
+libel
+libelous
+liberal
+liberate
+Liberia
+libertarian
+libertine
+liberty
+libidinous
+libido
+Libra
+librarian
+library
+librate
+librettist
+libretto
+Libreville
+Libya
+lice
+licensable
+licensee
+licensor
+licentious
+lichen
+lick
+licorice
+lid
+lie
+Lieberman
+Liechtenstein
+lien
+lieu
+lieutenant
+life
+lifeblood
+lifeboat
+lifeguard
+lifelong
+lifespan
+lifestyle
+lifetime
+LIFO
+lift
+ligament
+ligand
+ligature
+Ligget
+Liggett
+light
+lighten
+lightface
+lightfooted
+lighthearted
+lighthouse
+lightning
+lightproof
+lightweight
+lignite
+lignum
+like
+likeable
+liken
+likewise
+Lila
+lilac
+Lilian
+Lillian
+Lilliputian
+Lilly
+lilt
+lily
+lim
+Lima
+limb
+limbic
+limbo
+lime
+limelight
+limerick
+limestone
+limit
+limitate
+limnology
+limousine
+limp
+limpet
+limpid
+limpkin
+Lin
+linchpin
+Lincoln
+Lind
+Linda
+Lindberg
+Lindbergh
+linden
+Lindholm
+Lindquist
+Lindsay
+Lindsey
+Lindstrom
+line
+lineage
+lineal
+linear
+linebacker
+lineman
+linemen
+linen
+lineprinter
+lineup
+linger
+lingerie
+lingo
+lingua
+lingual
+linguist
+liniment
+link
+linkage
+Linnaeus
+linoleic
+linoleum
+Linotype
+linseed
+lint
+Linton
+Linus
+lion
+Lionel
+lioness
+lip
+lipid
+Lippincott
+Lipschitz
+Lipscomb
+lipstick
+Lipton
+liquefaction
+liquefy
+liqueur
+liquid
+liquidate
+liquor
+Lisa
+Lisbon
+Lise
+lisle
+lisp
+Lissajous
+list
+listen
+lit
+litany
+literacy
+literal
+literary
+literate
+literature
+lithe
+lithic
+lithium
+lithograph
+lithography
+lithology
+lithosphere
+lithospheric
+Lithuania
+litigant
+litigate
+litigious
+litmus
+litterbug
+littermate
+little
+littleneck
+Littleton
+Litton
+littoral
+liturgic
+liturgy
+live
+liven
+Livermore
+Liverpool
+Liverpudlian
+liverwort
+livery
+livestock
+liveth
+livid
+Livingston
+livre
+Liz
+lizard
+Lizzie
+llama
+Lloyd
+lo
+load
+loaf
+loam
+loamy
+loan
+loanword
+loath
+loathe
+loathsome
+loaves
+lob
+lobar
+lobby
+lobe
+Lobelia
+loblolly
+lobo
+lobscouse
+lobster
+lobular
+lobule
+local
+locale
+locate
+loch
+loci
+lock
+Locke
+Lockhart
+Lockheed
+Lockian
+locknut
+lockout
+locksmith
+lockup
+Lockwood
+locomote
+locomotion
+locomotive
+locomotor
+locomotory
+locoweed
+locus
+locust
+locutor
+lodestone
+lodge
+lodgepole
+Lodowick
+Loeb
+l'oeil
+loess
+loft
+lofty
+log
+Logan
+logarithm
+logarithmic
+loge
+loggerhead
+logging
+logic
+logician
+login
+logistic
+logjam
+loin
+loincloth
+Loire
+Lois
+loiter
+Loki
+Lola
+loll
+lollipop
+lolly
+Lomb
+Lombard
+Lombardy
+Lome
+London
+lone
+lonesome
+long
+longevity
+Longfellow
+longhand
+longhorn
+longish
+longitude
+longitudinal
+longleg
+longstanding
+longtime
+longue
+longwinded
+look
+lookout
+lookup
+loom
+Loomis
+loon
+loop
+loophole
+loose
+looseleaf
+loosen
+loosestrife
+loot
+lop
+lope
+Lopez
+lopseed
+lopsided
+loquacious
+loquacity
+loquat
+lord
+lordosis
+lore
+Lorelei
+Loren
+Lorenz
+Lorinda
+loris
+Lorraine
+lorry
+losable
+lose
+loss
+lossy
+lost
+lot
+lotion
+Lotte
+lottery
+Lottie
+lotus
+Lou
+loud
+loudspeaker
+loudspeaking
+Louis
+Louisa
+Louise
+Louisiana
+Louisville
+lounge
+Lounsbury
+Lourdes
+louse
+lousewort
+lousy
+Louvre
+love
+lovebird
+Lovelace
+Loveland
+lovelorn
+low
+lowboy
+lowdown
+Lowe
+Lowell
+lowland
+Lowry
+lox
+loy
+loyal
+loyalty
+lozenge
+l's
+LSI
+LTV
+Lubbock
+Lubell
+lubricant
+lubricate
+lubricious
+lubricity
+Lucas
+Lucerne
+Lucia
+Lucian
+lucid
+Lucifer
+Lucille
+Lucius
+luck
+lucky
+lucrative
+lucre
+Lucretia
+Lucretius
+lucy
+ludicrous
+Ludlow
+Ludwig
+Lufthansa
+Luftwaffe
+lug
+luge
+luger
+luggage
+lugging
+lugubrious
+Luis
+luke
+lukewarm
+lull
+lullaby
+lulu
+lumbago
+lumbar
+lumber
+lumberjack
+lumberman
+lumbermen
+lumen
+luminance
+luminary
+luminescent
+luminosity
+luminous
+lummox
+lump
+lumpish
+Lumpur
+lumpy
+lunacy
+lunar
+lunary
+lunate
+lunatic
+lunch
+luncheon
+lunchroom
+lunchtime
+Lund
+Lundberg
+Lundquist
+lung
+lunge
+lupine
+Lura
+lurch
+lure
+lurid
+lurk
+Lusaka
+luscious
+lush
+lust
+lustful
+lustrous
+lusty
+lutanist
+lute
+lutetium
+Luther
+Lutheran
+Lutz
+lux
+luxe
+Luxembourg
+luxuriant
+luxuriate
+luxurious
+luxury
+Luzon
+L'vov
+lycee
+lycopodium
+Lydia
+lye
+lying
+Lykes
+Lyle
+Lyman
+lymph
+lymphocyte
+lymphoma
+lynch
+Lynchburg
+Lynn
+lynx
+Lyon
+Lyra
+lyre
+lyrebird
+lyric
+Lysenko
+lysergic
+lysine
+m
+ma
+Mabel
+Mac
+macabre
+Macadamia
+macaque
+MacArthur
+Macassar
+macaw
+Macbeth
+MacDonald
+MacDougall
+mace
+Macedon
+Macedonia
+macerate
+MacGregor
+Mach
+machete
+Machiavelli
+machination
+machine
+machinery
+machismo
+macho
+macintosh
+mack
+MacKenzie
+mackerel
+Mackey
+Mackinac
+Mackinaw
+mackintosh
+MacMahon
+MacMillan
+Macon
+macro
+macromolecular
+macromolecule
+macrophage
+macroscopic
+macrostructure
+mad
+Madagascar
+madam
+Madame
+madcap
+madden
+Maddox
+made
+Madeira
+Madeleine
+Madeline
+madhouse
+Madhya
+Madison
+madman
+madmen
+Madonna
+Madras
+Madrid
+madrigal
+Madsen
+madstone
+Mae
+maelstrom
+maestro
+Mafia
+Mafioso
+magazine
+Magdalene
+Magellanic
+magenta
+Maggie
+maggot
+maggoty
+magi
+magic
+magician
+magisterial
+magistrate
+magma
+magna
+magnanimity
+magnanimous
+magnate
+magnesia
+magnesite
+magnesium
+magnet
+magnetic
+magnetite
+magneto
+magnetron
+magnificent
+magnify
+magnitude
+magnolia
+magnum
+Magnuson
+Magog
+magpie
+Magruder
+maharaja
+Maharashtra
+Mahayana
+Mahayanist
+mahogany
+Mahoney
+maid
+maiden
+maidenhair
+maidservant
+Maier
+mail
+mailbox
+mailman
+mailmen
+maim
+main
+Maine
+mainframe
+mainland
+mainline
+mainstay
+mainstream
+maintain
+maintenance
+maitre
+majestic
+majesty
+major
+Majorca
+make
+makeshift
+makeup
+Malabar
+maladapt
+maladaptive
+maladjust
+maladroit
+malady
+Malagasy
+malaise
+malaprop
+malaria
+malarial
+Malawi
+Malay
+Malaysia
+Malcolm
+malconduct
+malcontent
+Malden
+maldistribute
+Maldive
+male
+maledict
+malevolent
+malfeasant
+malformation
+malformed
+malfunction
+Mali
+malice
+malicious
+malign
+malignant
+mall
+mallard
+malleable
+mallet
+Mallory
+mallow
+malnourished
+malnutrition
+malocclusion
+Malone
+Maloney
+malposed
+malpractice
+Malraux
+malt
+Malta
+Maltese
+Malthus
+Malthusian
+Malton
+maltose
+maltreat
+maltster
+mambo
+mamma
+mammal
+mammalian
+mammary
+mammoth
+man
+mana
+manage
+manageable
+managerial
+Managua
+Manama
+manatee
+Manchester
+Manchuria
+mandamus
+mandarin
+mandate
+mandatory
+mandible
+mandrake
+mandrel
+mandrill
+mane
+maneuver
+Manfred
+manganese
+mange
+mangel
+mangle
+mango
+mangrove
+mangy
+Manhattan
+manhole
+mania
+maniac
+maniacal
+manic
+manicure
+manifest
+manifestation
+manifesto
+manifold
+manikin
+Manila
+manioc
+manipulable
+manipulate
+Manitoba
+mankind
+Manley
+Mann
+manna
+mannequin
+mannitol
+manometer
+manor
+manpower
+manse
+manservant
+Mansfield
+mansion
+manslaughter
+mantel
+mantelpiece
+mantic
+mantis
+mantissa
+mantle
+mantrap
+manual
+Manuel
+manufacture
+manumission
+manumit
+manumitted
+manure
+manuscript
+Manville
+many
+manzanita
+Mao
+Maori
+map
+maple
+mar
+marathon
+maraud
+marble
+Marc
+Marceau
+Marcel
+Marcello
+march
+Marcia
+Marco
+Marcus
+Marcy
+Mardi
+mare
+Margaret
+margarine
+Margery
+margin
+marginal
+marginalia
+Margo
+Marguerite
+maria
+Marianne
+Marie
+Marietta
+marigold
+marijuana
+Marilyn
+marimba
+Marin
+marina
+marinade
+marinate
+marine
+Marino
+Mario
+Marion
+marionette
+marital
+maritime
+marjoram
+Marjorie
+Marjory
+mark
+market
+marketeer
+marketplace
+marketwise
+Markham
+Markov
+Markovian
+marksman
+marksmen
+Marlboro
+Marlborough
+Marlene
+marlin
+Marlowe
+marmalade
+marmoset
+marmot
+maroon
+marque
+marquee
+marquess
+Marquette
+marquis
+marriage
+marriageable
+Marrietta
+Marriott
+marrow
+marrowbone
+marry
+Marseilles
+marsh
+Marsha
+marshal
+Marshall
+marshland
+marshmallow
+marshy
+marsupial
+mart
+marten
+martensite
+Martha
+martial
+Martian
+martin
+Martinez
+martingale
+martini
+Martinique
+Martinson
+Marty
+martyr
+martyrdom
+marvel
+marvelous
+Marvin
+Marx
+Mary
+Maryland
+marzipan
+mascara
+masculine
+maser
+Maseru
+mash
+mask
+masochism
+masochist
+mason
+Masonic
+Masonite
+masonry
+masque
+masquerade
+mass
+Massachusetts
+massacre
+massage
+masseur
+Massey
+massif
+massive
+mast
+masterful
+mastermind
+masterpiece
+mastery
+mastic
+mastiff
+mastodon
+mat
+match
+matchbook
+matchmake
+mate
+Mateo
+mater
+material
+materiel
+maternal
+maternity
+math
+mathematic
+mathematician
+Mathews
+Mathewson
+Mathias
+Mathieu
+Matilda
+matinal
+matinee
+matins
+Matisse
+matriarch
+matriarchal
+matriarchy
+matrices
+matriculate
+matrilineal
+matrimonial
+matrimony
+matrix
+matroid
+matron
+Matson
+Matsumoto
+matte
+Matthew
+mattock
+mattress
+Mattson
+maturate
+mature
+maudlin
+maul
+Maureen
+Maurice
+Mauricio
+Maurine
+Mauritania
+Mauritius
+mausoleum
+mauve
+maverick
+Mavis
+maw
+mawkish
+Mawr
+max
+maxim
+maxima
+maximal
+Maximilian
+maximum
+Maxine
+maxwell
+Maxwellian
+may
+Maya
+mayapple
+maybe
+Mayer
+Mayfair
+Mayflower
+mayfly
+mayhem
+Maynard
+Mayo
+mayonnaise
+mayor
+mayoral
+mayst
+Mazda
+maze
+mazurka
+MBA
+Mbabane
+McAdams
+McAllister
+McBride
+McCabe
+McCall
+McCallum
+McCann
+McCarthy
+McCarty
+McCauley
+McClain
+McClellan
+McClure
+McCluskey
+McConnel
+McConnell
+McCormick
+McCoy
+McCracken
+McCullough
+McDaniel
+McDermott
+McDonald
+McDonnell
+McDougall
+McDowell
+McElroy
+McFadden
+McFarland
+McGee
+McGill
+McGinnis
+McGovern
+McGowan
+McGrath
+McGraw
+McGregor
+McGuire
+McHugh
+McIntosh
+McIntyre
+McKay
+McKee
+McKenna
+McKenzie
+McKeon
+McKesson
+McKinley
+McKinney
+McKnight
+McLaughlin
+McLean
+McLeod
+McMahon
+McMillan
+McMullen
+McNally
+McNaughton
+McNeil
+McNulty
+McPherson
+MD
+me
+mead
+meadow
+meadowland
+meadowlark
+meadowsweet
+meager
+meal
+mealtime
+mealy
+mean
+meander
+meaningful
+meant
+meantime
+meanwhile
+measle
+measure
+meat
+meaty
+Mecca
+mechanic
+mechanism
+mechanist
+mecum
+medal
+medallion
+meddle
+Medea
+Medford
+media
+medial
+median
+mediate
+medic
+medicate
+Medici
+medicinal
+medicine
+medico
+mediocre
+mediocrity
+meditate
+Mediterranean
+medium
+medlar
+medley
+Medusa
+meek
+meet
+meetinghouse
+Meg
+megabit
+megabyte
+megahertz
+megalomania
+megalomaniac
+megalopolis
+megaton
+megavolt
+megawatt
+megaword
+megohm
+Meier
+Meiji
+meiosis
+Meistersinger
+Mekong
+Mel
+melamine
+melancholy
+Melanesia
+melange
+Melanie
+melanin
+melanism
+melanoma
+Melbourne
+Melcher
+meld
+melee
+Melinda
+meliorate
+Melissa
+Mellon
+mellow
+melodic
+melodious
+melodrama
+melodramatic
+melody
+melon
+Melpomene
+melt
+meltdown
+Melville
+Melvin
+member
+membrane
+memento
+memo
+memoir
+memorabilia
+memorable
+memoranda
+memorandum
+memorial
+memory
+Memphis
+men
+menace
+menagerie
+menarche
+mend
+mendacious
+mendacity
+Mendel
+mendelevium
+Mendelian
+Mendelssohn
+Menelaus
+menfolk
+menhaden
+menial
+meningitis
+meniscus
+Menlo
+Mennonite
+menopausal
+menopause
+Menorca
+menstrual
+menstruate
+mensurable
+mensuration
+mental
+mention
+mentor
+menu
+Menzies
+meow
+Mephistopheles
+mercantile
+Mercator
+Mercedes
+mercenary
+mercer
+merchandise
+merchant
+merciful
+Merck
+mercurial
+mercuric
+mercury
+mercy
+mere
+Meredith
+meretricious
+merganser
+merge
+meridian
+meridional
+meringue
+merit
+meritorious
+Merle
+merlin
+mermaid
+Merriam
+Merrill
+Merrimack
+merriment
+Merritt
+merry
+merrymake
+Mervin
+mesa
+mescal
+mescaline
+mesenteric
+mesh
+mesmeric
+mesoderm
+meson
+Mesopotamia
+Mesozoic
+mesquite
+mess
+message
+messenger
+Messiah
+messiah
+messianic
+messieurs
+Messrs
+messy
+mestizo
+met
+metabole
+metabolic
+metabolism
+metabolite
+metal
+metallic
+metalliferous
+metallography
+metalloid
+metallurgic
+metallurgist
+metallurgy
+metalwork
+metamorphic
+metamorphism
+metamorphose
+metamorphosis
+metaphor
+metaphoric
+metazoa
+metazoan
+Metcalf
+mete
+meteor
+meteoric
+meteorite
+meteoritic
+meteorology
+meter
+methacrylate
+methane
+methanol
+methionine
+method
+methodic
+methodology
+Methuen
+Methuselah
+methyl
+methylene
+meticulous
+metier
+metonymy
+metric
+metro
+metronome
+metropolis
+metropolitan
+mettle
+mettlesome
+Metzler
+mew
+Mexican
+Mexico
+Meyer
+mezzanine
+mezzo
+mi
+Miami
+miaow
+miasma
+miasmal
+mica
+mice
+Michael
+Michaelangelo
+Michel
+Michelangelo
+Michele
+Michelin
+Michelson
+michigan
+Mickelson
+Mickey
+Micky
+micro
+microbe
+microbial
+microcosm
+micrography
+micron
+Micronesia
+microscopy
+mid
+Midas
+midband
+midday
+middle
+Middlebury
+middleman
+middlemen
+Middlesex
+Middleton
+Middletown
+middleweight
+midge
+midget
+midland
+midmorn
+midnight
+midpoint
+midrange
+midscale
+midsection
+midshipman
+midshipmen
+midspan
+midst
+midstream
+midterm
+midway
+midweek
+Midwest
+Midwestern
+midwife
+midwinter
+midwives
+midyear
+mien
+miff
+mig
+might
+mightn't
+mighty
+mignon
+migrant
+migrate
+migratory
+Miguel
+mike
+mila
+Milan
+milch
+mild
+mildew
+Mildred
+mile
+mileage
+Miles
+milestone
+milieu
+militant
+militarism
+militarist
+military
+militate
+militia
+militiaman
+militiamen
+milk
+milkweed
+milky
+mill
+Millard
+millenarian
+millenia
+millennia
+millennium
+millet
+Millie
+Millikan
+millinery
+million
+millionaire
+millionfold
+millionth
+millipede
+millstone
+milord
+milt
+Milton
+Miltonic
+Milwaukee
+mimeograph
+mimesis
+mimetic
+Mimi
+mimic
+mimicked
+mimicking
+mimicry
+mimosa
+min
+minaret
+mince
+mincemeat
+mind
+Mindanao
+mindful
+mine
+minefield
+mineral
+mineralogy
+Minerva
+minestrone
+minesweeper
+mingle
+mini
+miniature
+minicomputer
+minim
+minima
+minimal
+minimax
+minimum
+minion
+ministerial
+ministry
+mink
+Minneapolis
+Minnesota
+Minnie
+minnow
+Minoan
+minor
+Minos
+minot
+Minotaur
+Minsk
+Minsky
+minstrel
+minstrelsy
+mint
+minuend
+minuet
+minus
+minuscule
+minute
+minuteman
+minutemen
+minutiae
+Miocene
+Mira
+miracle
+miraculous
+mirage
+Miranda
+mire
+Mirfak
+Miriam
+mirror
+mirth
+misanthrope
+misanthropic
+miscegenation
+miscellaneous
+miscellany
+mischievous
+miscible
+miscreant
+miser
+misery
+misnomer
+misogynist
+misogyny
+miss
+misshapen
+missile
+mission
+missionary
+Mississippi
+Mississippian
+missive
+Missoula
+Missouri
+Missy
+mist
+mistletoe
+mistress
+misty
+MIT
+Mitchell
+mite
+miterwort
+mitigate
+mitochondria
+mitosis
+mitral
+mitre
+mitt
+mitten
+mix
+mixture
+mixup
+Mizar
+MN
+mnemonic
+MO
+moan
+moat
+mob
+mobcap
+Mobil
+mobile
+mobility
+mobster
+moccasin
+mocha
+mock
+mockernut
+mockery
+mockingbird
+mockup
+modal
+mode
+model
+modem
+moderate
+modern
+modest
+Modesto
+modesty
+modicum
+modify
+modish
+modular
+modulate
+module
+moduli
+modulo
+modulus
+Moe
+Moen
+Mogadiscio
+Moghul
+Mohammed
+Mohammedan
+Mohawk
+Mohr
+moiety
+Moines
+moire
+Moiseyev
+moist
+moisten
+moisture
+molal
+molar
+molasses
+mold
+Moldavia
+moldboard
+moldy
+mole
+molecular
+molecule
+molehill
+molest
+Moliere
+Moline
+Moll
+Mollie
+mollify
+mollusk
+Molly
+mollycoddle
+Moloch
+molt
+molten
+Moluccas
+molybdate
+molybdenite
+molybdenum
+moment
+momenta
+momentary
+momentous
+momentum
+mommy
+Mona
+Monaco
+monad
+monadic
+monarch
+monarchic
+monarchy
+Monash
+monastery
+monastic
+monaural
+Monday
+monel
+monetarism
+monetary
+money
+moneymake
+moneywort
+Mongolia
+mongoose
+monic
+Monica
+monies
+monitor
+monitory
+monk
+monkey
+monkeyflower
+monkish
+Monmouth
+Monoceros
+monochromator
+monocular
+monogamous
+monogamy
+monolith
+monologist
+monologue
+monomer
+monomeric
+monomial
+Monongahela
+monopoly
+monotonous
+monotreme
+monoxide
+Monroe
+Monrovia
+Monsanto
+monsieur
+monsoon
+monster
+monstrosity
+monstrous
+Mont
+montage
+Montague
+Montana
+Montclair
+monte
+Montenegrin
+Monterey
+Monteverdi
+Montevideo
+Montgomery
+month
+Monticello
+Montmartre
+Montpelier
+Montrachet
+Montreal
+Monty
+monument
+moo
+mooch
+mood
+moody
+moon
+moonbeam
+Mooney
+moonlight
+moonlit
+moor
+Moore
+Moorish
+moose
+moot
+mop
+moraine
+moral
+morale
+Moran
+morass
+moratorium
+Moravia
+morbid
+more
+morel
+Moreland
+moreover
+Moresby
+Morgan
+morgen
+morgue
+Moriarty
+moribund
+Morley
+Mormon
+morn
+Moroccan
+Morocco
+moron
+morose
+morpheme
+morphemic
+morphine
+morphism
+morphology
+morphophonemic
+Morrill
+morris
+Morrison
+Morrissey
+Morristown
+morrow
+Morse
+morsel
+mort
+mortal
+mortar
+mortem
+mortgage
+mortgagee
+mortgagor
+mortician
+mortify
+mortise
+Morton
+mortuary
+mosaic
+Moscow
+Moser
+Moses
+Moslem
+mosque
+mosquito
+mosquitoes
+moss
+mossy
+most
+mot
+motel
+motet
+moth
+mother
+motherland
+motif
+motion
+motivate
+motive
+motley
+motor
+motorcade
+motorcar
+motorcycle
+Motorola
+mottle
+motto
+mould
+Moulton
+mound
+mount
+mountain
+mountaineer
+mountainous
+mountainside
+mountaintop
+mountebank
+mourn
+mournful
+mouse
+mousse
+moustache
+mousy
+mouth
+mouthful
+mouthpart
+mouthpiece
+Mouton
+move
+movie
+mow
+Moyer
+Mozart
+mozzarella
+MPH
+Mr
+Mrs
+Ms
+m's
+Mt
+mu
+much
+mucilage
+muck
+mucosa
+mucus
+mud
+Mudd
+muddle
+muddlehead
+muddy
+mudguard
+mudhole
+mudsling
+Mueller
+Muenster
+muezzin
+muff
+muffin
+muffle
+mug
+mugging
+muggy
+mugho
+Muir
+Mukden
+mukluk
+mulatto
+mulberry
+mulch
+mulct
+mule
+mulish
+mull
+mullah
+mullein
+Mullen
+mulligan
+mulligatawny
+mullion
+multi
+Multics
+multifarious
+multinomial
+multiple
+multiplet
+multiplex
+multiplexor
+multiplicand
+multiplication
+multiplicative
+multiplicity
+multitude
+multitudinous
+mum
+mumble
+Mumford
+mummify
+mummy
+munch
+Muncie
+mundane
+mung
+Munich
+municipal
+munificent
+munition
+Munson
+muon
+Muong
+mural
+murder
+murderous
+muriatic
+Muriel
+murk
+murky
+murmur
+Murphy
+Murray
+murre
+Muscat
+muscle
+Muscovite
+Muscovy
+muscular
+musculature
+muse
+museum
+mush
+mushroom
+mushy
+music
+musicale
+musician
+musicology
+musk
+Muskegon
+muskellunge
+musket
+muskmelon
+muskox
+muskoxen
+muskrat
+musky
+muslim
+muslin
+mussel
+must
+mustache
+mustachio
+mustang
+mustard
+mustn't
+musty
+mutagen
+mutandis
+mutant
+mutate
+mutatis
+mute
+mutilate
+mutineer
+mutiny
+mutt
+mutter
+mutton
+mutual
+mutuel
+Muzak
+Muzo
+muzzle
+my
+Mycenae
+Mycenaean
+mycobacteria
+mycology
+mycoplasma
+mycorrhiza
+myel
+myeline
+myeloid
+Myers
+mylar
+mynah
+Mynheer
+myocardial
+myocardium
+myofibril
+myoglobin
+myopia
+myopic
+myosin
+Myra
+myriad
+Myron
+myrrh
+myrtle
+myself
+Mysore
+mysterious
+mystery
+mystic
+mystify
+mystique
+myth
+mythic
+mythology
+n
+NAACP
+nab
+Nabisco
+Nadine
+nadir
+nag
+Nagasaki
+nagging
+Nagoya
+Nagy
+naiad
+nail
+Nair
+Nairobi
+naive
+naivete
+Nakayama
+naked
+name
+nameable
+nameplate
+namesake
+Nan
+Nancy
+Nanette
+Nanking
+nanosecond
+Nantucket
+Naomi
+nap
+napkin
+Naples
+Napoleon
+Napoleonic
+Narbonne
+narcissist
+narcissus
+narcosis
+narcotic
+Narragansett
+narrate
+narrow
+narrowminded
+narwhal
+nary
+NASA
+nasal
+nascent
+Nash
+Nashua
+Nashville
+Nassau
+nasturtium
+nasty
+Nat
+natal
+Natalie
+Natchez
+Nate
+Nathan
+Nathaniel
+nation
+nationwide
+native
+NATO
+natty
+natural
+nature
+naturopath
+naughty
+nausea
+nauseate
+nauseum
+nautical
+nautilus
+Navajo
+naval
+nave
+navel
+navigable
+navigate
+navy
+nawab
+nay
+Nazarene
+Nazareth
+Nazi
+Nazism
+NBC
+NBS
+NC
+NCAA
+NCO
+NCR
+ND
+Ndjamena
+ne
+Neal
+Neanderthal
+Neapolitan
+near
+nearby
+nearsighted
+neat
+neater
+neath
+Nebraska
+Nebuchadnezzar
+nebula
+nebulae
+nebular
+nebulous
+necessary
+necessitate
+necessity
+neck
+necklace
+neckline
+necktie
+necromancer
+necromancy
+necromantic
+necropsy
+necrosis
+necrotic
+nectar
+nectareous
+nectarine
+nectary
+Ned
+nee
+need
+needful
+needham
+needle
+needlepoint
+needn't
+needy
+nefarious
+Neff
+negate
+neglect
+negligee
+negligent
+negligible
+negotiable
+negotiate
+Negro
+Negroes
+Negroid
+Nehru
+neigh
+Neil
+neither
+Nell
+Nellie
+Nelsen
+Nelson
+nematocyst
+nematode
+nemesis
+neo
+neoclassic
+neodymium
+neolithic
+neologism
+neon
+neonatal
+neonate
+neophyte
+neoprene
+neoteny
+Nepal
+nepenthe
+nephew
+nepotism
+nepotistic
+Neptune
+neptunium
+nereid
+Nero
+nerve
+nervous
+Ness
+nest
+nestle
+Nestor
+net
+nether
+Netherlands
+netherworld
+nettle
+nettlesome
+network
+Neumann
+neural
+neuralgia
+neurasthenic
+neuritis
+neuroanatomic
+neuroanatomy
+neuroanotomy
+neurology
+neuromuscular
+neuron
+neuronal
+neuropathology
+neurophysiology
+neuropsychiatric
+neuroses
+neurosis
+neurotic
+neuter
+neutral
+neutrino
+neutron
+neutronium
+Neva
+Nevada
+neve
+nevertheless
+Nevins
+new
+Newark
+Newbold
+newborn
+Newcastle
+newcomer
+newel
+Newell
+newfound
+Newfoundland
+newline
+newlywed
+Newman
+Newport
+newsboy
+newscast
+newsletter
+newsman
+newsmen
+newspaper
+newspaperman
+newspapermen
+newsreel
+newsstand
+Newsweek
+newt
+newton
+Newtonian
+next
+Nguyen
+NH
+niacin
+Niagara
+Niamey
+nib
+nibble
+Nibelung
+Nicaragua
+nice
+nicety
+niche
+Nicholas
+Nicholls
+Nichols
+Nicholson
+nichrome
+nick
+nickel
+nickname
+Nicodemus
+Nicosia
+nicotinamide
+nicotine
+niece
+Nielsen
+Nielson
+Nietzsche
+nifty
+Niger
+Nigeria
+niggardly
+nigger
+niggle
+nigh
+night
+nightcap
+nightclub
+nightdress
+nightfall
+nightgown
+nighthawk
+nightingale
+nightmare
+nightmarish
+nightshade
+nightshirt
+nighttime
+NIH
+nihilism
+nihilist
+Nikko
+Nikolai
+nil
+Nile
+nilpotent
+nimble
+nimbus
+NIMH
+Nina
+nine
+ninebark
+ninefold
+nineteen
+nineteenth
+ninetieth
+ninety
+ninetyfold
+Nineveh
+ninth
+Niobe
+niobium
+nip
+nipple
+Nippon
+nirvana
+nit
+nitpick
+nitrate
+nitric
+nitride
+nitrite
+nitrogen
+nitrogenous
+nitroglycerine
+nitrous
+nitty
+Nixon
+NJ
+NM
+NNE
+NNW
+no
+NOAA
+Noah
+nob
+Nobel
+nobelium
+noble
+nobleman
+noblemen
+noblesse
+nobody
+nobody'd
+nocturnal
+nocturne
+nod
+nodal
+node
+nodular
+nodule
+Noel
+Noetherian
+noise
+noisemake
+noisome
+noisy
+Nolan
+Noll
+nolo
+nomad
+nomadic
+nomenclature
+nominal
+nominate
+nominee
+nomogram
+nomograph
+non
+nonce
+nonchalant
+nondescript
+none
+nonetheless
+nonogenarian
+nonsensic
+noodle
+nook
+noon
+noontime
+noose
+nor
+Nora
+Nordhoff
+Nordic
+Nordstrom
+Noreen
+Norfolk
+norm
+Norma
+normal
+normalcy
+Norman
+Normandy
+normative
+Norris
+Norse
+north
+Northampton
+northbound
+northeast
+northeastern
+northerly
+northern
+northernmost
+northland
+Northrop
+Northrup
+Northumberland
+northward
+northwest
+northwestern
+Norton
+Norwalk
+Norway
+Norwegian
+Norwich
+nose
+nosebag
+nosebleed
+nostalgia
+nostalgic
+Nostradamus
+Nostrand
+nostril
+nosy
+not
+notary
+notate
+notch
+note
+notebook
+noteworthy
+nothing
+notice
+noticeable
+notify
+notion
+notocord
+notoriety
+notorious
+Notre
+Nottingham
+notwithstanding
+Nouakchott
+nought
+noun
+nourish
+nouveau
+Nov
+nova
+novae
+Novak
+novel
+novelty
+November
+novice
+novitiate
+novo
+Novosibirsk
+now
+nowaday
+nowhere
+nowise
+noxious
+nozzle
+NRC
+nroff
+n's
+NSF
+NTIS
+nu
+nuance
+Nubia
+nubile
+nucleant
+nuclear
+nucleate
+nuclei
+nucleic
+nucleoli
+nucleolus
+nucleon
+nucleotide
+nucleus
+nuclide
+nude
+nudge
+nudibranch
+nugatory
+nugget
+nuisance
+null
+nullify
+Nullstellensatz
+numb
+numbly
+numerable
+numeral
+numerate
+numeric
+numerology
+numerous
+numinous
+numismatic
+numismatist
+nun
+nuptial
+nurse
+nursery
+nurturant
+nurture
+nut
+nutate
+nutcrack
+nuthatch
+nutmeg
+nutria
+nutrient
+nutrition
+nutritious
+nutritive
+nutshell
+nuzzle
+NV
+NW
+NY
+NYC
+nylon
+nymph
+nymphomania
+nymphomaniac
+Nyquist
+NYU
+o
+oaf
+oak
+oaken
+Oakland
+Oakley
+oakwood
+oar
+oases
+oasis
+oat
+oatcake
+oath
+oatmeal
+obduracy
+obdurate
+obedient
+obeisant
+obelisk
+Oberlin
+obese
+obey
+obfuscate
+obfuscatory
+obituary
+object
+objectify
+objector
+objet
+oblate
+obligate
+obligatory
+oblige
+oblique
+obliterate
+oblivion
+oblivious
+oblong
+obnoxious
+oboe
+oboist
+O'Brien
+obscene
+obscure
+obsequious
+obsequy
+observant
+observation
+observatory
+observe
+obsess
+obsession
+obsessive
+obsidian
+obsolescent
+obsolete
+obstacle
+obstetric
+obstetrician
+obstinacy
+obstinate
+obstruct
+obstruent
+obtain
+obtrude
+obtrusive
+obtuse
+obverse
+obviate
+obvious
+ocarina
+occasion
+occident
+occidental
+occipital
+occlude
+occlusion
+occlusive
+occult
+occultate
+occupant
+occupation
+occupy
+occur
+occurred
+occurrent
+occurring
+ocean
+Oceania
+oceanic
+oceanographer
+oceanography
+oceanside
+ocelot
+o'clock
+O'Connell
+O'Connor
+Oct
+octagon
+octagonal
+octahedra
+octahedral
+octahedron
+octal
+octane
+octant
+octave
+Octavia
+octennial
+octet
+octile
+octillion
+October
+octogenarian
+octopus
+octoroon
+ocular
+odd
+oddball
+ode
+O'Dell
+Odessa
+Odin
+odious
+odium
+odometer
+O'Donnell
+odorous
+O'Dwyer
+Odysseus
+odyssey
+oedipal
+Oedipus
+oenology
+o'er
+oersted
+of
+off
+offal
+offbeat
+Offenbach
+offend
+offensive
+offer
+offertory
+offhand
+office
+officeholder
+officemate
+official
+officialdom
+officiate
+officio
+officious
+offload
+offprint
+offsaddle
+offset
+offsetting
+offshoot
+offshore
+offspring
+offstage
+oft
+often
+oftentimes
+Ogden
+ogle
+ogre
+ogress
+oh
+O'Hare
+Ohio
+ohm
+ohmic
+ohmmeter
+oil
+oilcloth
+oilman
+oilmen
+oilseed
+oily
+oint
+Ojibwa
+OK
+okapi
+okay
+Okinawa
+Oklahoma
+okra
+Olaf
+Olav
+old
+olden
+Oldenburg
+Oldsmobile
+oldster
+Olduvai
+oldy
+oleander
+O'Leary
+olefin
+oleomargarine
+olfactory
+Olga
+oligarchic
+oligarchy
+Oligocene
+oligoclase
+oligopoly
+Olin
+olive
+Olivetti
+Olivia
+Olivier
+olivine
+Olsen
+Olson
+Olympia
+Olympic
+Omaha
+Oman
+ombudsman
+ombudsperson
+omega
+omelet
+omen
+omicron
+ominous
+omission
+omit
+omitted
+omitting
+omnibus
+omnipotent
+omnipresent
+omniscient
+omnivore
+omnivorous
+on
+once
+oncology
+oncoming
+one
+Oneida
+O'Neill
+onerous
+oneself
+onetime
+oneupmanship
+ongoing
+onion
+onlooker
+onlooking
+only
+onomatopoeia
+onomatopoeic
+Onondaga
+onrush
+onrushing
+onset
+onslaught
+Ontario
+onto
+ontogeny
+ontology
+onus
+onward
+onyx
+oocyte
+oodles
+ooze
+opacity
+opal
+opalescent
+opaque
+OPEC
+Opel
+open
+opera
+operable
+operand
+operant
+operate
+operatic
+operetta
+operon
+Ophiucus
+opiate
+opinion
+opinionate
+opium
+opossum
+Oppenheimer
+opponent
+opportune
+opposable
+oppose
+opposite
+opposition
+oppress
+oppression
+oppressive
+oppressor
+opprobrium
+opt
+opthalmic
+opthalmology
+optic
+optima
+optimal
+optimism
+optimist
+optimum
+option
+optoacoustic
+optoisolate
+optometrist
+optometry
+opulent
+opus
+or
+oracle
+oracular
+oral
+orange
+orangeroot
+orangutan
+orate
+oratoric
+oratorio
+oratory
+orb
+orbit
+orbital
+Orca
+orchard
+orchestra
+orchestral
+orchestrate
+orchid
+orchis
+ordain
+ordeal
+order
+ordinal
+ordinance
+ordinary
+ordinate
+ordnance
+ore
+oregano
+Oregon
+Oresteia
+Orestes
+organ
+organdy
+organic
+organismic
+organometallic
+orgasm
+orgiastic
+orgy
+orient
+oriental
+orifice
+origami
+origin
+original
+originate
+Orin
+Orinoco
+oriole
+Orion
+Orkney
+Orlando
+Orleans
+ornament
+ornamentation
+ornate
+ornery
+ornithology
+orography
+Orono
+orphan
+orphanage
+Orpheus
+Orphic
+Orr
+Ortega
+orthant
+orthicon
+orthoclase
+orthodontic
+orthodontist
+orthodox
+orthodoxy
+orthogonal
+orthography
+orthonormal
+orthopedic
+orthophosphate
+orthorhombic
+Orville
+Orwell
+Orwellian
+o's
+Osaka
+Osborn
+Osborne
+Oscar
+oscillate
+oscillatory
+oscilloscope
+Osgood
+O'Shea
+Oshkosh
+osier
+Osiris
+Oslo
+osmium
+osmosis
+osmotic
+osprey
+osseous
+ossify
+ostensible
+ostentation
+ostentatious
+osteology
+osteopath
+osteopathic
+osteopathy
+osteoporosis
+ostracism
+ostracod
+Ostrander
+ostrich
+O'Sullivan
+Oswald
+Othello
+other
+otherwise
+otherworld
+otiose
+Otis
+Ott
+Ottawa
+otter
+Otto
+Ottoman
+Ouagadougou
+ouch
+ought
+oughtn't
+ounce
+our
+ourselves
+oust
+out
+outermost
+outlandish
+outlawry
+outrageous
+ouvre
+ouzel
+ouzo
+ova
+oval
+ovary
+ovate
+oven
+ovenbird
+over
+overt
+overture
+Ovid
+oviduct
+oviform
+oviparous
+ovipositor
+ovoviviparous
+ovulate
+ovum
+ow
+owe
+Owens
+owl
+owlet
+owly
+own
+ox
+oxalate
+oxalic
+oxbow
+oxcart
+oxen
+oxeye
+Oxford
+oxidant
+oxidate
+oxide
+Oxnard
+Oxonian
+oxygen
+oxygenate
+oyster
+Ozark
+ozone
+p
+pa
+Pablo
+Pabst
+pace
+pacemake
+pacesetting
+pacific
+pacifism
+pacifist
+pacify
+pack
+package
+Packard
+packet
+pact
+pad
+paddle
+paddock
+paddy
+padlock
+padre
+paean
+pagan
+page
+pageant
+pageantry
+paginate
+pagoda
+paid
+pail
+pain
+Paine
+painful
+painstaking
+paint
+paintbrush
+pair
+pairwise
+Pakistan
+Pakistani
+pal
+palace
+palaeontology
+palate
+Palatine
+palazzi
+palazzo
+pale
+paleoanthropology
+Paleolithic
+Paleozoic
+Palermo
+Palestine
+palette
+palfrey
+palindrome
+palindromic
+palisade
+pall
+palladia
+Palladian
+palladium
+pallet
+palliate
+pallid
+palm
+palmate
+palmetto
+Palmolive
+Palmyra
+Palo
+Palomar
+palp
+palpate
+palsy
+Pam
+Pamela
+pampa
+pamper
+pamphlet
+pan
+panacea
+panama
+Panamanian
+pancake
+Pancho
+pancreas
+pancreatic
+panda
+Pandanus
+pandemic
+pandemonium
+pander
+Pandora
+pane
+panel
+pang
+Pangaea
+panhandle
+panic
+panicked
+panicking
+panicky
+panicle
+panjandrum
+panoply
+panorama
+panoramic
+pansy
+pant
+pantaloon
+pantheism
+pantheist
+pantheon
+panther
+pantomime
+pantomimic
+pantothenic
+pantry
+panty
+Paoli
+pap
+papa
+papacy
+papal
+papaw
+paper
+paperback
+paperweight
+paperwork
+papery
+papillary
+papoose
+Pappas
+pappy
+paprika
+Papua
+papyri
+papyrus
+par
+parabola
+parabolic
+paraboloid
+paraboloidal
+parachute
+parade
+paradigm
+paradigmatic
+paradise
+paradox
+paradoxic
+paraffin
+paragon
+paragonite
+paragraph
+Paraguay
+Paraguayan
+parakeet
+paralinguistic
+parallax
+parallel
+parallelepiped
+parallelogram
+paralysis
+paralytic
+paramagnet
+paramagnetic
+parameter
+paramilitary
+paramount
+Paramus
+paranoia
+paranoiac
+paranoid
+paranormal
+parapet
+paraphernalia
+paraphrase
+parapsychology
+parasite
+parasitic
+parasol
+parasympathetic
+paratroop
+paraxial
+parboil
+parcel
+parch
+pardon
+pare
+paregoric
+parent
+parentage
+parental
+parentheses
+parenthesis
+parenthetic
+Pareto
+pariah
+parimutuel
+Paris
+parish
+parishioner
+Parisian
+park
+parka
+Parke
+Parkinson
+parkish
+parkland
+parkway
+parlance
+parlay
+parley
+parliament
+parliamentarian
+parliamentary
+Parmesan
+parochial
+parody
+parole
+parolee
+paroxysm
+parquet
+Parr
+Parrish
+parrot
+parry
+parse
+Parsi
+Parsifal
+parsimonious
+parsimony
+parsley
+parsnip
+parson
+parsonage
+part
+partake
+Parthenon
+Parthia
+partial
+participant
+participate
+participle
+particle
+particular
+particulate
+partisan
+partition
+partner
+partook
+partridge
+party
+parvenu
+Pasadena
+Pascal
+paschal
+pasha
+Paso
+pass
+passage
+passageway
+Passaic
+passarine
+passband
+passbook
+passe
+passenger
+passerby
+passim
+passion
+passionate
+passivate
+passive
+Passover
+passport
+password
+past
+paste
+pasteboard
+pastel
+pasteup
+Pasteur
+pastiche
+pastime
+pastor
+pastoral
+pastry
+pasture
+pasty
+pat
+Patagonia
+patch
+patchwork
+patchy
+pate
+patent
+patentee
+pater
+paternal
+paternoster
+Paterson
+path
+pathbreaking
+pathetic
+pathogen
+pathogenesis
+pathogenic
+pathology
+pathos
+pathway
+patient
+patina
+patio
+patois
+patriarch
+patriarchal
+patriarchy
+Patrice
+Patricia
+patrician
+Patrick
+patrilineage
+patrilineal
+patrimonial
+patrimony
+patriot
+patriotic
+patristic
+patrol
+patrolled
+patrolling
+patrolman
+patrolmen
+patron
+patronage
+patroness
+Patsy
+pattern
+Patterson
+Patti
+Patton
+patty
+paucity
+Paul
+Paula
+Paulette
+Pauli
+Pauline
+Paulo
+Paulsen
+Paulson
+Paulus
+paunch
+paunchy
+pauper
+pause
+pavanne
+pave
+pavilion
+Pavlov
+Pavlovian
+paw
+pawn
+pawnbroker
+pawnshop
+pawpaw
+Pawtucket
+pax
+pay
+paycheck
+payday
+payload
+paymaster
+Payne
+payoff
+payroll
+Paz
+PBS
+PDP
+pea
+Peabody
+peace
+peaceable
+peaceful
+peacemake
+peacetime
+peach
+Peachtree
+peacock
+peafowl
+peahen
+peak
+peaky
+peal
+Peale
+peanut
+pear
+Pearce
+pearl
+pearlite
+pearlstone
+Pearson
+peasant
+Pease
+peat
+pebble
+pecan
+peccary
+peck
+Pecos
+pectoral
+pectoralis
+peculate
+peculiar
+pecuniary
+pedagogic
+pedagogue
+pedagogy
+pedal
+pedant
+pedantic
+pedantry
+peddle
+pedestal
+pedestrian
+pediatric
+pediatrician
+pedigree
+pediment
+Pedro
+pee
+peek
+peel
+peep
+peephole
+peepy
+peer
+peg
+Pegasus
+pegboard
+pegging
+Peggy
+pejorative
+Peking
+pelagic
+Pelham
+pelican
+pellagra
+pellet
+pellucid
+Peloponnese
+pelt
+peltry
+pelvic
+pelvis
+Pembroke
+pemmican
+pen
+penal
+penalty
+penance
+penates
+pence
+penchant
+pencil
+pencilled
+pend
+pendant
+pendulous
+pendulum
+Penelope
+penetrable
+penetrate
+penguin
+Penh
+penicillin
+peninsula
+peninsular
+penis
+penitent
+penitential
+penitentiary
+penman
+penmen
+Penn
+penna
+pennant
+Pennsylvania
+penny
+pennyroyal
+Penrose
+Pensacola
+pension
+pensive
+pent
+pentagon
+pentagonal
+pentagram
+pentane
+Pentateuch
+pentatonic
+Pentecost
+pentecostal
+penthouse
+penultimate
+penumbra
+penumbral
+penurious
+penury
+peon
+peony
+people
+Peoria
+pep
+peppercorn
+peppergrass
+peppermint
+pepperoni
+peppery
+peppy
+Pepsi
+PepsiCo
+peptide
+per
+perceive
+percent
+percentage
+percentile
+percept
+perceptible
+perception
+perceptive
+perceptual
+perch
+perchance
+perchlorate
+Percival
+percolate
+percussion
+percussive
+Percy
+perdition
+peregrine
+peremptory
+perennial
+Perez
+perfect
+perfectible
+perfidious
+perfidy
+perforate
+perforce
+perform
+performance
+perfume
+perfumery
+perfunctory
+perfusion
+Pergamon
+perhaps
+Periclean
+Pericles
+peridotite
+perigee
+perihelion
+peril
+Perilla
+perilous
+perimeter
+period
+periodic
+peripatetic
+peripheral
+periphery
+periphrastic
+periscope
+perish
+peritectic
+periwinkle
+perjure
+perjury
+perk
+Perkins
+perky
+Perle
+permafrost
+permalloy
+permanent
+permeable
+permeate
+Permian
+permissible
+permission
+permissive
+permit
+permitted
+permitting
+permutation
+permute
+pernicious
+peroxide
+perpendicular
+perpetrate
+perpetual
+perpetuate
+perpetuity
+perplex
+perquisite
+Perry
+persecute
+persecution
+persecutory
+Perseid
+Persephone
+Perseus
+perseverant
+persevere
+Pershing
+Persia
+persiflage
+persimmon
+persist
+persistent
+person
+persona
+personage
+personal
+personify
+personnel
+perspective
+perspicacious
+perspicacity
+perspicuity
+perspicuous
+perspiration
+perspire
+persuade
+persuasion
+persuasive
+pert
+pertain
+Perth
+pertinacious
+pertinent
+perturb
+perturbate
+Peru
+perusal
+peruse
+Peruvian
+pervade
+pervasion
+pervasive
+perverse
+perversion
+pervert
+pessimal
+pessimism
+pessimist
+pessimum
+pest
+peste
+pesticide
+pestilent
+pestilential
+pestle
+pet
+petal
+Pete
+peter
+Petersburg
+Petersen
+Peterson
+petiole
+petit
+petite
+petition
+petrel
+petri
+petrify
+petrochemical
+petroglyph
+petrol
+petroleum
+petrology
+petticoat
+petty
+petulant
+petunia
+Peugeot
+pew
+pewee
+pewter
+pfennig
+Pfizer
+pH
+phage
+phagocyte
+phalanger
+phalanges
+phalanx
+phalarope
+phantasm
+phantasy
+phantom
+pharmaceutic
+pharmacist
+pharmacology
+pharmacopoeia
+pharmacy
+phase
+Ph.D
+PhD
+pheasant
+Phelps
+phenol
+phenolic
+phenomena
+phenomenal
+phenomenology
+phenomenon
+phenotype
+phenyl
+phenylalanine
+pheromone
+phi
+Phil
+Philadelphia
+philanthrope
+philanthropic
+philanthropy
+philharmonic
+Philip
+Philippine
+Philistine
+Phillip
+philodendron
+philology
+philosoph
+philosophic
+philosophy
+Phipps
+phloem
+phlox
+phobic
+Phobos
+phoebe
+Phoenicia
+phoenix
+phon
+phone
+phoneme
+phonemic
+phonetic
+phonic
+phonograph
+phonology
+phonon
+phony
+phosgene
+phosphate
+phosphide
+phosphine
+phosphite
+phosphor
+phosphoresce
+phosphorescent
+phosphoric
+phosphorous
+phosphorus
+phosphorylate
+photo
+photogenic
+photography
+photolysis
+photolytic
+photometry
+photon
+phrase
+phrasemake
+phraseology
+phthalate
+phycomycetes
+phyla
+Phyllis
+phylogenetic
+phylogeny
+phylum
+physic
+physician
+physiochemical
+physiognomy
+physiology
+physiotherapist
+physiotherapy
+physique
+phytoplankton
+pi
+pianissimo
+pianist
+piano
+pianoforte
+piazza
+pica
+Picasso
+picayune
+Piccadilly
+piccolo
+pick
+pickaxe
+pickerel
+Pickering
+picket
+Pickett
+Pickford
+pickle
+Pickman
+pickoff
+pickup
+picky
+picnic
+picnicked
+picnicker
+picnicking
+picofarad
+picojoule
+picosecond
+Pict
+pictorial
+picture
+picturesque
+piddle
+pidgin
+pie
+piece
+piecemeal
+piecewise
+Piedmont
+pier
+pierce
+Pierre
+Pierson
+pietism
+piety
+piezoelectric
+pig
+pigeon
+pigeonberry
+pigeonfoot
+pigeonhole
+pigging
+piggish
+piggy
+pigment
+pigmentation
+pigpen
+pigroot
+pigskin
+pigtail
+pike
+Pilate
+pile
+pilewort
+pilfer
+pilferage
+pilgrim
+pilgrimage
+pill
+pillage
+pillar
+pillory
+pillow
+Pillsbury
+piloerection
+pilot
+pimp
+pimple
+pin
+pinafore
+pinball
+pincer
+pinch
+pincushion
+pine
+pineapple
+Pinehurst
+ping
+pinhead
+pinhole
+pinion
+pink
+pinkie
+pinkish
+pinnacle
+pinnate
+pinniped
+pinochle
+pinpoint
+pinscher
+Pinsky
+pint
+pintail
+pinto
+pinwheel
+pinxter
+pion
+pioneer
+Piotr
+pious
+pip
+pipe
+pipeline
+pipette
+pipetting
+pipsissewa
+piquant
+pique
+piracy
+Piraeus
+pirate
+pirogue
+pirouette
+pirouetting
+Piscataway
+Pisces
+piss
+pistachio
+pistol
+pistole
+piston
+pit
+pitch
+pitchblende
+pitchfork
+pitchstone
+piteous
+pitfall
+pith
+pithy
+pitiable
+pitiful
+pitman
+Pitney
+Pitt
+Pittsburgh
+Pittsfield
+Pittston
+pituitary
+pity
+Pius
+pivot
+pivotal
+pixel
+pixy
+Pizarro
+pizza
+pizzicato
+Pl
+placate
+placater
+place
+placeable
+placebo
+placeholder
+placemat
+placenta
+placental
+placid
+plagiarism
+plagiarist
+plagioclase
+plague
+plaguey
+plaid
+plain
+Plainfield
+plaintiff
+plaintive
+plait
+plan
+planar
+Planck
+plane
+planeload
+planet
+planetaria
+planetarium
+planetary
+planetesimal
+planetoid
+plank
+plankton
+planoconcave
+planoconvex
+plant
+plantain
+plantation
+plaque
+plasm
+plasma
+plasmid
+plasmon
+plaster
+plastic
+plastisol
+plastron
+plat
+plate
+plateau
+platelet
+platen
+platform
+platinum
+platitude
+platitudinous
+Plato
+platonic
+Platonism
+Platonist
+platoon
+Platte
+platypus
+plaudit
+plausible
+play
+playa
+playback
+playboy
+playful
+playground
+playhouse
+playmate
+playoff
+playpen
+playroom
+plaything
+playtime
+playwright
+playwriting
+plaza
+plea
+plead
+pleasant
+please
+pleasure
+pleat
+plebeian
+plebian
+plebiscite
+plectrum
+pledge
+Pleiades
+Pleistocene
+plenary
+plenipotentiary
+plenitude
+plentiful
+plenty
+plenum
+plethora
+pleura
+pleural
+pleurisy
+Plexiglas
+pliable
+pliant
+plight
+Pliny
+Pliocene
+plod
+plop
+plot
+plover
+plow
+plowman
+plowmen
+plowshare
+ploy
+pluck
+plucky
+plug
+plugboard
+pluggable
+plugging
+plum
+plumage
+plumb
+plumbago
+plumbate
+plume
+plummet
+plump
+plunder
+plunge
+plunk
+pluperfect
+plural
+plus
+plush
+plushy
+Plutarch
+Pluto
+pluton
+plutonium
+ply
+Plymouth
+plyscore
+plywood
+PM
+pneumatic
+pneumococcus
+pneumonia
+Po
+poach
+POBox
+pocket
+pocketbook
+pocketful
+Pocono
+pod
+podge
+podia
+podium
+Poe
+poem
+poesy
+poet
+poetic
+poetry
+pogo
+pogrom
+poi
+poignant
+Poincare
+poinsettia
+point
+pointwise
+poise
+poison
+poisonous
+Poisson
+poke
+pokerface
+pol
+Poland
+polar
+polarimeter
+Polaris
+polariscope
+polariton
+polarogram
+polarograph
+polarography
+Polaroid
+polaron
+pole
+polecat
+polemic
+police
+policeman
+policemen
+policewoman
+policy
+polio
+poliomyelitis
+polis
+polish
+Politburo
+polite
+politic
+politician
+politicking
+politico
+Polk
+polka
+polkadot
+poll
+Pollard
+pollen
+pollinate
+pollock
+polloi
+pollutant
+pollute
+pollution
+Pollux
+pollywog
+polo
+polonaise
+polonium
+polopony
+polyandrous
+polyandry
+polygamous
+polygamy
+polygon
+polygonal
+polygynous
+polygyny
+polyhedra
+polyhedral
+polyhedron
+Polyhymnia
+polymer
+polymerase
+polymeric
+polymorph
+polymorphic
+Polynesia
+polynomial
+Polyphemus
+polyphony
+polyploidy
+polysaccharide
+polysemous
+polysemy
+polytechnic
+polytope
+polytypy
+pomade
+pomegranate
+pomelo
+pomology
+Pomona
+pomp
+pompadour
+pompano
+Pompeii
+pompey
+pompon
+pomposity
+pompous
+Ponce
+Ponchartrain
+poncho
+pond
+ponder
+ponderosa
+ponderous
+pong
+pont
+Pontiac
+pontiff
+pontific
+pontificate
+pontification
+pony
+pooch
+poodle
+pooh
+pool
+Poole
+poop
+poor
+pop
+pope
+popish
+poplar
+poplin
+poppy
+populace
+popular
+populate
+populism
+populist
+populous
+porcelain
+porch
+porcine
+porcupine
+pore
+pork
+pornographer
+pornography
+porosity
+porous
+porphyry
+porpoise
+porridge
+port
+portage
+portal
+Porte
+portend
+portent
+portentous
+porterhouse
+portfolio
+Portia
+portico
+portland
+portmanteau
+Porto
+portrait
+portraiture
+portray
+portrayal
+Portsmouth
+Portugal
+Portuguese
+portulaca
+posable
+pose
+Poseidon
+poseur
+posey
+posh
+posit
+position
+positive
+positron
+Posner
+posse
+posseman
+possemen
+possess
+possession
+possessive
+possessor
+possible
+possum
+post
+postage
+postal
+postcard
+postcondition
+postdoctoral
+posterior
+posteriori
+posterity
+postfix
+postgraduate
+posthumous
+postlude
+postman
+postmark
+postmaster
+postmen
+postmodern
+postmortem
+postmultiply
+postoperative
+postorder
+postpone
+postposition
+postprocess
+postprocessor
+postscript
+postulate
+posture
+postwar
+posy
+pot
+potable
+potash
+potassium
+potato
+potatoes
+potbelly
+potboil
+potent
+potentate
+potential
+potentiometer
+pothole
+potion
+potlatch
+Potomac
+potpourri
+potsherd
+pottery
+Potts
+pouch
+Poughkeepsie
+poultice
+poultry
+pounce
+pound
+pour
+pout
+poverty
+pow
+powder
+powderpuff
+powdery
+Powell
+power
+powerful
+powerhouse
+Poynting
+ppm
+PR
+practicable
+practical
+practice
+practise
+practitioner
+Pradesh
+Prado
+praecox
+pragmatic
+pragmatism
+pragmatist
+Prague
+prairie
+praise
+praiseworthy
+praline
+pram
+prance
+prank
+praseodymium
+Pratt
+Pravda
+pray
+prayerful
+pre
+preach
+preachy
+Precambrian
+precarious
+precedent
+precept
+precess
+precinct
+precious
+precipice
+precipitable
+precipitate
+precipitous
+precise
+precision
+preclude
+precocious
+precocity
+predacious
+predatory
+predecessor
+predicament
+predicate
+predict
+predictor
+predilect
+preempt
+preemption
+preemptive
+preemptor
+preen
+prefab
+prefatory
+prefect
+prefecture
+prefer
+preference
+preferential
+preferred
+preferring
+pregnant
+prehensile
+prejudice
+preliminary
+prelude
+premier
+premiere
+premise
+premium
+premonition
+Prentice
+prep
+preparation
+preparative
+preparator
+preparatory
+prepare
+preponderant
+preponderate
+preposterous
+prerogative
+Presbyterian
+Prescott
+prescription
+prescriptive
+presentation
+preservation
+preside
+president
+presidential
+press
+pressure
+prestidigitate
+prestige
+prestigious
+presto
+Preston
+presume
+presumption
+presumptive
+pretentious
+Pretoria
+pretty
+prevail
+prevalent
+prevention
+preventive
+previous
+prexy
+prey
+Priam
+price
+prick
+prickle
+pride
+priest
+priestess
+Priestley
+prig
+priggish
+prim
+prima
+primacy
+primal
+primary
+primate
+prime
+primeval
+primitive
+primordial
+primp
+primrose
+prince
+princess
+Princeton
+principal
+Principia
+principle
+print
+printmake
+printout
+prior
+priori
+priory
+Priscilla
+prism
+prismatic
+prison
+prissy
+pristine
+Pritchard
+privacy
+private
+privet
+privilege
+privy
+prize
+prizewinning
+pro
+probabilist
+probate
+probationary
+probe
+problem
+problematic
+probosces
+proboscis
+procaine
+procedural
+procedure
+proceed
+process
+procession
+processor
+proclaim
+proclamation
+proclivity
+procrastinate
+procreate
+procrustean
+Procrustes
+Procter
+proctor
+procure
+Procyon
+prod
+prodigal
+prodigious
+prodigy
+produce
+producible
+product
+Prof
+profane
+profess
+profession
+professor
+professorial
+proffer
+proficient
+profile
+profit
+profiteer
+profligate
+profound
+profundity
+profuse
+profusion
+progenitor
+progeny
+prognosis
+prognosticate
+programmable
+programmatic
+programmed
+programmer
+programming
+progress
+progression
+progressive
+prohibit
+prohibition
+prohibitive
+prohibitory
+project
+projectile
+projector
+prokaryote
+prokaryotic
+Prokofieff
+prolate
+proletariat
+proliferate
+prolific
+proline
+prolix
+prologue
+prolong
+prolongate
+prolusion
+prom
+promenade
+Promethean
+Prometheus
+promethium
+prominent
+promiscuity
+promiscuous
+promise
+promote
+promotion
+prompt
+promptitude
+promulgate
+prone
+prong
+pronghorn
+pronominal
+pronoun
+pronounce
+pronounceable
+pronto
+pronunciation
+proof
+proofread
+prop
+propaganda
+propagandist
+propagate
+propane
+propel
+propellant
+propelled
+propeller
+propelling
+propensity
+proper
+property
+prophecy
+prophesy
+prophet
+prophetic
+propionate
+propitiate
+propitious
+proponent
+proportion
+proportionate
+propos
+proposal
+propose
+proposition
+proprietary
+proprietor
+propriety
+proprioception
+proprioceptive
+propulsion
+propyl
+propylene
+prorate
+prorogue
+prosaic
+proscenium
+prosciutto
+proscribe
+proscription
+prose
+prosecute
+prosecution
+prosecutor
+proselyte
+Proserpine
+prosodic
+prosody
+prosopopoeia
+prospect
+prospector
+prospectus
+prosper
+prosperous
+prostaglandin
+prostate
+prosthetic
+prostitute
+prostitution
+prostrate
+protactinium
+protagonist
+protean
+protease
+protect
+protector
+protectorate
+protege
+protein
+proteolysis
+proteolytic
+protest
+protestant
+protestation
+prothonotary
+Protista
+proto
+protocol
+proton
+Protophyta
+protoplasm
+protoplasmic
+prototype
+prototypic
+Protozoa
+protozoan
+protract
+protractor
+protrude
+protrusion
+protrusive
+protuberant
+proud
+Proust
+prove
+proven
+provenance
+Provence
+proverb
+proverbial
+provide
+provident
+providential
+province
+provincial
+provision
+proviso
+provocateur
+provocation
+provocative
+provoke
+provost
+prow
+prowess
+prowl
+proximal
+proximate
+proximity
+proxy
+prude
+prudent
+prudential
+prudish
+prune
+prurient
+Prussia
+prussic
+pry
+p's
+psalm
+psalter
+pseudo
+pseudonym
+pseudonymous
+psi
+psych
+psyche
+psychiatric
+psychiatrist
+psychiatry
+psychic
+psycho
+psychoacoustic
+psychoanalysis
+psychoanalyst
+psychoanalytic
+psychobiology
+psychology
+psychometry
+psychopath
+psychopathic
+psychophysic
+psychophysiology
+psychopomp
+psychoses
+psychosis
+psychosomatic
+psychotherapeutic
+psychotherapist
+psychotherapy
+psychotic
+psyllium
+PTA
+ptarmigan
+pterodactyl
+Ptolemaic
+Ptolemy
+pub
+puberty
+pubescent
+public
+publication
+publish
+Puccini
+puck
+puckish
+pudding
+puddingstone
+puddle
+puddly
+pueblo
+puerile
+Puerto
+puff
+puffball
+puffery
+puffin
+puffy
+pug
+Pugh
+puissant
+puke
+Pulaski
+Pulitzer
+pull
+pullback
+pulley
+Pullman
+pullover
+pulmonary
+pulp
+pulpit
+pulsar
+pulsate
+pulse
+pulverable
+puma
+pumice
+pummel
+pump
+pumpkin
+pumpkinseed
+pun
+punch
+punctilio
+punctilious
+punctual
+punctuate
+puncture
+pundit
+punditry
+pungent
+Punic
+punish
+punitive
+Punjab
+Punjabi
+punk
+punky
+punster
+punt
+puny
+pup
+pupa
+pupae
+pupal
+pupate
+pupil
+puppet
+puppeteer
+puppy
+puppyish
+Purcell
+purchasable
+purchase
+Purdue
+pure
+puree
+purgation
+purgative
+purgatory
+purge
+purify
+Purina
+purine
+Puritan
+puritanic
+purl
+purloin
+purple
+purport
+purpose
+purposeful
+purposive
+purr
+purse
+purslane
+pursuant
+pursue
+pursuit
+purvey
+purveyor
+purview
+pus
+Pusan
+Pusey
+push
+pushbutton
+pushout
+pushover
+pushpin
+pushy
+pussy
+pussycat
+put
+putative
+putdown
+Putnam
+putrefaction
+putrefy
+putrid
+putt
+putty
+puzzle
+PVC
+Pygmalion
+pygmy
+pyknotic
+Pyle
+Pyongyang
+pyracanth
+pyramid
+pyramidal
+pyre
+Pyrex
+pyridine
+pyridoxine
+pyrimidine
+pyrite
+pyroelectric
+pyrolyse
+pyrolysis
+pyrometer
+pyrophosphate
+pyrotechnic
+pyroxene
+pyroxenite
+Pyrrhic
+Pythagoras
+Pythagorean
+python
+q
+Qatar
+QED
+q's
+qua
+quack
+quackery
+quad
+quadrangle
+quadrangular
+quadrant
+quadratic
+quadrature
+quadrennial
+quadric
+quadriceps
+quadrilateral
+quadrille
+quadrillion
+quadripartite
+quadrivium
+quadrupedal
+quadruple
+quadruplet
+quadrupole
+quaff
+quagmire
+quahog
+quail
+quaint
+quake
+Quakeress
+qualify
+qualitative
+quality
+qualm
+quandary
+quanta
+Quantico
+quantify
+quantile
+quantitative
+quantity
+quantum
+quarantine
+quark
+quarrel
+quarrelsome
+quarry
+quarryman
+quarrymen
+quart
+quarterback
+quartermaster
+quartet
+quartic
+quartile
+quarto
+quartz
+quartzite
+quasar
+quash
+quasi
+quasiparticle
+quaternary
+quatrain
+quaver
+quay
+queasy
+Quebec
+queen
+Queensland
+queer
+quell
+quench
+quern
+querulous
+query
+quest
+question
+questionnaire
+quetzal
+queue
+queueing
+Quezon
+quibble
+Quichua
+quick
+quicken
+quickie
+quicklime
+quicksand
+quicksilver
+quickstep
+quid
+quiescent
+quiet
+quietus
+quill
+quillwort
+quilt
+quince
+quinine
+Quinn
+quint
+quintessence
+quintessential
+quintet
+quintic
+quintillion
+quintuplet
+quintus
+quip
+quipped
+quipping
+Quirinal
+quirk
+quirky
+quirt
+quit
+quite
+Quito
+quitter
+quitting
+quiver
+Quixote
+quixotic
+quiz
+quizzed
+quizzes
+quizzical
+quizzing
+quo
+quod
+quonset
+quorum
+quota
+quotation
+quote
+quotient
+r
+rabat
+rabbet
+rabbi
+rabbinate
+rabbinical
+rabbit
+rabble
+rabid
+rabies
+Rabin
+raccoon
+race
+racemose
+racetrack
+raceway
+Rachel
+Rachmaninoff
+racial
+rack
+racket
+racketeer
+rackety
+racy
+radar
+Radcliffe
+radial
+radian
+radiant
+radiate
+radical
+radices
+radii
+radio
+radioactive
+radioastronomy
+radiocarbon
+radiochemical
+radiochemistry
+radiography
+radiology
+radiometer
+radiophysics
+radiosonde
+radiotherapy
+radish
+radium
+radius
+radix
+radon
+Rae
+Rafael
+Rafferty
+raffia
+raffish
+raft
+rag
+rage
+ragging
+ragout
+Ragusan
+ragweed
+raid
+rail
+railbird
+railhead
+raillery
+railroad
+railway
+rain
+rainbow
+raincoat
+raindrop
+rainfall
+rainstorm
+rainwater
+rainy
+raise
+raisin
+raj
+rajah
+rake
+rakish
+Raleigh
+rally
+Ralph
+Ralston
+ram
+Ramada
+Raman
+ramble
+rambunctious
+ramify
+Ramo
+ramp
+rampage
+rampant
+rampart
+ramrod
+Ramsey
+ramshackle
+ran
+ranch
+rancho
+rancid
+rancorous
+Rand
+Randall
+Randolph
+random
+randy
+rang
+range
+rangeland
+Rangoon
+rangy
+Ranier
+rank
+Rankin
+Rankine
+rankle
+ransack
+ransom
+rant
+Raoul
+rap
+rapacious
+rapacity
+rape
+Raphael
+rapid
+rapier
+rapport
+rapprochement
+rapt
+raptor
+raptorial
+rapture
+rare
+rarefy
+Raritan
+rasa
+rascal
+rash
+Rasmussen
+rasp
+raspberry
+raster
+Rastus
+rat
+rata
+rate
+rater
+rather
+ratify
+ratio
+ratiocinate
+rationale
+rattail
+rattle
+rattlesnake
+raucous
+Raul
+raunchy
+ravage
+rave
+ravel
+raven
+ravenous
+ravine
+ravish
+raw
+rawboned
+rawhide
+Rawlinson
+ray
+Rayleigh
+Raymond
+Raytheon
+raze
+razor
+razorback
+RCA
+R&D
+Rd
+re
+reach
+reactant
+reactionary
+read
+readout
+ready
+Reagan
+real
+realm
+realtor
+realty
+ream
+reap
+rear
+reason
+reave
+reb
+Rebecca
+rebel
+rebellion
+rebellious
+rebuke
+rebuttal
+recalcitrant
+receipt
+receive
+receptacle
+reception
+receptive
+receptor
+recess
+recessive
+recherche
+Recife
+recipe
+recipient
+reciprocal
+reciprocate
+reciprocity
+recital
+recitative
+reck
+reckon
+reclamation
+recline
+recluse
+reclusive
+recompense
+reconcile
+recondite
+reconnaissance
+recovery
+recriminate
+recrudescent
+recruit
+rectangle
+rectangular
+rectifier
+rectify
+rectilinear
+rectitude
+rector
+rectory
+recumbent
+recuperate
+recursion
+recusant
+recuse
+red
+redact
+redactor
+redbird
+redbud
+redcoat
+redden
+reddish
+redemption
+redemptive
+redhead
+Redmond
+redneck
+redolent
+redound
+redpoll
+redshank
+redstart
+Redstone
+redtop
+reduce
+reducible
+reductio
+redundant
+redwood
+reed
+reedbuck
+reedy
+reef
+reek
+reel
+Reese
+refectory
+refer
+referee
+refereeing
+referenda
+referendum
+referent
+referential
+referral
+referred
+referring
+reflect
+reflectance
+reflector
+reflexive
+reformatory
+refract
+refractometer
+refractory
+refrain
+refrigerate
+refuge
+refugee
+refusal
+refutation
+refute
+regal
+regalia
+regard
+regatta
+regent
+regime
+regimen
+regiment
+regimentation
+Regina
+Reginald
+region
+Regis
+registrable
+registrant
+registrar
+registration
+registry
+regress
+regression
+regressive
+regret
+regretful
+regrettable
+regretted
+regretting
+regular
+regulate
+regulatory
+Regulus
+regurgitate
+rehabilitate
+rehearsal
+Reich
+Reid
+reign
+Reilly
+reimbursable
+reimburse
+rein
+reindeer
+reinforce
+Reinhold
+reinstate
+reject
+rejoice
+rejoinder
+relaxation
+releasable
+relevant
+reliant
+relic
+relict
+relief
+relieve
+religion
+religiosity
+religious
+relinquish
+reliquary
+relish
+reluctant
+remainder
+remand
+Rembrandt
+remediable
+remedy
+remembrance
+Remington
+reminisce
+reminiscent
+remit
+remittance
+remnant
+remonstrate
+remorse
+remorseful
+remote
+removal
+remunerate
+Rena
+renaissance
+renal
+Renault
+rend
+render
+rendezvous
+rendition
+Rene
+renewal
+rennet
+Renoir
+renounce
+renovate
+renown
+Rensselaer
+rent
+rental
+renunciate
+rep
+repairman
+repairmen
+reparation
+repartee
+repeater
+repel
+repelled
+repellent
+repelling
+repentant
+repertoire
+repertory
+repetitious
+repetitive
+replenish
+replete
+replica
+replicate
+reportorial
+repository
+reprehensible
+representative
+repression
+repressive
+reprieve
+reprimand
+reprisal
+reprise
+reproach
+reptile
+reptilian
+republican
+repudiate
+repugnant
+repulsion
+repulsive
+reputation
+repute
+require
+requisite
+requisition
+rescind
+rescue
+resemblant
+resemble
+resentful
+reserpine
+reservation
+reservoir
+resident
+residential
+residual
+residuary
+residue
+residuum
+resignation
+resilient
+resiny
+resist
+resistant
+resistible
+resistive
+resistor
+resonate
+resorcinol
+resourceful
+respect
+respectful
+respiration
+respirator
+respiratory
+resplendent
+respond
+respondent
+response
+responsible
+responsive
+rest
+restaurant
+restaurateur
+restful
+restitution
+restive
+restoration
+restorative
+restraint
+restroom
+result
+resultant
+resume
+resumption
+resurgent
+resurrect
+resuscitate
+ret
+retain
+retaliate
+retaliatory
+retard
+retardant
+retardation
+retch
+retention
+retentive
+reticent
+reticulate
+reticulum
+retina
+retinal
+retinue
+retiree
+retribution
+retrieval
+retrieve
+retroactive
+retrofit
+retrofitted
+retrofitting
+retrograde
+retrogress
+retrogressive
+retrorocket
+retrospect
+retrovision
+returnee
+Reub
+Reuben
+Reuters
+rev
+revel
+revelation
+revelatory
+revelry
+revenge
+revenue
+rever
+reverberate
+revere
+reverend
+reverent
+reverie
+reversal
+reversible
+revert
+revisable
+revisal
+revival
+revive
+revocable
+revoke
+revolution
+revolutionary
+revolve
+revulsion
+revved
+revving
+Rex
+Reykjavik
+Reynolds
+rhapsodic
+rhapsody
+Rhea
+Rhenish
+rhenium
+rheology
+rheostat
+rhesus
+rhetoric
+rhetorician
+rheum
+rheumatic
+rheumatism
+Rhine
+rhinestone
+rhino
+rhinoceros
+rhizome
+rho
+Rhoda
+Rhode
+Rhodes
+Rhodesia
+rhodium
+rhododendron
+rhodolite
+rhodonite
+rhombi
+rhombic
+rhombus
+rhubarb
+rhyme
+rhythm
+rhythmic
+RI
+rib
+ribald
+ribbon
+riboflavin
+ribonucleic
+ribose
+ribosome
+Rica
+rice
+rich
+Richard
+Richardson
+Richfield
+Richmond
+Richter
+rick
+rickets
+Rickettsia
+rickety
+rickshaw
+Rico
+ricochet
+ricotta
+rid
+riddance
+ridden
+riddle
+ride
+ridge
+ridgepole
+Ridgway
+ridicule
+ridiculous
+Riemann
+Riemannian
+rife
+riffle
+rifle
+rifleman
+riflemen
+rift
+rig
+Riga
+Rigel
+rigging
+Riggs
+right
+righteous
+rightful
+rightmost
+rightward
+rigid
+rigorous
+Riley
+rill
+rilly
+rim
+rime
+rimy
+Rinehart
+ring
+ringlet
+ringside
+rink
+rinse
+Rio
+Riordan
+riot
+riotous
+rip
+riparian
+ripe
+ripen
+Ripley
+ripoff
+ripple
+rise
+risen
+risible
+risk
+risky
+Ritchie
+rite
+Ritter
+ritual
+Ritz
+rival
+rivalry
+riven
+river
+riverbank
+riverfront
+riverine
+riverside
+rivet
+Riviera
+rivulet
+Riyadh
+RNA
+roach
+road
+roadbed
+roadblock
+roadhouse
+roadrunner
+roadside
+roadster
+roadway
+roam
+roar
+roast
+rob
+robbery
+robbin
+robe
+Robert
+Roberta
+Roberto
+Robertson
+robin
+Robinson
+robot
+robotics
+robust
+Rochester
+rock
+rockabye
+rockaway
+rockbound
+Rockefeller
+rocket
+Rockford
+Rockies
+Rockland
+Rockwell
+rocky
+rococo
+rod
+rode
+rodent
+rodeo
+Rodgers
+Rodney
+Rodriguez
+roe
+roebuck
+Roentgen
+Roger
+rogue
+roguish
+roil
+roister
+Roland
+role
+roll
+rollback
+rollick
+Rollins
+Roman
+romance
+Romanesque
+Romania
+Romano
+romantic
+Rome
+Romeo
+romp
+Romulus
+Ron
+Ronald
+rondo
+Ronnie
+rood
+roof
+rooftop
+rooftree
+rook
+rookie
+rooky
+room
+roomful
+roommate
+roomy
+Roosevelt
+Rooseveltian
+roost
+root
+rootstock
+rope
+ropy
+Rosa
+Rosalie
+rosary
+rose
+rosebud
+rosebush
+Roseland
+rosemary
+Rosen
+Rosenberg
+Rosenblum
+Rosenthal
+Rosenzweig
+Rosetta
+rosette
+Ross
+roster
+rostrum
+rosy
+rot
+Rotarian
+rotary
+rotate
+ROTC
+rote
+rotenone
+Roth
+Rothschild
+rotogravure
+rotor
+rototill
+rotten
+rotund
+rotunda
+rouge
+rough
+roughcast
+roughen
+roughish
+roughneck
+roughshod
+roulette
+round
+roundabout
+roundhead
+roundhouse
+roundoff
+roundtable
+roundup
+roundworm
+rouse
+Rousseau
+roustabout
+rout
+route
+routine
+rove
+row
+rowboat
+rowdy
+Rowe
+Rowena
+Rowland
+Rowley
+Roxbury
+Roy
+royal
+royalty
+Royce
+RPM
+r's
+RSVP
+Ruanda
+rub
+Rubaiyat
+rubbery
+rubbish
+rubble
+rubdown
+Rube
+Ruben
+rubicund
+rubidium
+Rubin
+rubric
+ruby
+ruckus
+rudder
+ruddy
+rude
+rudiment
+rudimentary
+Rudolf
+Rudolph
+Rudy
+Rudyard
+rue
+rueful
+ruffian
+ruffle
+rufous
+Rufus
+rug
+ruin
+ruination
+ruinous
+rule
+rum
+Rumania
+rumble
+rumen
+Rumford
+ruminant
+ruminate
+rummage
+rummy
+rump
+rumple
+rumpus
+run
+runabout
+runaway
+rundown
+rune
+rung
+Runge
+runic
+runneth
+runny
+Runnymede
+runoff
+runt
+runty
+runway
+Runyon
+rupee
+rupture
+rural
+ruse
+rush
+Rushmore
+rusk
+Russ
+Russell
+russet
+Russia
+Russo
+russula
+rust
+rustic
+rustle
+rustproof
+rusty
+rut
+rutabaga
+Rutgers
+Ruth
+ruthenium
+Rutherford
+ruthless
+rutile
+Rutland
+Rutledge
+rutty
+Rwanda
+Ryan
+Rydberg
+Ryder
+rye
+s
+sa
+sabbath
+sabbatical
+Sabina
+Sabine
+sable
+sabotage
+sabra
+sac
+saccharine
+sachem
+Sachs
+sack
+sacral
+sacrament
+Sacramento
+sacred
+sacrifice
+sacrificial
+sacrilege
+sacrilegious
+sacristan
+sacrosanct
+sad
+sadden
+saddle
+saddlebag
+Sadie
+sadism
+sadist
+Sadler
+safari
+safe
+safeguard
+safekeeping
+safety
+saffron
+sag
+saga
+sagacious
+sagacity
+sage
+sagebrush
+sagging
+Saginaw
+sagittal
+Sagittarius
+sago
+saguaro
+Sahara
+said
+Saigon
+sail
+sailboat
+sailfish
+sailor
+saint
+sake
+Sal
+salaam
+salacious
+salad
+salamander
+salami
+salary
+sale
+Salem
+Salerno
+salesgirl
+Salesian
+saleslady
+salesman
+salesmen
+salesperson
+salient
+Salina
+saline
+Salisbury
+Salish
+saliva
+salivary
+salivate
+Salk
+Salle
+sallow
+sally
+salmon
+salmonberry
+salmonella
+salon
+saloon
+saloonkeep
+salsify
+salt
+saltbush
+Salton
+saltwater
+salty
+salubrious
+salutary
+salutation
+salute
+salutory
+Salvador
+salvage
+salvageable
+salvation
+Salvatore
+salve
+salvo
+Sam
+samarium
+samba
+same
+Sammy
+Samoa
+samovar
+sample
+Sampson
+Samson
+Samuel
+Samuelson
+samurai
+San
+Sana
+sanatoria
+sanatorium
+Sanborn
+Sanchez
+Sancho
+sanctify
+sanctimonious
+sanction
+sanctity
+sanctuary
+sand
+sandal
+sandalwood
+sandbag
+sandblast
+Sandburg
+sanderling
+Sanderson
+sandhill
+Sandia
+sandman
+sandpaper
+sandpile
+sandpiper
+Sandra
+sandstone
+Sandusky
+sandwich
+sandy
+sane
+Sanford
+sang
+sangaree
+sanguinary
+sanguine
+sanguineous
+Sanhedrin
+sanicle
+sanitarium
+sanitary
+sanitate
+sank
+sans
+Sanskrit
+Santa
+Santayana
+Santiago
+Santo
+Sao
+sap
+sapiens
+sapient
+sapling
+saponify
+sapphire
+Sappho
+sappy
+saprophyte
+saprophytic
+sapsucker
+Sara
+Saracen
+Sarah
+Saran
+Sarasota
+Saratoga
+sarcasm
+sarcastic
+sarcoma
+sarcophagus
+sardine
+Sardinia
+sardonic
+Sargent
+sari
+sarong
+sarsaparilla
+sarsparilla
+sash
+sashay
+sashimi
+Saskatchewan
+Saskatoon
+sassafras
+sat
+satan
+satanic
+satellite
+satiable
+satiate
+satiety
+satin
+satire
+satiric
+satisfaction
+satisfactory
+satisfy
+saturable
+saturate
+saturater
+Saturday
+Saturn
+Saturnalia
+saturnine
+satyr
+sauce
+saucepan
+saucy
+Saud
+Saudi
+sauerkraut
+Saul
+Sault
+sauna
+Saunders
+saunter
+sausage
+saute
+sauterne
+savage
+savagery
+savanna
+Savannah
+savant
+save
+Saviour
+Savonarola
+savoy
+Savoyard
+savvy
+saw
+sawbelly
+sawdust
+sawfish
+sawfly
+sawmill
+sawtimber
+sawtooth
+sawyer
+sax
+saxifrage
+Saxon
+Saxony
+saxophone
+say
+SC
+scab
+scabbard
+scabious
+scabrous
+scad
+scaffold
+Scala
+scalar
+scald
+scale
+scallop
+scalp
+scaly
+scam
+scamp
+scan
+scandal
+scandalous
+Scandinavia
+scandium
+scant
+scanty
+scapegoat
+scapula
+scapular
+scar
+Scarborough
+scarce
+scare
+scarecrow
+scarf
+scarface
+scarify
+Scarlatti
+scarlet
+scarp
+Scarsdale
+scarves
+scary
+scat
+scathe
+scathing
+scatterbrain
+scattergun
+scaup
+scavenge
+scenario
+scene
+scenery
+scenic
+scent
+sceptic
+Schaefer
+Schafer
+Schantz
+schedule
+Scheherazade
+schelling
+schema
+schemata
+schematic
+scheme
+Schenectady
+scherzo
+Schiller
+schism
+schist
+schizoid
+schizomycetes
+schizophrenia
+schizophrenic
+Schlesinger
+schlieren
+Schlitz
+Schloss
+Schmidt
+Schmitt
+Schnabel
+schnapps
+Schneider
+Schoenberg
+Schofield
+scholar
+scholastic
+school
+schoolbook
+schoolboy
+schoolgirl
+schoolgirlish
+schoolhouse
+schoolmarm
+schoolmaster
+schoolmate
+schoolroom
+schoolteacher
+schoolwork
+schoolyard
+schooner
+Schottky
+Schroeder
+Schroedinger
+Schubert
+Schultz
+Schulz
+Schumacher
+Schumann
+Schuster
+Schuyler
+Schuylkill
+Schwab
+Schwartz
+Schweitzer
+Sci
+sciatica
+science
+scientific
+scientist
+scimitar
+scintillate
+scion
+scissor
+sclerosis
+sclerotic
+SCM
+scoff
+scold
+scoop
+scoot
+scope
+scopic
+scops
+scorch
+score
+scoreboard
+scorecard
+scoria
+scorn
+scornful
+Scorpio
+scorpion
+Scot
+scotch
+Scotia
+Scotland
+Scotsman
+Scotsmen
+Scott
+Scottish
+Scottsdale
+Scotty
+scoundrel
+scour
+scourge
+scout
+scowl
+scrabble
+scraggly
+scram
+scramble
+Scranton
+scrap
+scrapbook
+scrape
+scrappy
+scratch
+scratchy
+scrawl
+scrawny
+scream
+screech
+screechy
+screed
+screen
+screenful
+screenplay
+screw
+screwball
+screwbean
+screwdriver
+screwworm
+screwy
+scribble
+scribe
+Scribners
+scrim
+scrimmage
+Scripps
+script
+scription
+scriptural
+scripture
+scriptwriter
+scriven
+scroll
+scrooge
+scrotum
+scrounge
+scrub
+scrubby
+scruffy
+scrumptious
+scruple
+scrupulosity
+scrupulous
+scrutable
+scrutiny
+scuba
+scud
+scuff
+scuffle
+scull
+sculpin
+sculpt
+sculptor
+sculptural
+sculpture
+scum
+scurrilous
+scurry
+scurvy
+scuttle
+scutum
+Scylla
+scythe
+Scythia
+SD
+SE
+sea
+seabed
+seaboard
+Seaborg
+seacoast
+seafare
+seafood
+Seagram
+seagull
+seahorse
+seal
+sealant
+seam
+seaman
+seamen
+seamstress
+seamy
+Sean
+seance
+seaport
+seaquake
+sear
+search
+searchlight
+seashell
+seashore
+seaside
+season
+seasonal
+seat
+seater
+Seattle
+seaward
+seawater
+seaweed
+seaworthy
+sebaceous
+Sebastian
+sec
+secant
+secede
+secession
+seclude
+seclusion
+second
+secondary
+secondhand
+secrecy
+secret
+secretarial
+secretariat
+secretary
+secrete
+secretion
+secretive
+sect
+sectarian
+section
+sector
+secular
+secure
+sedan
+sedate
+sedentary
+seder
+sedge
+sediment
+sedimentary
+sedimentation
+sedition
+seditious
+seduce
+seduction
+seductive
+sedulous
+see
+seeable
+seed
+seedbed
+seedling
+seedy
+seeing
+seek
+seem
+seen
+seep
+seepage
+seersucker
+seethe
+seething
+segment
+segmentation
+Segovia
+segregant
+segregate
+Segundo
+Seidel
+seismic
+seismograph
+seismography
+seismology
+seize
+seizure
+seldom
+select
+selectman
+selectmen
+selector
+Selectric
+Selena
+selenate
+selenite
+selenium
+self
+selfadjoint
+selfish
+Selfridge
+Selkirk
+sell
+sellout
+Selma
+seltzer
+selves
+Selwyn
+semantic
+semaphore
+semblance
+semester
+semi
+seminal
+seminar
+seminarian
+seminary
+Seminole
+Semiramis
+Semite
+Semitic
+semper
+sen
+senate
+senatorial
+send
+Seneca
+Senegal
+senescent
+senile
+senior
+senor
+Senora
+senorita
+sensate
+sense
+sensible
+sensitive
+sensor
+sensory
+sensual
+sensuous
+sent
+sentence
+sentential
+sentient
+sentiment
+sentinel
+sentry
+Seoul
+sepal
+separable
+separate
+sepia
+Sepoy
+sept
+septa
+septate
+September
+septennial
+septic
+septillion
+septuagenarian
+septum
+sepulchral
+seq
+sequel
+sequent
+sequential
+sequester
+sequestration
+sequin
+sequitur
+Sequoia
+sera
+seraglio
+serape
+seraphim
+Serbia
+serenade
+serendipitous
+serendipity
+serene
+serf
+serge
+sergeant
+Sergei
+serial
+seriatim
+sericulture
+series
+serif
+serine
+serious
+sermon
+serology
+Serpens
+serpent
+serpentine
+serum
+servant
+serve
+service
+serviceable
+serviceberry
+serviceman
+servicemen
+serviette
+servile
+servitor
+servitude
+servo
+servomechanism
+sesame
+session
+set
+setback
+Seth
+Seton
+setscrew
+settle
+setup
+seven
+sevenfold
+seventeen
+seventeenth
+seventh
+seventieth
+seventy
+seventyfold
+sever
+several
+severalfold
+severalty
+severe
+Severn
+Seville
+sew
+sewage
+Seward
+sewerage
+sewn
+sex
+Sextans
+sextet
+sextic
+sextillion
+sexton
+sextuple
+sextuplet
+sexual
+sexy
+Seychelle
+Seymour
+sforzando
+shabby
+shack
+shackle
+shad
+shadbush
+shade
+shadflower
+shadow
+shadowy
+shady
+Shafer
+Shaffer
+shaft
+shag
+shagbark
+shagging
+shaggy
+shah
+shake
+shakeable
+shakedown
+shaken
+Shakespeare
+Shakespearean
+Shakespearian
+shako
+shaky
+shale
+shall
+shallot
+shallow
+shalom
+sham
+shaman
+shamble
+shame
+shameface
+shameful
+shampoo
+shamrock
+Shanghai
+shank
+Shannon
+shan't
+Shantung
+shanty
+shape
+Shapiro
+shard
+share
+sharecrop
+sharecropper
+shareholder
+Shari
+shark
+Sharon
+sharp
+Sharpe
+sharpen
+sharpshoot
+Shasta
+shatter
+shatterproof
+Shattuck
+shave
+shaven
+shaw
+shawl
+Shawnee
+shay
+she
+Shea
+sheaf
+shear
+Shearer
+sheath
+sheathe
+sheave
+shebang
+she'd
+shed
+Shedir
+Sheehan
+sheen
+sheep
+sheepherder
+sheepskin
+sheer
+sheet
+Sheffield
+sheik
+Sheila
+Shelby
+Sheldon
+shelf
+she'll
+shell
+Shelley
+shellfish
+shelter
+Shelton
+shelve
+Shenandoah
+shenanigan
+Shepard
+shepherd
+shepherdess
+Sheppard
+Sheraton
+sherbet
+Sheridan
+sheriff
+Sherlock
+Sherman
+Sherrill
+sherry
+Sherwin
+Sherwood
+shibboleth
+shield
+shift
+shifty
+shill
+Shiloh
+shim
+shimmy
+shin
+shinbone
+shine
+shingle
+Shinto
+shiny
+ship
+shipboard
+shipbuild
+shipbuilding
+shiplap
+Shipley
+shipload
+shipman
+shipmate
+shipmen
+shipshape
+shipwreck
+shipyard
+shire
+shirk
+Shirley
+shirt
+shirtmake
+shish
+shitepoke
+shiv
+Shiva
+shiver
+shivery
+Shmuel
+shoal
+shock
+Shockley
+shod
+shoddy
+shoe
+shoehorn
+shoelace
+shoemake
+shoestring
+shoji
+shone
+shoo
+shoofly
+shook
+shoot
+shop
+shopkeep
+shopworn
+shore
+shorebird
+shorefront
+shoreline
+short
+shortage
+shortcake
+shortcoming
+shortcut
+shorten
+shortfall
+shorthand
+shortish
+shortsighted
+shortstop
+Shoshone
+shot
+shotbush
+shotgun
+should
+shoulder
+shouldn't
+shout
+shove
+shovel
+show
+showboat
+showcase
+showdown
+showman
+showmen
+shown
+showpiece
+showplace
+showroom
+showy
+shrank
+shrapnel
+shred
+Shreveport
+shrew
+shrewd
+shrewish
+shriek
+shrift
+shrike
+shrill
+shrilly
+shrimp
+shrine
+shrink
+shrinkage
+shrive
+shrivel
+shroud
+shrove
+shrub
+shrubbery
+shrug
+shrugging
+shrunk
+shrunken
+Shu
+shuck
+shudder
+shuddery
+shuffle
+shuffleboard
+Shulman
+shun
+shunt
+shut
+shutdown
+shutoff
+shutout
+shuttle
+shuttlecock
+shy
+Shylock
+shyly
+sial
+SIAM
+Siamese
+Sian
+sib
+Siberia
+sibilant
+Sibley
+sibling
+sibyl
+sic
+Sicilian
+Sicily
+sick
+sickbed
+sicken
+sickish
+sickle
+sicklewort
+sickroom
+side
+sidearm
+sideband
+sideboard
+sidecar
+sidelight
+sideline
+sidelong
+sideman
+sidemen
+sidereal
+siderite
+sidesaddle
+sideshow
+sidestep
+sidestepped
+sidestepping
+sidetrack
+sidewalk
+sidewall
+sideway
+sidewinder
+sidewise
+sidle
+Sidney
+siege
+Siegel
+Siegfried
+Sieglinda
+Siegmund
+Siemens
+Siena
+sienna
+sierra
+siesta
+sieve
+sift
+sigh
+sight
+sightsee
+sightseeing
+sightseer
+sigma
+Sigmund
+sign
+signal
+signature
+signboard
+signet
+significant
+signify
+Signor
+Signora
+signpost
+Sikh
+Sikkim
+Sikorsky
+silage
+silane
+Silas
+silent
+silhouette
+silica
+silicate
+siliceous
+silicic
+silicide
+silicon
+silicone
+silicosis
+silk
+silken
+silkworm
+silky
+sill
+silly
+silo
+silt
+siltation
+siltstone
+silty
+silver
+Silverman
+silversmith
+silverware
+silvery
+sima
+simian
+similar
+simile
+similitude
+Simla
+simmer
+Simmons
+Simon
+Simonson
+simper
+simple
+simplectic
+simpleminded
+simpleton
+simplex
+simplicial
+simplicity
+simplify
+simplistic
+simply
+Simpson
+Sims
+simulate
+simulcast
+simultaneity
+simultaneous
+sin
+Sinai
+Sinbad
+since
+sincere
+Sinclair
+sine
+sinew
+sinewy
+sinful
+sing
+singable
+Singapore
+singe
+single
+singlehanded
+singleminded
+singlet
+singleton
+singsong
+singular
+sinh
+sinister
+sinistral
+sink
+sinkhole
+Sino
+Sinology
+sinter
+sinuous
+sinus
+sinusoid
+sinusoidal
+Sioux
+sip
+sir
+sire
+siren
+Sirius
+sis
+sisal
+siskin
+sister
+Sistine
+Sisyphean
+Sisyphus
+sit
+site
+situ
+situate
+situs
+siva
+six
+sixfold
+sixgun
+sixteen
+sixteenth
+sixth
+sixtieth
+sixty
+sixtyfold
+size
+sizzle
+skat
+skate
+skateboard
+skater
+skeet
+skein
+skeleta
+skeletal
+skeleton
+skeptic
+sketch
+sketchbook
+sketchpad
+sketchy
+skew
+ski
+skid
+skiddy
+skiff
+skill
+skillet
+skillful
+skim
+skimp
+skimpy
+skin
+skindive
+skinflint
+skinny
+skintight
+skip
+skipjack
+Skippy
+skirmish
+skirt
+skit
+skittle
+Skopje
+skulk
+skull
+skullcap
+skullduggery
+skunk
+sky
+Skye
+skyhook
+skyjack
+skylark
+skylight
+skyline
+skyrocket
+skyscrape
+skyward
+skywave
+skyway
+slab
+slack
+slacken
+sladang
+slag
+slain
+slake
+slam
+slander
+slanderous
+slang
+slant
+slap
+slapdash
+slapstick
+slash
+slat
+slate
+slater
+slaughter
+slaughterhouse
+Slav
+slave
+slavery
+Slavic
+slavish
+Slavonic
+slay
+sleazy
+sled
+sledge
+sledgehammer
+sleek
+sleep
+sleepwalk
+sleepy
+sleet
+sleety
+sleeve
+sleigh
+sleight
+slender
+slept
+sleuth
+slew
+slice
+slick
+slid
+slide
+slight
+slim
+slime
+slimy
+sling
+slingshot
+slink
+slip
+slippage
+slippery
+slipshod
+slit
+slither
+sliver
+slivery
+Sloan
+Sloane
+slob
+Slocum
+sloe
+slog
+slogan
+sloganeer
+slogging
+sloop
+slop
+slope
+sloppy
+slosh
+slot
+sloth
+slothful
+slouch
+slough
+Slovakia
+sloven
+Slovenia
+slow
+slowdown
+sludge
+slug
+slugging
+sluggish
+sluice
+slum
+slumber
+slump
+slung
+slunk
+slur
+slurp
+slurry
+slush
+slushy
+sly
+smack
+small
+Smalley
+smallish
+smallpox
+smalltime
+smart
+smash
+smattering
+smear
+smell
+smelly
+smelt
+smile
+smirk
+smite
+smith
+smithereens
+Smithfield
+Smithson
+smithy
+smitten
+smog
+smoke
+smokehouse
+smokescreen
+smokestack
+smoky
+smolder
+smooch
+smooth
+smoothbore
+smote
+smother
+Smucker
+smudge
+smudgy
+smug
+smuggle
+smut
+smutty
+Smyrna
+Smythe
+snack
+snafu
+snag
+snagging
+snail
+snake
+snakebird
+snakebite
+snakeroot
+snap
+snapback
+snapdragon
+snappish
+snappy
+snapshot
+snare
+snark
+snarl
+snatch
+snazzy
+sneak
+sneaky
+sneer
+sneeze
+snell
+snick
+Snider
+sniff
+sniffle
+snifter
+snigger
+snip
+snipe
+snippet
+snippy
+snivel
+snob
+snobbery
+snobbish
+snook
+snoop
+snoopy
+snore
+snorkel
+snort
+snotty
+snout
+snow
+snowball
+snowbank
+snowfall
+snowflake
+snowshoe
+snowstorm
+snowy
+snub
+snuff
+snuffle
+snug
+snuggle
+snuggly
+Snyder
+so
+soak
+soap
+soapstone
+soapsud
+soapy
+soar
+sob
+sober
+sobriety
+sobriquet
+Soc
+soccer
+sociable
+social
+societal
+Societe
+society
+socioeconomic
+sociolinguistic
+sociology
+sociometry
+sock
+socket
+sockeye
+Socrates
+Socratic
+sod
+soda
+sodden
+sodium
+sofa
+soffit
+Sofia
+soft
+softball
+softcover
+soften
+software
+softwood
+soggy
+soignee
+soil
+soiree
+sojourn
+Sol
+solace
+solar
+sold
+solder
+soldier
+soldiery
+sole
+solecism
+solemn
+solenoid
+solicit
+solicitation
+solicitor
+solicitous
+solicitude
+solid
+solidarity
+solidify
+soliloquy
+solipsism
+solitary
+soliton
+solitude
+solo
+Solomon
+Solon
+solstice
+soluble
+solute
+solution
+solvate
+solve
+solvent
+soma
+somal
+Somali
+Somalia
+somatic
+somber
+sombre
+some
+somebody
+somebody'll
+someday
+somehow
+someone
+someone'll
+someplace
+Somers
+somersault
+Somerset
+Somerville
+something
+sometime
+somewhat
+somewhere
+sommelier
+Sommerfeld
+somnolent
+son
+sonant
+sonar
+sonata
+song
+songbag
+songbird
+songbook
+songful
+sonic
+sonnet
+sonny
+Sonoma
+Sonora
+sonorant
+sonority
+sonorous
+Sony
+soon
+soot
+sooth
+soothe
+soothsay
+soothsayer
+sop
+sophia
+Sophie
+sophism
+sophisticate
+sophistry
+Sophoclean
+Sophocles
+sophomore
+sophomoric
+soprano
+sora
+sorb
+sorcery
+sordid
+sore
+Sorensen
+Sorenson
+sorghum
+sorority
+sorption
+sorrel
+sorrow
+sorrowful
+sorry
+sort
+sortie
+sou
+souffle
+sough
+sought
+soul
+soulful
+sound
+soundproof
+soup
+soupy
+sour
+sourberry
+source
+sourdough
+sourwood
+Sousa
+soutane
+south
+Southampton
+southbound
+southeast
+southeastern
+southern
+southernmost
+Southey
+southland
+southpaw
+southward
+southwest
+southwestern
+souvenir
+sovereign
+sovereignty
+soviet
+sovkhoz
+sow
+sowbelly
+sowbug
+sown
+soy
+soya
+soybean
+spa
+space
+spacecraft
+spacesuit
+spacetime
+spacious
+spade
+spaghetti
+Spain
+spalding
+span
+spandrel
+spangle
+Spaniard
+spaniel
+Spanish
+spar
+spare
+sparge
+spark
+sparkle
+Sparkman
+sparky
+sparling
+sparrow
+sparse
+Sparta
+spartan
+spasm
+spasmodic
+spastic
+spat
+spate
+spatial
+spatlum
+spatterdock
+spatula
+Spaulding
+spavin
+spawn
+spay
+speak
+speakeasy
+spear
+spearhead
+spearmint
+spec
+special
+speciate
+specie
+species
+specific
+specify
+specimen
+specious
+speck
+speckle
+spectacle
+spectacular
+spectator
+Spector
+spectra
+spectral
+spectrogram
+spectrograph
+spectrography
+spectrometer
+spectrophotometer
+spectroscope
+spectroscopic
+spectroscopy
+spectrum
+specular
+speculate
+sped
+speech
+speed
+speedboat
+speedometer
+speedup
+speedwell
+speedy
+spell
+spellbound
+Spencer
+Spencerian
+spend
+spent
+sperm
+spermatophyte
+spermatozoa
+spermatozoon
+Sperry
+spew
+sphagnum
+sphalerite
+sphere
+spheric
+spheroid
+spheroidal
+spherule
+sphinx
+sphygmomanometer
+Spica
+spice
+spicebush
+spicy
+spider
+spiderwort
+spidery
+Spiegel
+spigot
+spike
+spikenard
+spiky
+spill
+spillover
+spilt
+spin
+spinach
+spinal
+spindle
+spindly
+spine
+spinel
+spinnaker
+spinneret
+spinodal
+spinoff
+spinster
+spiny
+spiral
+spire
+spirit
+spiritual
+Spiro
+spirochaete
+Spirogyra
+spit
+spite
+spiteful
+spitfire
+spittle
+spitz
+splash
+splashy
+splat
+splay
+spleen
+spleenwort
+splendid
+splenetic
+splice
+spline
+splint
+splintery
+split
+splotch
+splotchy
+splurge
+splutter
+spoil
+spoilage
+Spokane
+spoke
+spoken
+spokesman
+spokesmen
+spokesperson
+sponge
+spongy
+sponsor
+spontaneity
+spontaneous
+spoof
+spook
+spooky
+spool
+spoon
+spoonful
+sporadic
+spore
+sport
+sportsman
+sportsmen
+sportswear
+sportswriter
+sportswriting
+sporty
+spot
+spotlight
+spotty
+spouse
+spout
+Sprague
+sprain
+sprang
+sprawl
+spray
+spread
+spree
+sprig
+sprightly
+spring
+springboard
+springe
+Springfield
+springtail
+springtime
+springy
+sprinkle
+sprint
+sprite
+sprocket
+Sproul
+sprout
+spruce
+sprue
+sprung
+spud
+spume
+spumoni
+spun
+spunk
+spunky
+spur
+spurge
+spurious
+spurn
+spurt
+sputnik
+sputter
+spy
+spyglass
+squabble
+squad
+squadron
+squalid
+squall
+squamous
+squander
+square
+squash
+squashberry
+squashy
+squat
+squatted
+squatter
+squatting
+squaw
+squawbush
+squawk
+squawroot
+squeak
+squeaky
+squeal
+squeamish
+squeegee
+squeeze
+squelch
+Squibb
+squid
+squill
+squint
+squire
+squirm
+squirmy
+squirrel
+squirt
+squishy
+Sri
+s's
+SSE
+SST
+SSW
+St
+stab
+stabile
+stable
+stableman
+stablemen
+staccato
+stack
+Stacy
+stadia
+stadium
+staff
+Stafford
+stag
+stage
+stagecoach
+stagnant
+stagnate
+stagy
+Stahl
+staid
+stain
+stair
+staircase
+stairway
+stairwell
+stake
+stalactite
+stalagmite
+stale
+stalemate
+Staley
+Stalin
+stalk
+stall
+stallion
+stalwart
+stamen
+Stamford
+stamina
+staminate
+stammer
+stamp
+stampede
+Stan
+stance
+stanch
+stanchion
+stand
+standard
+standby
+standeth
+Standish
+standoff
+standpoint
+standstill
+Stanford
+Stanhope
+stank
+Stanley
+stannic
+stannous
+Stanton
+stanza
+staph
+staphylococcus
+staple
+Stapleton
+star
+starboard
+starch
+starchy
+stardom
+stare
+starfish
+stargaze
+stark
+Starkey
+starlet
+starlight
+starling
+Starr
+starry
+start
+startle
+startup
+starvation
+starve
+stash
+stasis
+state
+Staten
+stater
+stateroom
+statesman
+statesmen
+statewide
+static
+stationarity
+stationary
+stationery
+stationmaster
+statistician
+Statler
+stator
+statuary
+statue
+statuesque
+statuette
+stature
+status
+statute
+statutory
+Stauffer
+staunch
+Staunton
+stave
+stay
+stead
+steadfast
+steady
+steak
+steal
+stealth
+stealthy
+steam
+steamboat
+steamy
+stearate
+stearic
+Stearns
+steed
+steel
+Steele
+steelmake
+steely
+Steen
+steep
+steepen
+steeple
+steeplebush
+steeplechase
+steer
+steeve
+Stefan
+Stegosaurus
+stein
+Steinberg
+Steiner
+stella
+stellar
+stem
+stench
+stencil
+stenographer
+stenography
+stenotype
+step
+stepchild
+Stephanie
+stephanotis
+Stephen
+Stephenson
+stepmother
+steppe
+steprelation
+stepson
+stepwise
+steradian
+stereo
+stereography
+stereoscopy
+sterile
+sterling
+stern
+sternal
+Sternberg
+Sterno
+sternum
+steroid
+stethoscope
+Stetson
+Steuben
+Steve
+stevedore
+Steven
+Stevenson
+stew
+steward
+stewardess
+Stewart
+stick
+stickle
+stickleback
+stickpin
+sticktight
+sticky
+stiff
+stiffen
+stifle
+stigma
+stigmata
+stile
+stiletto
+still
+stillbirth
+stillwater
+stilt
+stimulant
+stimulate
+stimulatory
+stimuli
+stimulus
+sting
+stingray
+stingy
+stink
+stinkbug
+stinkpot
+stinky
+stint
+stipend
+stipple
+stipulate
+stir
+Stirling
+stirrup
+stitch
+stoat
+stochastic
+stock
+stockade
+stockbroker
+stockholder
+Stockholm
+stockpile
+stockroom
+Stockton
+stocky
+stodgy
+stoic
+stoichiometry
+stoke
+Stokes
+stole
+stolen
+stolid
+stomach
+stomp
+stone
+stonecrop
+Stonehenge
+stonewall
+stoneware
+stonewort
+stony
+stood
+stooge
+stool
+stoop
+stop
+stopband
+stopcock
+stopgap
+stopover
+stoppage
+stopwatch
+storage
+store
+storefront
+storehouse
+storekeep
+storeroom
+Storey
+stork
+storm
+stormbound
+stormy
+story
+storyboard
+storyteller
+storytelling
+stout
+stove
+stow
+stowage
+stowaway
+strabismic
+strabismus
+straddle
+strafe
+straggle
+straight
+straightaway
+straighten
+straightforward
+straightway
+strain
+strait
+strand
+strange
+strangle
+strangulate
+strap
+strata
+stratagem
+strategic
+strategist
+strategy
+Stratford
+stratify
+stratosphere
+stratospheric
+Stratton
+stratum
+stratus
+Strauss
+straw
+strawberry
+strawflower
+stray
+streak
+stream
+streamline
+streamside
+street
+streetcar
+strength
+strengthen
+strenuous
+streptococcus
+streptomycin
+stress
+stressful
+stretch
+strewn
+striate
+stricken
+Strickland
+strict
+stricture
+stride
+strident
+strife
+strike
+strikebreak
+string
+stringent
+stringy
+strip
+stripe
+striptease
+strive
+striven
+strobe
+stroboscopic
+strode
+stroke
+stroll
+Strom
+Stromberg
+strong
+stronghold
+strongroom
+strontium
+strop
+strophe
+strove
+struck
+structural
+structure
+struggle
+strum
+strung
+strut
+strychnine
+Stuart
+stub
+stubble
+stubborn
+stubby
+stucco
+stuck
+stud
+Studebaker
+student
+studio
+studious
+study
+stuff
+stuffy
+stultify
+stumble
+stump
+stumpage
+stumpy
+stun
+stung
+stunk
+stunt
+stupa
+stupefy
+stupendous
+stupid
+stupor
+Sturbridge
+sturdy
+sturgeon
+Sturm
+stutter
+Stuttgart
+Stuyvesant
+Stygian
+style
+styli
+stylish
+stylites
+stylus
+stymie
+styrene
+Styrofoam
+Styx
+suave
+sub
+subject
+subjunctive
+sublimate
+subliminal
+submersible
+submit
+submittal
+submitted
+submitting
+subpoena
+subrogation
+subservient
+subsidiary
+subsidy
+subsist
+subsistent
+substantial
+substantiate
+substantive
+substituent
+substitute
+substitution
+substitutionary
+substrate
+subsume
+subterfuge
+subterranean
+subtle
+subtlety
+subtly
+subtrahend
+suburb
+suburbia
+subversive
+subvert
+succeed
+success
+successful
+succession
+successive
+successor
+succinct
+succubus
+succumb
+such
+suck
+suckle
+sucrose
+suction
+sud
+Sudan
+Sudanese
+sudden
+sudorific
+suds
+sue
+suet
+suey
+Suez
+suffer
+suffice
+sufficient
+suffix
+suffocate
+Suffolk
+suffrage
+suffragette
+suffuse
+sugar
+sugary
+suggest
+suggestible
+suggestion
+suggestive
+suicidal
+suicide
+suit
+suitcase
+suite
+suitor
+sukiyaki
+sulfa
+sulfanilamide
+sulfate
+sulfide
+sulfite
+sulfonamide
+sulfur
+sulfuric
+sulfurous
+sulk
+sulky
+sullen
+Sullivan
+sully
+sulphur
+sultan
+sultry
+sum
+sumac
+Sumatra
+Sumeria
+summand
+summary
+summate
+summertime
+summit
+summitry
+summon
+Sumner
+sumptuous
+Sumter
+sun
+sunbeam
+sunbonnet
+sunburn
+sunburnt
+Sunday
+sunder
+sundew
+sundial
+sundown
+sundry
+sunfish
+sunflower
+sung
+sunglasses
+sunk
+sunken
+sunlight
+sunlit
+sunny
+Sunnyvale
+sunrise
+sunscreen
+sunset
+sunshade
+sunshine
+sunshiny
+sunspot
+suntan
+suntanned
+suntanning
+SUNY
+sup
+super
+superannuate
+superb
+superbly
+supercilious
+superficial
+superfluity
+superfluous
+superintendent
+superior
+superlative
+superlunary
+supernatant
+supersede
+superstition
+superstitious
+supervene
+supervisory
+supine
+supplant
+supple
+supplementary
+supplicant
+supplicate
+supply
+support
+supposable
+suppose
+supposition
+suppress
+suppressible
+suppression
+suppressor
+supra
+supranational
+supremacy
+supreme
+supremum
+surah
+surcease
+surcharge
+sure
+surefire
+surety
+surf
+surface
+surfactant
+surfeit
+surge
+surgeon
+surgery
+surgical
+surjection
+surjective
+surly
+surmise
+surmount
+surname
+surpass
+surplus
+surprise
+surreal
+surrender
+surreptitious
+surrey
+surrogate
+surround
+surtax
+surtout
+surveillant
+survey
+surveyor
+survival
+survive
+survivor
+Sus
+Susan
+Susanne
+susceptance
+susceptible
+sushi
+Susie
+suspect
+suspend
+suspense
+suspension
+suspensor
+suspicion
+suspicious
+Sussex
+sustain
+sustenance
+Sutherland
+Sutton
+suture
+Suzanne
+suzerain
+suzerainty
+Suzuki
+svelte
+Svetlana
+SW
+swab
+swabby
+swag
+Swahili
+swain
+swallow
+swallowtail
+swam
+swami
+swamp
+swampland
+swampy
+swan
+swank
+swanky
+Swanson
+swap
+swarm
+swart
+Swarthmore
+Swarthout
+swarthy
+swastika
+swat
+swatch
+swath
+swathe
+sway
+Swaziland
+swear
+sweat
+sweatband
+sweater
+sweatpants
+sweatshirt
+sweatshop
+sweatsocks
+sweaty
+Swede
+Sweden
+Swedish
+Sweeney
+sweep
+sweepstake
+sweet
+sweetbread
+sweeten
+sweetheart
+sweetie
+sweetish
+swell
+swelt
+swelter
+Swenson
+swept
+swerve
+swidden
+swift
+swig
+swigging
+swill
+swim
+swimsuit
+swindle
+swine
+swing
+swingable
+swingy
+swipe
+swirl
+swirly
+swish
+swishy
+swiss
+switch
+switchback
+switchblade
+switchboard
+switchgear
+switchman
+switchmen
+Switzer
+Switzerland
+swivel
+swizzle
+swollen
+swoop
+sword
+swordfish
+swordplay
+swordtail
+swore
+sworn
+swum
+swung
+sybarite
+Sybil
+sycamore
+sycophant
+sycophantic
+Sydney
+syenite
+Sykes
+syllabi
+syllabic
+syllabify
+syllable
+syllabus
+syllogism
+syllogistic
+Sylow
+sylvan
+Sylvania
+Sylvester
+Sylvia
+symbiont
+symbiosis
+symbiote
+symbiotic
+symbol
+symbolic
+symmetry
+sympathetic
+sympathy
+symphonic
+symphony
+symplectic
+symposia
+symposium
+symptom
+symptomatic
+synagogue
+synapse
+synaptic
+synchronism
+synchronous
+synchrony
+synchrotron
+syncopate
+syndic
+syndicate
+syndrome
+synecdoche
+synergism
+synergistic
+synergy
+Synge
+synod
+synonym
+synonymous
+synonymy
+synopses
+synopsis
+synoptic
+syntactic
+syntax
+synthesis
+synthetic
+syphilis
+syphilitic
+Syracuse
+Syria
+syringa
+syringe
+syrinx
+syrup
+syrupy
+system
+systematic
+systemic
+systemwide
+syzygy
+Szilard
+t
+TA
+tab
+tabernacle
+table
+tableau
+tableaux
+tablecloth
+tableland
+tablespoon
+tablespoonful
+tablet
+tabletop
+tabloid
+taboo
+tabu
+tabula
+tabular
+tabulate
+tachinid
+tachometer
+tachyon
+tacit
+taciturn
+Tacitus
+tack
+tackle
+tacky
+Tacoma
+tact
+tactful
+tactic
+tactile
+tactual
+tad
+tadpole
+taffeta
+taffy
+taft
+tag
+tagging
+Tahiti
+Tahoe
+taiga
+tail
+tailgate
+taillight
+tailor
+tailspin
+tailwind
+taint
+Taipei
+Taiwan
+take
+taken
+takeoff
+takeover
+talc
+talcum
+tale
+talent
+talisman
+talismanic
+talk
+talkative
+talkie
+talky
+tall
+Tallahassee
+tallow
+tally
+tallyho
+Talmud
+Talmudic
+talon
+talus
+tam
+tamale
+tamarack
+tamarind
+tamarisk
+tambourine
+tame
+Tamil
+Tammany
+tamp
+Tampa
+tampon
+tan
+tanager
+Tanaka
+Tananarive
+tandem
+tang
+Tanganyika
+tangent
+tangential
+tangerine
+tangible
+tangle
+tango
+tangy
+tanh
+tank
+tankard
+tannin
+tansy
+tantalum
+Tantalus
+tantamount
+Tantric
+tantrum
+Tanya
+Tanzania
+tao
+tap
+tapa
+tape
+taper
+tapestry
+tapeworm
+tapioca
+tapir
+tapis
+tappa
+tappet
+taproot
+tar
+tara
+tarantara
+tarantula
+Tarbell
+tardy
+target
+tariff
+tarnish
+taro
+tarpaper
+tarpaulin
+tarpon
+tarry
+Tarrytown
+tarsier
+tart
+tartar
+Tartary
+Tarzan
+task
+taskmaster
+Tasmania
+Tass
+tassel
+taste
+tasteful
+tasting
+tasty
+tat
+tate
+tater
+tattle
+tattler
+tattletale
+tattoo
+tatty
+tau
+taught
+taunt
+Taurus
+taut
+tautology
+tavern
+taverna
+tawdry
+tawny
+tax
+taxa
+taxation
+taxi
+taxicab
+taxidermist
+taxidermy
+taxied
+taxiway
+taxon
+taxonomic
+taxonomist
+taxonomy
+taxpayer
+taxpaying
+Taylor
+tea
+teacart
+teach
+teacup
+teahouse
+teak
+teakettle
+teakwood
+teal
+team
+teammate
+teamster
+teamwork
+teapot
+tear
+teardrop
+tearful
+tease
+teasel
+teaspoon
+teaspoonful
+teat
+tech
+technetium
+technic
+technician
+Technion
+technique
+technology
+tectonic
+tecum
+Ted
+Teddy
+tedious
+tedium
+tee
+teeing
+teem
+teen
+teenage
+teensy
+teet
+teeth
+teethe
+teetotal
+Teflon
+Tegucigalpa
+Teheran
+Tehran
+tektite
+Tektronix
+Tel
+telecommunicate
+teleconference
+Teledyne
+Telefunken
+telegram
+telegraph
+telegraphy
+telekinesis
+telemeter
+teleology
+teleost
+telepathic
+telepathy
+telephone
+telephonic
+telephony
+telephoto
+telephotography
+teleprinter
+teleprocessing
+teleprompter
+telescope
+telescopic
+teletype
+teletypesetting
+teletypewrite
+televise
+television
+Telex
+tell
+telltale
+tellurium
+temerity
+temper
+tempera
+temperance
+temperate
+temperature
+tempest
+tempestuous
+template
+temple
+Templeton
+tempo
+temporal
+temporary
+tempt
+temptation
+temptress
+ten
+tenable
+tenacious
+tenacity
+tenant
+tend
+tendency
+tenderfoot
+tenderhearted
+tenderloin
+tendon
+tenebrous
+tenement
+tenet
+tenfold
+Tenneco
+Tennessee
+Tenney
+tennis
+Tennyson
+tenon
+tenor
+tense
+tensile
+tension
+tensor
+tenspot
+tent
+tentacle
+tentative
+tenth
+tenuous
+tenure
+tepee
+tepid
+teratogenic
+teratology
+terbium
+tercel
+Teresa
+term
+termcap
+terminable
+terminal
+terminate
+termini
+terminology
+terminus
+termite
+tern
+ternary
+Terpsichore
+terpsichorean
+Terra
+terrace
+terrain
+terramycin
+terrapin
+Terre
+terrestrial
+terrible
+terrier
+terrific
+terrify
+territorial
+territory
+terror
+terry
+terse
+tertiary
+Tess
+tessellate
+test
+testament
+testamentary
+testate
+testes
+testicle
+testicular
+testify
+testimonial
+testimony
+testosterone
+testy
+tetanus
+tete
+tether
+tetrachloride
+tetrafluoride
+tetragonal
+tetrahedra
+tetrahedral
+tetrahedron
+tetravalent
+Teutonic
+TEX
+Texaco
+Texan
+Texas
+text
+textbook
+textile
+Textron
+textual
+textural
+texture
+Thai
+Thailand
+Thalia
+thallium
+thallophyte
+than
+thank
+thankful
+thanksgiving
+that
+thatch
+that'd
+that'll
+thaw
+Thayer
+the
+Thea
+theatric
+Thebes
+thee
+theft
+their
+theism
+theist
+Thelma
+them
+thematic
+theme
+themselves
+then
+thence
+thenceforth
+theocracy
+theocratic
+Theodore
+Theodosian
+theologian
+theology
+theorem
+theoretic
+theoretician
+theorist
+theory
+therapeutic
+therapist
+therapy
+there
+thereabouts
+thereafter
+thereat
+thereby
+there'd
+therefor
+therefore
+therefrom
+therein
+there'll
+thereof
+thereon
+Theresa
+thereto
+theretofore
+thereunder
+thereupon
+therewith
+thermal
+thermionic
+thermistor
+thermo
+Thermofax
+thermophilic
+thermostat
+thesaurus
+these
+theses
+Theseus
+thesis
+thespian
+Thessalonian
+Thessaly
+theta
+Thetis
+they
+they'd
+they'll
+they're
+they've
+thiamin
+thick
+thicken
+thicket
+thickish
+thief
+thieves
+thieving
+thigh
+thimble
+thimbleful
+Thimbu
+thin
+thine
+thing
+think
+thinnish
+thiocyanate
+thiouracil
+third
+thirdhand
+thirst
+thirsty
+thirteen
+thirteenth
+thirtieth
+thirty
+thirtyfold
+this
+this'll
+thistle
+thistledown
+thither
+Thomas
+Thomistic
+Thompson
+Thomson
+thong
+Thor
+thoracic
+thorax
+Thoreau
+thoriate
+thorium
+thorn
+Thornton
+thorny
+thorough
+thoroughbred
+thoroughfare
+thoroughgoing
+Thorpe
+Thorstein
+those
+thou
+though
+thought
+thoughtful
+thousand
+thousandfold
+thousandth
+Thrace
+Thracian
+thrall
+thrash
+thread
+threadbare
+threat
+threaten
+three
+threefold
+threesome
+threonine
+thresh
+threshold
+threw
+thrice
+thrift
+thrifty
+thrill
+thrips
+thrive
+throat
+throaty
+throb
+throes
+thrombosis
+throne
+throng
+throttle
+through
+throughout
+throughput
+throw
+throwback
+thrown
+thrum
+thrush
+thrust
+Thruway
+Thuban
+thud
+thug
+thuggee
+Thule
+thulium
+thumb
+thumbnail
+thumbprint
+thump
+thunder
+thunderclap
+thundercloud
+thunderflower
+thunderous
+thundershower
+thunderstorm
+Thurman
+Thursday
+thus
+thwack
+thwart
+thy
+thyme
+thymine
+thymus
+thyratron
+thyroglobulin
+thyroid
+thyroidal
+thyronine
+thyrotoxic
+thyroxine
+thyself
+ti
+Tiber
+tibet
+Tibetan
+tibia
+tic
+tick
+ticket
+tickle
+ticklish
+tid
+tidal
+tidbit
+tide
+tideland
+tidewater
+tidy
+tie
+Tientsin
+tier
+Tiffany
+tift
+tiger
+tight
+tighten
+tightwad
+tigress
+Tigris
+til
+tilde
+tile
+till
+tilt
+tilth
+Tim
+timber
+timberland
+timbre
+time
+timeout
+timepiece
+timeshare
+timetable
+timeworn
+Timex
+timid
+Timon
+timothy
+tin
+Tina
+tincture
+tinder
+tine
+tinfoil
+tinge
+tingle
+tinker
+tinkle
+tinny
+tinsel
+tint
+tintype
+tiny
+Tioga
+tip
+tipoff
+Tipperary
+tipple
+tippy
+tipsy
+tiptoe
+tirade
+Tirana
+tire
+tiresome
+tissue
+tit
+Titan
+titanate
+titanic
+titanium
+tithe
+tithing
+titian
+titillate
+title
+titmice
+titmouse
+Tito
+titrate
+titular
+Titus
+tizzy
+TN
+TNT
+to
+toad
+toady
+toast
+tobacco
+Tobago
+Toby
+toccata
+today
+today'll
+Todd
+toddle
+toddy
+toe
+TOEFL
+toehold
+toenail
+toffee
+tofu
+tog
+together
+togging
+toggle
+Togo
+togs
+toil
+toilet
+toilsome
+tokamak
+token
+Tokyo
+told
+Toledo
+tolerable
+tolerant
+tolerate
+toll
+tollbooth
+tollgate
+tollhouse
+Tolstoy
+toluene
+Tom
+tomahawk
+tomato
+tomatoes
+tomb
+tombstone
+tome
+Tomlinson
+Tommie
+tommy
+tomography
+tomorrow
+Tompkins
+ton
+tonal
+tone
+tong
+tongue
+Toni
+tonic
+tonight
+tonk
+tonnage
+tonsil
+tonsillitis
+tony
+too
+toodle
+took
+tool
+toolkit
+toolmake
+toolsmith
+toot
+tooth
+toothache
+toothbrush
+toothpaste
+toothpick
+toothy
+tootle
+top
+topaz
+topcoat
+Topeka
+topgallant
+topheavy
+topic
+topmost
+topnotch
+topocentric
+topography
+topology
+toponym
+toponymy
+topple
+topsoil
+Topsy
+tor
+torah
+torch
+tore
+tori
+torn
+tornado
+toroid
+toroidal
+Toronto
+torpedo
+torpedoes
+torpid
+torpor
+torque
+torr
+Torrance
+torrent
+torrential
+torrid
+torsion
+torso
+tort
+tortoise
+tortoiseshell
+tortuous
+torture
+torus
+tory
+Toshiba
+toss
+tot
+total
+totalitarian
+tote
+totem
+totemic
+toto
+touch
+touchdown
+touchstone
+touchy
+tough
+tour
+tournament
+tousle
+tout
+tow
+toward
+towboat
+towel
+tower
+towhead
+towhee
+town
+townhouse
+Townsend
+townsman
+townsmen
+toxic
+toxicology
+toxin
+toy
+Toyota
+trace
+traceable
+tracery
+trachea
+tracheae
+track
+trackage
+tract
+tractor
+Tracy
+trade
+trademark
+tradeoff
+tradesman
+tradesmen
+tradition
+traffic
+trafficked
+trafficker
+trafficking
+trag
+tragedian
+tragedy
+tragic
+tragicomic
+trail
+trailblazer
+trailblazing
+trailhead
+trailside
+train
+trainee
+trainload
+trainman
+trainmen
+traipse
+trait
+traitor
+traitorous
+trajectory
+tram
+trammel
+tramp
+trample
+tramway
+trance
+tranquil
+tranquillity
+trans
+transact
+transalpine
+transatlantic
+transceiver
+transcend
+transcendent
+transcendental
+transconductance
+transcontinental
+transcribe
+transcript
+transcription
+transducer
+transduction
+transect
+transept
+transfer
+transferee
+transference
+transferor
+transferral
+transferred
+transferring
+transfinite
+transfix
+transform
+transformation
+transfusable
+transfuse
+transfusion
+transgress
+transgression
+transgressor
+transient
+transistor
+transit
+Transite
+transition
+transitive
+transitory
+translate
+transliterate
+translucent
+transmissible
+transmission
+transmit
+transmittable
+transmittal
+transmittance
+transmitted
+transmitter
+transmitting
+transmutation
+transmute
+transoceanic
+transom
+transonic
+transpacific
+transparent
+transpiration
+transpire
+transplant
+transplantation
+transport
+transportation
+transposable
+transpose
+transposition
+transship
+transshipping
+transudate
+Transvaal
+transversal
+transverse
+transvestite
+Transylvania
+trap
+trapezium
+trapezoid
+trapezoidal
+trash
+trashy
+Trastevere
+trauma
+traumatic
+travail
+travel
+travelogue
+traversable
+traversal
+traverse
+travertine
+travesty
+Travis
+trawl
+tray
+treacherous
+treachery
+tread
+treadle
+treadmill
+treason
+treasonous
+treasure
+treasury
+treat
+treatise
+treaty
+treble
+tree
+treetop
+trefoil
+trek
+trellis
+tremble
+tremendous
+tremolo
+tremor
+tremulous
+trench
+trenchant
+trencherman
+trenchermen
+trend
+trendy
+Trenton
+trepidation
+trespass
+tress
+trestle
+Trevelyan
+triable
+triad
+trial
+triangle
+triangular
+triangulate
+Triangulum
+Trianon
+Triassic
+triatomic
+tribal
+tribe
+tribesman
+tribesmen
+tribulate
+tribunal
+tribune
+tributary
+tribute
+Triceratops
+Trichinella
+trichloroacetic
+trichloroethane
+trichrome
+trick
+trickery
+trickle
+trickster
+tricky
+trident
+tridiagonal
+triennial
+trifle
+trifluoride
+trig
+trigonal
+trigonometry
+trigram
+trilingual
+trill
+trillion
+trillium
+trilobite
+trilogy
+trim
+trimer
+trimester
+Trinidad
+trinitarian
+trinity
+trinket
+trio
+triode
+trioxide
+trip
+tripartite
+tripe
+triphammer
+triphenylphosphine
+triple
+triplet
+Triplett
+triplex
+triplicate
+triploid
+triploidy
+tripod
+tripoli
+triptych
+trisodium
+Tristan
+tristate
+trisyllable
+trite
+tritium
+triton
+triumph
+triumphal
+triumphant
+triune
+trivalent
+trivia
+trivial
+trivium
+Trobriand
+trod
+trodden
+troff
+troglodyte
+troika
+Trojan
+troll
+trolley
+trollop
+trombone
+trompe
+troop
+trophic
+trophy
+tropic
+tropopause
+troposphere
+tropospheric
+trot
+trouble
+troubleshoot
+troublesome
+trough
+trounce
+troupe
+trouser
+trout
+Troutman
+troy
+truant
+truce
+truck
+truckload
+truculent
+trudge
+Trudy
+true
+truffle
+truism
+Truk
+truly
+Truman
+Trumbull
+trump
+trumpery
+trumpet
+truncate
+trundle
+trunk
+trunkful
+truss
+trust
+trustee
+trustful
+trustworthy
+trusty
+truth
+truthful
+TRW
+try
+trypsin
+trytophan
+t's
+tsar
+tsarina
+tset
+tsunami
+TTL
+TTY
+tty
+tub
+tuba
+tube
+tuberculin
+tuberculosis
+tuberous
+tubular
+tubule
+tuck
+Tucson
+Tudor
+Tuesday
+tuff
+tuft
+tug
+tugboat
+tugging
+tuition
+Tulane
+tularemia
+tulip
+tulle
+Tulsa
+tum
+tumble
+tumbrel
+tumult
+tumultuous
+tun
+tuna
+tundra
+tune
+tuneful
+tung
+tungstate
+tungsten
+tunic
+Tunis
+Tunisia
+tunnel
+tupelo
+tuple
+turban
+turbid
+turbidity
+turbinate
+turbine
+turbofan
+turbojet
+turbulent
+turf
+Turin
+Turing
+turk
+turkey
+Turkish
+turmeric
+turmoil
+turn
+turnabout
+turnaround
+turnery
+turnip
+turnkey
+turnoff
+turnout
+turnover
+turnpike
+turnstone
+turntable
+turpentine
+turpitude
+turquoise
+turret
+turtle
+turtleback
+turtleneck
+turvy
+Tuscaloosa
+Tuscan
+Tuscany
+Tuscarora
+tusk
+Tuskegee
+tussle
+tussock
+Tutankhamen
+tutelage
+Tutenkhamon
+tutor
+tutorial
+Tuttle
+tutu
+tuxedo
+TV
+TVA
+TWA
+twaddle
+twain
+tweak
+tweed
+tweedy
+tweeze
+twelfth
+twelve
+twelvefold
+twentieth
+twenty
+twentyfold
+twice
+twiddle
+twig
+twigging
+twilight
+twill
+twin
+twine
+twinge
+twinkle
+twirl
+twirly
+twist
+twisty
+twit
+twitch
+twitchy
+two
+twofold
+Twombly
+twosome
+TWX
+TX
+Tyburn
+tycoon
+tying
+tyke
+Tyler
+tympanum
+type
+typeface
+typescript
+typeset
+typesetter
+typesetting
+typewrite
+typewritten
+typhoid
+Typhon
+typhoon
+typhus
+typic
+typify
+typo
+typographer
+typography
+typology
+tyrannic
+tyrannicide
+Tyrannosaurus
+tyranny
+tyrant
+tyrosine
+Tyson
+Tzeltal
+u
+ubiquitous
+ubiquity
+UCLA
+Uganda
+ugh
+ugly
+UK
+Ukraine
+Ukrainian
+Ulan
+ulcer
+ulcerate
+Ullman
+ulna
+Ulster
+ulterior
+ultimate
+ultimatum
+ultra
+Ulysses
+umber
+umbilical
+umbilici
+umbilicus
+umbra
+umbrage
+umbrella
+umpire
+UN
+un
+unanimity
+unanimous
+unary
+unbeknownst
+unchristian
+uncle
+uncouth
+unction
+unctuous
+under
+underclassman
+underclassmen
+underivable
+underived
+underling
+undulate
+UNESCO
+ungulate
+uniaxial
+unicorn
+unidimensional
+unidirectional
+uniform
+unify
+unilateral
+unimodal
+uninominal
+union
+uniplex
+unipolar
+uniprocessor
+unique
+Uniroyal
+unisex
+unison
+unit
+unital
+unitarian
+unitary
+unite
+unity
+Univac
+univalent
+univariate
+universal
+universe
+Unix
+unkempt
+unruly
+until
+unwieldy
+up
+upbeat
+upbraid
+upbring
+upcome
+update
+updraft
+upend
+upgrade
+upheaval
+upheld
+uphill
+uphold
+upholster
+upholstery
+upkeep
+upland
+uplift
+upon
+upperclassman
+upperclassmen
+uppercut
+uppermost
+upraise
+upright
+uprise
+upriver
+uproar
+uproarious
+uproot
+upset
+upsetting
+upshot
+upside
+upsilon
+upslope
+upstage
+upstair
+upstand
+upstart
+upstate
+upstater
+upstream
+upsurge
+upswing
+uptake
+Upton
+uptown
+uptrend
+upturn
+upward
+upwell
+upwind
+uracil
+urania
+uranium
+Uranus
+uranyl
+urban
+Urbana
+urbane
+urbanite
+urchin
+Urdu
+urea
+uremia
+urethane
+urethra
+urge
+urgent
+Uri
+urinal
+urinary
+urinate
+urine
+Uris
+urn
+urology
+Urquhart
+Ursa
+Ursula
+Ursuline
+Uruguay
+urushiol
+U.S
+u's
+us
+U.S.A
+USA
+usable
+USAF
+usage
+USC
+USC&GS
+USDA
+use
+useful
+USGS
+usher
+USIA
+USN
+USPS
+USSR
+usual
+usurer
+usurious
+usurp
+usurpation
+usury
+UT
+Utah
+utensil
+uterine
+uterus
+Utica
+utile
+utilitarian
+utility
+utmost
+utopia
+utopian
+Utrecht
+utter
+utterance
+uttermost
+v
+VA
+vacant
+vacate
+vacationland
+vaccinate
+vaccine
+vacillate
+vacua
+vacuo
+vacuolate
+vacuole
+vacuous
+vacuum
+vade
+Vaduz
+vagabond
+vagary
+vagina
+vaginal
+vagrant
+vague
+Vail
+vain
+vainglorious
+vale
+valedictorian
+valedictory
+valent
+valentine
+Valerie
+Valery
+valet
+valeur
+Valhalla
+valiant
+valid
+validate
+valine
+Valkyrie
+Valletta
+valley
+Valois
+Valparaiso
+valuate
+value
+valve
+vamp
+vampire
+van
+vanadium
+Vance
+Vancouver
+vandal
+Vandenberg
+Vanderbilt
+Vanderpoel
+vane
+vanguard
+vanilla
+vanish
+vanity
+vanquish
+vantage
+variable
+variac
+Varian
+variant
+variate
+variegate
+variety
+various
+varistor
+Varitype
+varnish
+varsity
+vary
+vascular
+vase
+vasectomy
+vasoconstriction
+Vasquez
+vassal
+Vassar
+vast
+vat
+Vatican
+vaudeville
+Vaudois
+Vaughan
+Vaughn
+vault
+veal
+vector
+vectorial
+Veda
+vee
+veer
+veery
+Vega
+vegetable
+vegetarian
+vegetate
+vehement
+vehicle
+vehicular
+veil
+vein
+velar
+Velasquez
+veldt
+Vella
+vellum
+velocity
+velours
+velvet
+velvety
+venal
+vend
+vendetta
+vendible
+vendor
+veneer
+venerable
+venerate
+venereal
+Venetian
+venetian
+Veneto
+Venezuela
+vengeance
+vengeful
+venial
+Venice
+venison
+venom
+venomous
+venous
+vent
+ventilate
+ventral
+ventricle
+ventriloquism
+ventriloquist
+venture
+venturesome
+venturi
+Venus
+Venusian
+Vera
+veracious
+veracity
+veranda
+verandah
+verb
+verbal
+verbatim
+verbena
+verbiage
+verbose
+verdant
+Verde
+Verdi
+verdict
+verge
+veridic
+verify
+verisimilitude
+veritable
+verity
+Verlag
+vermeil
+vermiculite
+vermilion
+vermin
+Vermont
+vermouth
+Verna
+vernacular
+vernal
+Verne
+vernier
+Vernon
+Verona
+Veronica
+versa
+Versailles
+versatec
+versatile
+verse
+version
+versus
+vertebra
+vertebrae
+vertebral
+vertebrate
+vertex
+vertical
+vertices
+vertigo
+verve
+very
+vesicular
+vesper
+vessel
+vest
+vestal
+vestibule
+vestige
+vestigial
+vestry
+Vesuvius
+vet
+vetch
+veteran
+veterinarian
+veterinary
+veto
+vex
+vexation
+vexatious
+vi
+via
+viaduct
+vial
+vibrant
+vibrate
+vibrato
+viburnum
+vicar
+vicarious
+vice
+viceroy
+Vichy
+vicinal
+vicinity
+vicious
+vicissitude
+Vicksburg
+Vicky
+victim
+victor
+Victoria
+victorious
+victory
+victrola
+victual
+Vida
+video
+videotape
+vie
+Vienna
+Viennese
+Vientiane
+Viet
+Vietnam
+Vietnamese
+view
+viewpoint
+vigil
+vigilant
+vigilante
+vignette
+vigorous
+vii
+viii
+Viking
+Vikram
+vile
+vilify
+villa
+village
+villain
+villainous
+villein
+vinaigrette
+Vincent
+Vinci
+vindicate
+vindictive
+vine
+vinegar
+vineyard
+Vinson
+vintage
+vintner
+vinyl
+viola
+violate
+violent
+violet
+violin
+viper
+viral
+Virgil
+virgin
+virginal
+Virginia
+Virgo
+virgule
+virile
+virtual
+virtue
+virtuosi
+virtuosity
+virtuoso
+virtuous
+virulent
+virus
+visa
+visage
+viscera
+visceral
+viscid
+viscoelastic
+viscometer
+viscosity
+viscount
+viscous
+vise
+Vishnu
+visible
+Visigoth
+vision
+visionary
+visit
+visitation
+visitor
+visor
+vista
+visual
+vita
+vitae
+vital
+vitamin
+vitiate
+Vito
+vitreous
+vitrify
+vitriol
+vitriolic
+vitro
+viva
+vivace
+vivacious
+vivacity
+Vivaldi
+Vivian
+vivid
+vivify
+viviparous
+vivisection
+vivo
+vixen
+viz
+Vladimir
+Vladivostok
+vocable
+vocabularian
+vocabulary
+vocal
+vocalic
+vocate
+vociferous
+vodka
+Vogel
+vogue
+voice
+voiceband
+void
+volatile
+volcanic
+volcanism
+volcano
+volcanoes
+vole
+volition
+Volkswagen
+volley
+volleyball
+Volstead
+volt
+Volta
+voltage
+voltaic
+Voltaire
+Volterra
+voltmeter
+voluble
+volume
+volumetric
+voluminous
+voluntary
+volunteer
+voluptuous
+Volvo
+vomit
+von
+voodoo
+voracious
+voracity
+vortex
+vortices
+vorticity
+Voss
+votary
+vote
+votive
+vouch
+vouchsafe
+Vought
+vow
+vowel
+voyage
+Vreeland
+v's
+vs
+VT
+Vulcan
+vulgar
+vulnerable
+vulpine
+vulture
+vying
+w
+WA
+Waals
+Wabash
+WAC
+wack
+wacke
+wacky
+Waco
+wad
+waddle
+wade
+wadi
+Wadsworth
+wafer
+waffle
+wag
+wage
+wagging
+waggle
+Wagner
+wagoneer
+wagonload
+wah
+Wahl
+wail
+wainscot
+Wainwright
+waist
+waistcoat
+waistline
+wait
+Waite
+waitress
+waive
+wake
+Wakefield
+wakeful
+waken
+wakerobin
+wakeup
+Walcott
+Walden
+Waldo
+Waldorf
+Waldron
+wale
+Walgreen
+walk
+walkie
+walkout
+walkover
+walkway
+wall
+walla
+wallaby
+Wallace
+wallboard
+Waller
+wallet
+Wallis
+wallop
+wallow
+wallpaper
+wally
+walnut
+Walpole
+walrus
+Walsh
+Walt
+Walter
+Waltham
+Walton
+waltz
+wan
+wand
+wander
+wane
+Wang
+wangle
+want
+wanton
+wapato
+wapiti
+Wappinger
+war
+warble
+Warburton
+ward
+warden
+wardrobe
+wardroom
+ware
+warehouse
+warehouseman
+warehousemen
+warfare
+warhead
+Waring
+warm
+warmhearted
+warmish
+warmonger
+warmth
+warmup
+warn
+warp
+warplane
+warrant
+warranty
+warren
+warrior
+Warsaw
+wart
+wartime
+warty
+Warwick
+wary
+was
+wash
+washbasin
+washboard
+washbowl
+Washburn
+Washington
+washout
+washy
+wasn't
+wasp
+waspish
+Wasserman
+wast
+wastage
+waste
+wastebasket
+wasteful
+wasteland
+wastewater
+wasting
+wastrel
+Watanabe
+watch
+watchband
+watchdog
+watchful
+watchmake
+watchman
+watchmen
+watchword
+watchworks
+water
+Waterbury
+watercourse
+watercress
+waterfall
+waterfowl
+waterfront
+Watergate
+waterhole
+Waterhouse
+waterline
+Waterloo
+Waterman
+watermelon
+waterproof
+watershed
+waterside
+watertight
+Watertown
+waterway
+watery
+Watkins
+Watson
+watt
+wattage
+wattle
+wave
+waveform
+wavefront
+waveguide
+wavelength
+wavenumber
+wavy
+wax
+waxen
+waxwing
+waxwork
+waxy
+way
+waybill
+waylaid
+waylay
+Wayne
+wayside
+wayward
+we
+weak
+weaken
+weal
+wealth
+wealthy
+wean
+weapon
+weaponry
+wear
+wearisome
+weary
+weasel
+weather
+weatherbeaten
+weatherproof
+weatherstrip
+weatherstripping
+weave
+web
+Webb
+weber
+Webster
+WECo
+we'd
+wed
+wedge
+wedlock
+Wednesday
+wee
+weed
+weedy
+week
+weekday
+weekend
+weep
+Wehr
+Wei
+Weierstrass
+weigh
+weight
+weighty
+Weinberg
+Weinstein
+weir
+weird
+Weiss
+Welch
+welcome
+weld
+Weldon
+welfare
+we'll
+well
+wellbeing
+Weller
+Welles
+Wellesley
+wellington
+wellwisher
+welsh
+welt
+Wendell
+Wendy
+went
+wept
+we're
+were
+weren't
+Werner
+wert
+Werther
+Wesley
+Wesleyan
+west
+westbound
+Westchester
+westerly
+western
+westernmost
+Westfield
+Westinghouse
+Westminster
+Weston
+westward
+wet
+wetland
+we've
+Weyerhauser
+whack
+whale
+whalebone
+Whalen
+wham
+wharf
+Wharton
+wharves
+what
+what'd
+whatever
+Whatley
+whatnot
+what're
+whatsoever
+wheat
+Wheatstone
+whee
+wheedle
+wheel
+wheelbarrow
+wheelbase
+wheelchair
+wheelhouse
+wheeze
+wheezy
+Whelan
+whelk
+Wheller
+whelm
+whelp
+when
+whence
+whenever
+where
+whereabout
+whereas
+whereby
+where'd
+wherefore
+wherein
+whereof
+whereon
+where're
+wheresoever
+whereupon
+wherever
+wherewith
+whet
+whether
+whey
+which
+whichever
+whiff
+whig
+while
+whim
+whimper
+whimsey
+whimsic
+whimsy
+whine
+whinny
+whip
+whiplash
+Whippany
+whippet
+Whipple
+whipsaw
+whir
+whirl
+whirligig
+whirlpool
+whirlwind
+whisk
+whisper
+whistle
+whistleable
+whit
+Whitaker
+Whitcomb
+white
+whiteface
+Whitehall
+whitehead
+Whitehorse
+whiten
+whitetail
+whitewash
+whither
+whitish
+Whitlock
+Whitman
+Whitney
+Whittaker
+Whittier
+whittle
+whiz
+whizzing
+who
+whoa
+who'd
+whodunit
+whoever
+whole
+wholehearted
+wholesale
+wholesome
+who'll
+wholly
+whom
+whomever
+whomsoever
+whoop
+whoopee
+whoosh
+whop
+whore
+whorl
+whose
+whosoever
+whup
+why
+WI
+Wichita
+wick
+wicket
+wide
+widen
+widespread
+widgeon
+widget
+widow
+width
+widthwise
+wield
+wiener
+Wier
+wife
+wig
+wigging
+Wiggins
+wiggle
+wiggly
+Wightman
+wigmake
+wigwam
+Wilbur
+Wilcox
+wild
+wildcat
+wildcatter
+wildebeest
+wilderness
+wildfire
+wildflower
+wildlife
+wile
+Wiley
+Wilfred
+wilful
+Wilhelm
+Wilhelmina
+Wilkes
+Wilkie
+Wilkins
+Wilkinson
+will
+Willa
+Willard
+willful
+William
+Williamsburg
+Williamson
+Willie
+Willis
+Willoughby
+willow
+willowy
+Wilma
+Wilmington
+Wilshire
+Wilson
+wilt
+wily
+win
+wince
+winch
+Winchester
+wind
+windbag
+windblown
+windbreak
+windfall
+windmill
+window
+windowpane
+windowsill
+windshield
+Windsor
+windstorm
+windsurf
+windswept
+windup
+windward
+windy
+wine
+winemake
+winemaster
+winery
+wineskin
+Winfield
+wing
+wingback
+wingbeat
+wingman
+wingmen
+wingspan
+wingspread
+wingtip
+Winifred
+wink
+winkle
+Winnetka
+Winnie
+Winnipeg
+Winnipesaukee
+winnow
+wino
+Winslow
+winsome
+Winston
+winter
+wintergreen
+wintertime
+Winthrop
+wintry
+winy
+wipe
+wire
+wireman
+wiremen
+wiry
+Wisconsin
+wisdom
+wise
+wiseacre
+wisecrack
+wisenheimer
+wish
+wishbone
+wishful
+wishy
+wisp
+wispy
+wistful
+wit
+witch
+witchcraft
+with
+withal
+withdraw
+withdrawal
+withdrawn
+withdrew
+withe
+wither
+withheld
+withhold
+within
+without
+withstand
+withstood
+withy
+witness
+Witt
+Wittgenstein
+witty
+wive
+wizard
+wobble
+woe
+woebegone
+woeful
+wok
+woke
+Wolcott
+wold
+wolf
+Wolfe
+Wolff
+Wolfgang
+wolfish
+wolve
+wolverine
+woman
+womb
+wombat
+women
+won
+wonder
+wonderful
+wonderland
+wondrous
+Wong
+won't
+wont
+woo
+wood
+Woodard
+Woodbury
+woodcarver
+woodchuck
+woodcock
+woodcut
+wooden
+woodgrain
+woodhen
+woodland
+Woodlawn
+woodlot
+woodpeck
+woodrow
+woodruff
+woodshed
+woodside
+Woodstock
+woodward
+woodwind
+woodwork
+woody
+woodyard
+wool
+woolgather
+Woolworth
+Wooster
+wop
+Worcester
+Worcestershire
+word
+Wordsworth
+wordy
+wore
+work
+workbench
+workbook
+workday
+workforce
+workhorse
+workload
+workman
+workmen
+workout
+workpiece
+workplace
+worksheet
+workshop
+workspace
+workstation
+worktable
+world
+worldwide
+worm
+wormy
+worn
+worrisome
+worry
+worse
+worsen
+worship
+worshipful
+worst
+worth
+Worthington
+worthwhile
+worthy
+Wotan
+would
+wouldn't
+wound
+wove
+woven
+wow
+wrack
+wraith
+wrangle
+wrap
+wraparound
+wrapup
+wrasse
+wrath
+wrathful
+wreak
+wreath
+wreathe
+wreck
+wreckage
+wren
+wrench
+wrest
+wrestle
+wretch
+wriggle
+wright
+Wrigley
+wring
+wrinkle
+wrist
+wristband
+wristwatch
+writ
+write
+writeup
+writhe
+writhing
+written
+wrong
+wrongdoer
+wrongdoing
+wrongful
+Wronskian
+wrote
+wrought
+wry
+w's
+Wu
+Wuhan
+WV
+WY
+Wyandotte
+Wyatt
+Wyeth
+Wylie
+Wyman
+Wyner
+wynn
+Wyoming
+wysiwyg
+x
+Xavier
+xenon
+xenophobia
+xerography
+xerox
+Xerxes
+Xhosa
+xi
+x's
+xylem
+xylene
+xylophone
+y
+yacht
+yachtsman
+yachtsmen
+yah
+yak
+Yakima
+Yale
+Yalta
+yam
+Yamaha
+yang
+yank
+Yankee
+Yankton
+Yaounde
+yap
+yapping
+Yaqui
+yard
+yardage
+yardstick
+Yarmouth
+yarmulke
+yarn
+yarrow
+Yates
+yaw
+yawl
+yawn
+ye
+yea
+Yeager
+yeah
+year
+yearbook
+yearn
+yeast
+yeasty
+Yeats
+yell
+yellow
+yellowish
+Yellowknife
+Yellowstone
+yelp
+Yemen
+yen
+yeoman
+yeomanry
+yeomen
+yeshiva
+yesterday
+yesteryear
+yet
+yew
+Yiddish
+yield
+yin
+yip
+yipping
+YMCA
+yodel
+Yoder
+yoga
+yoghurt
+yogi
+yogurt
+yoke
+yokel
+Yokohama
+Yokuts
+yolk
+yon
+yond
+Yonkers
+yore
+York
+Yorkshire
+Yorktown
+Yosemite
+Yost
+you
+you'd
+you'll
+young
+youngish
+youngster
+Youngstown
+your
+you're
+yourself
+yourselves
+youth
+youthful
+you've
+yow
+Ypsilanti
+y's
+ytterbium
+yttrium
+Yucatan
+yucca
+yuck
+Yugoslav
+Yugoslavia
+yuh
+Yuki
+Yukon
+yule
+Yves
+Yvette
+YWCA
+z
+Zachary
+zag
+zagging
+Zagreb
+Zaire
+Zambia
+Zan
+Zanzibar
+zap
+zazen
+zeal
+Zealand
+zealot
+zealous
+zebra
+Zeiss
+Zellerbach
+Zen
+zenith
+zero
+zeroes
+zeroth
+zest
+zesty
+zeta
+Zeus
+Ziegler
+zig
+zigging
+zigzag
+zigzagging
+zilch
+zillion
+Zimmerman
+zinc
+zing
+zinnia
+Zion
+zip
+zircon
+zirconium
+zither
+zloty
+zodiac
+zodiacal
+Zoe
+Zomba
+zombie
+zone
+zoo
+zoology
+zoom
+zooplankton
+Zorn
+Zoroaster
+Zoroastrian
+zounds
+z's
+zucchini
+Zulu
+Zurich
+zygote