shithub: riscv

Download patch

ref: 96c4dbca89cd709d076767e0629f2061d980b671
parent: 8be7f27b758ef9ef818f68db0d8bcb7b038eae0e
author: Jacob Moody <moody@posixcafe.org>
date: Sat May 18 13:21:43 EDT 2024

/sys/src/cmd: ?[cl] mkfile consistency

--- a/sys/src/cmd/1c/enam.c
+++ /dev/null
@@ -1,424 +1,0 @@
-char	*anames[] =
-{
-	"XXX",
-	"ABCD",
-	"ADDB",
-	"ADDL",
-	"ADDW",
-	"ADDXB",
-	"ADDXL",
-	"ADDXW",
-	"ADJSP",
-	"ANDB",
-	"ANDL",
-	"ANDW",
-	"ASLB",
-	"ASLL",
-	"ASLW",
-	"ASRB",
-	"ASRL",
-	"ASRW",
-	"BCASE",
-	"BCC",
-	"BCHG",
-	"BCLR",
-	"BCS",
-	"BEQ",
-	"BFCHG",
-	"BFCLR",
-	"BFEXTS",
-	"BFEXTU",
-	"BFFFO",
-	"BFINS",
-	"BFSET",
-	"BFTST",
-	"BGE",
-	"BGT",
-	"BHI",
-	"BKPT",
-	"BLE",
-	"BLS",
-	"BLT",
-	"BMI",
-	"BNE",
-	"BPL",
-	"BRA",
-	"BSET",
-	"BSR",
-	"BTST",
-	"BVC",
-	"BVS",
-	"CALLM",
-	"CAS2B",
-	"CAS2L",
-	"CAS2W",
-	"CASB",
-	"CASEW",
-	"CASL",
-	"CASW",
-	"CHK2B",
-	"CHK2L",
-	"CHK2W",
-	"CHKL",
-	"CHKW",
-	"CLRB",
-	"CLRL",
-	"CLRW",
-	"CMP2B",
-	"CMP2L",
-	"CMP2W",
-	"CMPB",
-	"CMPL",
-	"CMPW",
-	"DATA",
-	"DBCC",
-	"DBCS",
-	"DBEQ",
-	"DBF",
-	"DBGE",
-	"DBGT",
-	"DBHI",
-	"DBLE",
-	"DBLS",
-	"DBLT",
-	"DBMI",
-	"DBNE",
-	"DBPL",
-	"DBT",
-	"DBVC",
-	"DBVS",
-	"DIVSL",
-	"DIVSW",
-	"DIVUL",
-	"DIVUW",
-	"END",
-	"EORB",
-	"EORL",
-	"EORW",
-	"EXG",
-	"EXTBL",
-	"EXTBW",
-	"EXTWL",
-	"FABSB",
-	"FABSD",
-	"FABSF",
-	"FABSL",
-	"FABSW",
-	"FACOSB",
-	"FACOSD",
-	"FACOSF",
-	"FACOSL",
-	"FACOSW",
-	"FADDB",
-	"FADDD",
-	"FADDF",
-	"FADDL",
-	"FADDW",
-	"FASINB",
-	"FASIND",
-	"FASINF",
-	"FASINL",
-	"FASINW",
-	"FATANB",
-	"FATAND",
-	"FATANF",
-	"FATANHB",
-	"FATANHD",
-	"FATANHF",
-	"FATANHL",
-	"FATANHW",
-	"FATANL",
-	"FATANW",
-	"FBEQ",
-	"FBF",
-	"FBGE",
-	"FBGT",
-	"FBLE",
-	"FBLT",
-	"FBNE",
-	"FBT",
-	"FCMPB",
-	"FCMPD",
-	"FCMPF",
-	"FCMPL",
-	"FCMPW",
-	"FCOSB",
-	"FCOSD",
-	"FCOSF",
-	"FCOSHB",
-	"FCOSHD",
-	"FCOSHF",
-	"FCOSHL",
-	"FCOSHW",
-	"FCOSL",
-	"FCOSW",
-	"FDBEQ",
-	"FDBF",
-	"FDBGE",
-	"FDBGT",
-	"FDBLE",
-	"FDBLT",
-	"FDBNE",
-	"FDBT",
-	"FDIVB",
-	"FDIVD",
-	"FDIVF",
-	"FDIVL",
-	"FDIVW",
-	"FETOXB",
-	"FETOXD",
-	"FETOXF",
-	"FETOXL",
-	"FETOXM1B",
-	"FETOXM1D",
-	"FETOXM1F",
-	"FETOXM1L",
-	"FETOXM1W",
-	"FETOXW",
-	"FGETEXPB",
-	"FGETEXPD",
-	"FGETEXPF",
-	"FGETEXPL",
-	"FGETEXPW",
-	"FGETMANB",
-	"FGETMAND",
-	"FGETMANF",
-	"FGETMANL",
-	"FGETMANW",
-	"FINTB",
-	"FINTD",
-	"FINTF",
-	"FINTL",
-	"FINTRZB",
-	"FINTRZD",
-	"FINTRZF",
-	"FINTRZL",
-	"FINTRZW",
-	"FINTW",
-	"FLOG10B",
-	"FLOG10D",
-	"FLOG10F",
-	"FLOG10L",
-	"FLOG10W",
-	"FLOG2B",
-	"FLOG2D",
-	"FLOG2F",
-	"FLOG2L",
-	"FLOG2W",
-	"FLOGNB",
-	"FLOGND",
-	"FLOGNF",
-	"FLOGNL",
-	"FLOGNP1B",
-	"FLOGNP1D",
-	"FLOGNP1F",
-	"FLOGNP1L",
-	"FLOGNP1W",
-	"FLOGNW",
-	"FMODB",
-	"FMODD",
-	"FMODF",
-	"FMODL",
-	"FMODW",
-	"FMOVEB",
-	"FMOVED",
-	"FMOVEF",
-	"FMOVEL",
-	"FMOVEM",
-	"FMOVEMC",
-	"FMOVEW",
-	"FMULB",
-	"FMULD",
-	"FMULF",
-	"FMULL",
-	"FMULW",
-	"FNEGB",
-	"FNEGD",
-	"FNEGF",
-	"FNEGL",
-	"FNEGW",
-	"FREMB",
-	"FREMD",
-	"FREMF",
-	"FREML",
-	"FREMW",
-	"FRESTORE",
-	"FSAVE",
-	"FSCALEB",
-	"FSCALED",
-	"FSCALEF",
-	"FSCALEL",
-	"FSCALEW",
-	"FSEQ",
-	"FSF",
-	"FSGE",
-	"FSGT",
-	"FSINB",
-	"FSIND",
-	"FSINF",
-	"FSINHB",
-	"FSINHD",
-	"FSINHF",
-	"FSINHL",
-	"FSINHW",
-	"FSINL",
-	"FSINW",
-	"FSLE",
-	"FSLT",
-	"FSNE",
-	"FSQRTB",
-	"FSQRTD",
-	"FSQRTF",
-	"FSQRTL",
-	"FSQRTW",
-	"FST",
-	"FSUBB",
-	"FSUBD",
-	"FSUBF",
-	"FSUBL",
-	"FSUBW",
-	"FTANB",
-	"FTAND",
-	"FTANF",
-	"FTANHB",
-	"FTANHD",
-	"FTANHF",
-	"FTANHL",
-	"FTANHW",
-	"FTANL",
-	"FTANW",
-	"FTENTOXB",
-	"FTENTOXD",
-	"FTENTOXF",
-	"FTENTOXL",
-	"FTENTOXW",
-	"FTSTB",
-	"FTSTD",
-	"FTSTF",
-	"FTSTL",
-	"FTSTW",
-	"FTWOTOXB",
-	"FTWOTOXD",
-	"FTWOTOXF",
-	"FTWOTOXL",
-	"FTWOTOXW",
-	"GLOBL",
-	"GOK",
-	"HISTORY",
-	"ILLEG",
-	"INSTR",
-	"JMP",
-	"JSR",
-	"LEA",
-	"LINKL",
-	"LINKW",
-	"LOCATE",
-	"LONG",
-	"LSLB",
-	"LSLL",
-	"LSLW",
-	"LSRB",
-	"LSRL",
-	"LSRW",
-	"MOVB",
-	"MOVEM",
-	"MOVEPL",
-	"MOVEPW",
-	"MOVESB",
-	"MOVESL",
-	"MOVESW",
-	"MOVL",
-	"MOVW",
-	"MULSL",
-	"MULSW",
-	"MULUL",
-	"MULUW",
-	"NAME",
-	"NBCD",
-	"NEGB",
-	"NEGL",
-	"NEGW",
-	"NEGXB",
-	"NEGXL",
-	"NEGXW",
-	"NOP",
-	"NOTB",
-	"NOTL",
-	"NOTW",
-	"ORB",
-	"ORL",
-	"ORW",
-	"PACK",
-	"PEA",
-	"RESET",
-	"ROTLB",
-	"ROTLL",
-	"ROTLW",
-	"ROTRB",
-	"ROTRL",
-	"ROTRW",
-	"ROXLB",
-	"ROXLL",
-	"ROXLW",
-	"ROXRB",
-	"ROXRL",
-	"ROXRW",
-	"RTD",
-	"RTE",
-	"RTM",
-	"RTR",
-	"RTS",
-	"SBCD",
-	"SCC",
-	"SCS",
-	"SEQ",
-	"SF",
-	"SGE",
-	"SGT",
-	"SHI",
-	"SLE",
-	"SLS",
-	"SLT",
-	"SMI",
-	"SNE",
-	"SPL",
-	"ST",
-	"STOP",
-	"SUBB",
-	"SUBL",
-	"SUBW",
-	"SUBXB",
-	"SUBXL",
-	"SUBXW",
-	"SVC",
-	"SVS",
-	"SWAP",
-	"SYS",
-	"TAS",
-	"TEXT",
-	"TRAP",
-	"TRAPCC",
-	"TRAPCS",
-	"TRAPEQ",
-	"TRAPF",
-	"TRAPGE",
-	"TRAPGT",
-	"TRAPHI",
-	"TRAPLE",
-	"TRAPLS",
-	"TRAPLT",
-	"TRAPMI",
-	"TRAPNE",
-	"TRAPPL",
-	"TRAPT",
-	"TRAPV",
-	"TRAPVC",
-	"TRAPVS",
-	"TSTB",
-	"TSTL",
-	"TSTW",
-	"UNLK",
-	"UNPK",
-	"WORD",
-	"SIGNAME",
-};
--- a/sys/src/cmd/1c/mkfile
+++ b/sys/src/cmd/1c/mkfile
@@ -18,15 +18,6 @@
 	../cc/compat.h\
 	../cc/cc.h\
 
-LIB=../cc/cc.a$O
-
-BIN=/$objtype/bin
+T=2
+<../cc/mkfile.port
 </sys/src/cmd/mkone
-
-$LIB:	../cc/cc.h
-	cd ../cc
-	mk install
-
-%.$O: ../cc/%.c
-	$CC $CFLAGS ../cc/$stem.c
-
--- a/sys/src/cmd/1l/mkfile
+++ b/sys/src/cmd/1l/mkfile
@@ -19,6 +19,9 @@
 BIN=/$objtype/bin
 </sys/src/cmd/mkone
 
+../2c/enam.c: ../2c/2.out.h
+	@ { cd ../2c; mk enam.c }
+
 enam.$O:	../2c/enam.c
 	$CC $CFLAGS ../2c/enam.c
 
--- a/sys/src/cmd/2c/enam.c
+++ /dev/null
@@ -1,425 +1,0 @@
-char	*anames[] =
-{
-	"XXX",
-	"ABCD",
-	"ADDB",
-	"ADDL",
-	"ADDW",
-	"ADDXB",
-	"ADDXL",
-	"ADDXW",
-	"ADJSP",
-	"ANDB",
-	"ANDL",
-	"ANDW",
-	"ASLB",
-	"ASLL",
-	"ASLW",
-	"ASRB",
-	"ASRL",
-	"ASRW",
-	"BCASE",
-	"BCC",
-	"BCHG",
-	"BCLR",
-	"BCS",
-	"BEQ",
-	"BFCHG",
-	"BFCLR",
-	"BFEXTS",
-	"BFEXTU",
-	"BFFFO",
-	"BFINS",
-	"BFSET",
-	"BFTST",
-	"BGE",
-	"BGT",
-	"BHI",
-	"BKPT",
-	"BLE",
-	"BLS",
-	"BLT",
-	"BMI",
-	"BNE",
-	"BPL",
-	"BRA",
-	"BSET",
-	"BSR",
-	"BTST",
-	"BVC",
-	"BVS",
-	"CALLM",
-	"CAS2B",
-	"CAS2L",
-	"CAS2W",
-	"CASB",
-	"CASEW",
-	"CASL",
-	"CASW",
-	"CHK2B",
-	"CHK2L",
-	"CHK2W",
-	"CHKL",
-	"CHKW",
-	"CLRB",
-	"CLRL",
-	"CLRW",
-	"CMP2B",
-	"CMP2L",
-	"CMP2W",
-	"CMPB",
-	"CMPL",
-	"CMPW",
-	"DATA",
-	"DBCC",
-	"DBCS",
-	"DBEQ",
-	"DBF",
-	"DBGE",
-	"DBGT",
-	"DBHI",
-	"DBLE",
-	"DBLS",
-	"DBLT",
-	"DBMI",
-	"DBNE",
-	"DBPL",
-	"DBT",
-	"DBVC",
-	"DBVS",
-	"DIVSL",
-	"DIVSW",
-	"DIVUL",
-	"DIVUW",
-	"END",
-	"EORB",
-	"EORL",
-	"EORW",
-	"EXG",
-	"EXTBL",
-	"EXTBW",
-	"EXTWL",
-	"FABSB",
-	"FABSD",
-	"FABSF",
-	"FABSL",
-	"FABSW",
-	"FACOSB",
-	"FACOSD",
-	"FACOSF",
-	"FACOSL",
-	"FACOSW",
-	"FADDB",
-	"FADDD",
-	"FADDF",
-	"FADDL",
-	"FADDW",
-	"FASINB",
-	"FASIND",
-	"FASINF",
-	"FASINL",
-	"FASINW",
-	"FATANB",
-	"FATAND",
-	"FATANF",
-	"FATANHB",
-	"FATANHD",
-	"FATANHF",
-	"FATANHL",
-	"FATANHW",
-	"FATANL",
-	"FATANW",
-	"FBEQ",
-	"FBF",
-	"FBGE",
-	"FBGT",
-	"FBLE",
-	"FBLT",
-	"FBNE",
-	"FBT",
-	"FCMPB",
-	"FCMPD",
-	"FCMPF",
-	"FCMPL",
-	"FCMPW",
-	"FCOSB",
-	"FCOSD",
-	"FCOSF",
-	"FCOSHB",
-	"FCOSHD",
-	"FCOSHF",
-	"FCOSHL",
-	"FCOSHW",
-	"FCOSL",
-	"FCOSW",
-	"FDBEQ",
-	"FDBF",
-	"FDBGE",
-	"FDBGT",
-	"FDBLE",
-	"FDBLT",
-	"FDBNE",
-	"FDBT",
-	"FDIVB",
-	"FDIVD",
-	"FDIVF",
-	"FDIVL",
-	"FDIVW",
-	"FETOXB",
-	"FETOXD",
-	"FETOXF",
-	"FETOXL",
-	"FETOXM1B",
-	"FETOXM1D",
-	"FETOXM1F",
-	"FETOXM1L",
-	"FETOXM1W",
-	"FETOXW",
-	"FGETEXPB",
-	"FGETEXPD",
-	"FGETEXPF",
-	"FGETEXPL",
-	"FGETEXPW",
-	"FGETMANB",
-	"FGETMAND",
-	"FGETMANF",
-	"FGETMANL",
-	"FGETMANW",
-	"FINTB",
-	"FINTD",
-	"FINTF",
-	"FINTL",
-	"FINTRZB",
-	"FINTRZD",
-	"FINTRZF",
-	"FINTRZL",
-	"FINTRZW",
-	"FINTW",
-	"FLOG10B",
-	"FLOG10D",
-	"FLOG10F",
-	"FLOG10L",
-	"FLOG10W",
-	"FLOG2B",
-	"FLOG2D",
-	"FLOG2F",
-	"FLOG2L",
-	"FLOG2W",
-	"FLOGNB",
-	"FLOGND",
-	"FLOGNF",
-	"FLOGNL",
-	"FLOGNP1B",
-	"FLOGNP1D",
-	"FLOGNP1F",
-	"FLOGNP1L",
-	"FLOGNP1W",
-	"FLOGNW",
-	"FMODB",
-	"FMODD",
-	"FMODF",
-	"FMODL",
-	"FMODW",
-	"FMOVEB",
-	"FMOVED",
-	"FMOVEF",
-	"FMOVEL",
-	"FMOVEM",
-	"FMOVEMC",
-	"FMOVEW",
-	"FMULB",
-	"FMULD",
-	"FMULF",
-	"FMULL",
-	"FMULW",
-	"FNEGB",
-	"FNEGD",
-	"FNEGF",
-	"FNEGL",
-	"FNEGW",
-	"FREMB",
-	"FREMD",
-	"FREMF",
-	"FREML",
-	"FREMW",
-	"FRESTORE",
-	"FSAVE",
-	"FSCALEB",
-	"FSCALED",
-	"FSCALEF",
-	"FSCALEL",
-	"FSCALEW",
-	"FSEQ",
-	"FSF",
-	"FSGE",
-	"FSGT",
-	"FSINB",
-	"FSIND",
-	"FSINF",
-	"FSINHB",
-	"FSINHD",
-	"FSINHF",
-	"FSINHL",
-	"FSINHW",
-	"FSINL",
-	"FSINW",
-	"FSLE",
-	"FSLT",
-	"FSNE",
-	"FSQRTB",
-	"FSQRTD",
-	"FSQRTF",
-	"FSQRTL",
-	"FSQRTW",
-	"FST",
-	"FSUBB",
-	"FSUBD",
-	"FSUBF",
-	"FSUBL",
-	"FSUBW",
-	"FTANB",
-	"FTAND",
-	"FTANF",
-	"FTANHB",
-	"FTANHD",
-	"FTANHF",
-	"FTANHL",
-	"FTANHW",
-	"FTANL",
-	"FTANW",
-	"FTENTOXB",
-	"FTENTOXD",
-	"FTENTOXF",
-	"FTENTOXL",
-	"FTENTOXW",
-	"FTSTB",
-	"FTSTD",
-	"FTSTF",
-	"FTSTL",
-	"FTSTW",
-	"FTWOTOXB",
-	"FTWOTOXD",
-	"FTWOTOXF",
-	"FTWOTOXL",
-	"FTWOTOXW",
-	"GLOBL",
-	"GOK",
-	"HISTORY",
-	"ILLEG",
-	"INSTR",
-	"JMP",
-	"JSR",
-	"LEA",
-	"LINKL",
-	"LINKW",
-	"LOCATE",
-	"LONG",
-	"LSLB",
-	"LSLL",
-	"LSLW",
-	"LSRB",
-	"LSRL",
-	"LSRW",
-	"MOVB",
-	"MOVEM",
-	"MOVEPL",
-	"MOVEPW",
-	"MOVESB",
-	"MOVESL",
-	"MOVESW",
-	"MOVL",
-	"MOVW",
-	"MULSL",
-	"MULSW",
-	"MULUL",
-	"MULUW",
-	"NAME",
-	"NBCD",
-	"NEGB",
-	"NEGL",
-	"NEGW",
-	"NEGXB",
-	"NEGXL",
-	"NEGXW",
-	"NOP",
-	"NOTB",
-	"NOTL",
-	"NOTW",
-	"ORB",
-	"ORL",
-	"ORW",
-	"PACK",
-	"PEA",
-	"RESET",
-	"ROTLB",
-	"ROTLL",
-	"ROTLW",
-	"ROTRB",
-	"ROTRL",
-	"ROTRW",
-	"ROXLB",
-	"ROXLL",
-	"ROXLW",
-	"ROXRB",
-	"ROXRL",
-	"ROXRW",
-	"RTD",
-	"RTE",
-	"RTM",
-	"RTR",
-	"RTS",
-	"SBCD",
-	"SCC",
-	"SCS",
-	"SEQ",
-	"SF",
-	"SGE",
-	"SGT",
-	"SHI",
-	"SLE",
-	"SLS",
-	"SLT",
-	"SMI",
-	"SNE",
-	"SPL",
-	"ST",
-	"STOP",
-	"SUBB",
-	"SUBL",
-	"SUBW",
-	"SUBXB",
-	"SUBXL",
-	"SUBXW",
-	"SVC",
-	"SVS",
-	"SWAP",
-	"SYS",
-	"TAS",
-	"TEXT",
-	"TRAP",
-	"TRAPCC",
-	"TRAPCS",
-	"TRAPEQ",
-	"TRAPF",
-	"TRAPGE",
-	"TRAPGT",
-	"TRAPHI",
-	"TRAPLE",
-	"TRAPLS",
-	"TRAPLT",
-	"TRAPMI",
-	"TRAPNE",
-	"TRAPPL",
-	"TRAPT",
-	"TRAPV",
-	"TRAPVC",
-	"TRAPVS",
-	"TSTB",
-	"TSTL",
-	"TSTW",
-	"UNLK",
-	"UNPK",
-	"WORD",
-	"SIGNAME",
-	"LAST",
-};
--- a/sys/src/cmd/2c/mkfile
+++ b/sys/src/cmd/2c/mkfile
@@ -18,15 +18,6 @@
 	../cc/compat.h\
 	../cc/cc.h\
 
-LIB=../cc/cc.a$O
-
-BIN=/$objtype/bin
+T=2
+<../cc/mkfile.port
 </sys/src/cmd/mkone
-
-$LIB:	../cc/cc.h
-	cd ../cc
-	mk install
-
-%.$O: ../cc/%.c
-	$CC $CFLAGS ../cc/$stem.c
-
--- a/sys/src/cmd/2l/mkfile
+++ b/sys/src/cmd/2l/mkfile
@@ -19,6 +19,9 @@
 BIN=/$objtype/bin
 </sys/src/cmd/mkone
 
+../2c/enam.c: ../2c/2.out.h
+	@ { cd ../2c; mk enam.c }
+
 enam.$O:	../2c/enam.c
 	$CC $CFLAGS ../2c/enam.c
 
--- a/sys/src/cmd/5c/mkenam
+++ /dev/null
@@ -1,15 +1,0 @@
-ed - ../5c/5.out.h <<'!'
-v/^	A/d
-,s/^	A/	"/
-g/ .*$/s///
-,s/,*$/",/
-1i
-char*	anames[] =
-{
-.
-$a
-};
-.
-w enam.c
-Q
-!
--- a/sys/src/cmd/5c/mkfile
+++ b/sys/src/cmd/5c/mkfile
@@ -21,22 +21,6 @@
 	../cc/compat.h\
 	../cc/cc.h\
 
-LIB=../cc/cc.a$O
-
-BIN=/$objtype/bin
+T=5
+<../cc/mkfile.port
 </sys/src/cmd/mkone
-
-$LIB:	../cc/cc.h
-	cd ../cc
-	mk install
-
-%.$O: ../cc/%.c
-	$CC $CFLAGS ../cc/$stem.c
-
-t:V:	$O.out
-	$O.out -S t
-	$LD -o t.out t.$O
-	t.out
-
-enam.c: 5.out.h
-	rc mkenam
--- a/sys/src/cmd/6c/mkenam
+++ /dev/null
@@ -1,15 +1,0 @@
-ed - ../6c/6.out.h <<'!'
-v/^	A/d
-,s/^	A/	"/
-g/ .*$/s///
-,s/,*$/",/
-1i
-char*	anames[] =
-{
-.
-$a
-};
-.
-w enam.c
-Q
-!
--- a/sys/src/cmd/6c/mkfile
+++ b/sys/src/cmd/6c/mkfile
@@ -22,19 +22,6 @@
 	../cc/compat.h\
 	../cc/cc.h\
 
-LIB=../cc/cc.a$O
-
-BIN=/$objtype/bin
+T=6
+<../cc/mkfile.port
 </sys/src/cmd/mkone
-
-$LIB:	../cc/cc.h
-	cd ../cc
-	mk install
-
-%.$O: ../cc/%.c
-	$CC $CFLAGS ../cc/$stem.c
-
-bound.$O:	bound.h
-
-enam.c:	6.out.h
-	rc mkenam
--- a/sys/src/cmd/6l/mkfile
+++ b/sys/src/cmd/6l/mkfile
@@ -26,6 +26,9 @@
 
 </sys/src/cmd/mkone
 
+../6c/enam.c: ../6c/6.out.h
+	@ { cd ../6c; mk enam.c }
+
 enam.$O:	../6c/enam.c
 	$CC $CFLAGS ../6c/enam.c
 
--- a/sys/src/cmd/7c/mkenam
+++ /dev/null
@@ -1,15 +1,0 @@
-ed - ../7c/7.out.h <<'!'
-v/^	A/d
-,s/^	A/	"/
-g/ .*$/s///
-,s/,*$/",/
-1i
-char*	anames[] =
-{
-.
-$a
-};
-.
-w enam.c
-Q
-!
--- a/sys/src/cmd/7c/mkfile
+++ b/sys/src/cmd/7c/mkfile
@@ -21,22 +21,6 @@
 	../cc/compat.h\
 	../cc/cc.h\
 
-LIB=../cc/cc.a$O
-
-BIN=/$objtype/bin
+T=7
+<../cc/mkfile.port
 </sys/src/cmd/mkone
-
-$LIB:	../cc/cc.h
-	cd ../cc
-	mk install
-
-%.$O: ../cc/%.c
-	$CC $CFLAGS ../cc/$stem.c
-
-t:V:	$O.out
-	$O.out -S t
-	$LD -o t.out t.$O
-	t.out
-
-enam.c: 7.out.h
-	rc mkenam
--- a/sys/src/cmd/8c/mkenam
+++ /dev/null
@@ -1,15 +1,0 @@
-ed - ../8c/8.out.h <<'!'
-v/^	A/d
-,s/^	A/	"/
-g/ .*$/s///
-,s/,*$/",/
-1i
-char*	anames[] =
-{
-.
-$a
-};
-.
-w enam.c
-Q
-!
--- a/sys/src/cmd/8c/mkfile
+++ b/sys/src/cmd/8c/mkfile
@@ -23,19 +23,6 @@
 	../cc/compat.h\
 	../cc/cc.h\
 
-LIB=../cc/cc.a$O
-
-BIN=/$objtype/bin
+T=8
+<../cc/mkfile.port
 </sys/src/cmd/mkone
-
-$LIB:	../cc/cc.h
-	cd ../cc
-	mk install
-
-
-%.$O: ../cc/%.c
-	$CC $CFLAGS ../cc/$stem.c
-
-
-enam.c:	8.out.h
-	rc mkenam
--- a/sys/src/cmd/8l/mkfile
+++ b/sys/src/cmd/8l/mkfile
@@ -27,6 +27,9 @@
 
 </sys/src/cmd/mkone
 
+../8c/enam.c: ../8c/8.out.h
+	@ { cd ../8c; mk enam.c }
+
 enam.$O:	../8c/enam.c
 	$CC $CFLAGS ../8c/enam.c
 
--- a/sys/src/cmd/9c/mkenam
+++ /dev/null
@@ -1,18 +1,0 @@
-ed - ../9c/9.out.h <<'!'
-v/^	A/d
-g/^	AEND/s//&,/
-g/^	ALAST/s//&,/
-g/[ 	]*=.*,/s//,/
-v/,/p
-,s/^	A/	"/
-,s/,.*$/",/
-1i
-char	*anames[] =
-{
-.
-,a
-};
-.
-w enam.c
-Q
-!
--- a/sys/src/cmd/9c/mkfile
+++ b/sys/src/cmd/9c/mkfile
@@ -18,24 +18,9 @@
 HFILES=\
 	gc.h\
 	9.out.h\
+	../cc/compat.h\
 	../cc/cc.h\
 
-LIB=../cc/cc.a$O
-
-BIN=/$objtype/bin
+T=9
+<../cc/mkfile.port
 </sys/src/cmd/mkone
-
-$LIB:
-	cd ../cc
-	mk install
-
-%.$O: ../cc/%.c
-	$CC $CFLAGS ../cc/$stem.c
-
-t:V:	$O.out
-	$O.out -S t
-	$LD -o t.out t.$O
-	t.out
-
-enam.c:	9.out.h
-	rc mkenam
--- a/sys/src/cmd/9l/mkfile
+++ b/sys/src/cmd/9l/mkfile
@@ -23,8 +23,13 @@
 BIN=/$objtype/bin
 </sys/src/cmd/mkone
 
+../9c/enam.c: ../9c/9.out.h
+	@ { cd ../9c; mk enam.c }
+
 enam.$O:	../9c/enam.c
 	$CC $CFLAGS ../9c/enam.c
+
 cnam.c:	l.h
 	rc mkcname
+
 compat.$O:	../cc/compat
--- /dev/null
+++ b/sys/src/cmd/cc/mkenam
@@ -1,0 +1,15 @@
+ed - ../$T^c/$T^.out.h <<'!'
+v/^	A/d
+,s/^	A/	"/
+g/ .*$/s///
+,s/,*$/",/
+1i
+char*	anames[] =
+{
+.
+$a
+};
+.
+w enam.c
+Q
+!
--- /dev/null
+++ b/sys/src/cmd/cc/mkfile.port
@@ -1,0 +1,20 @@
+LIB=../cc/cc.a$O
+BIN=/$objtype/bin
+D=${T:%=%c}
+
+default:V: $O.out
+
+$LIB:	../cc/cc.h
+	cd ../cc
+	mk install
+
+%.$O: ../cc/%.c
+	$CC $CFLAGS ../cc/$stem.c
+
+t:V:	$O.out
+	$O.out -S t
+	$LD -o t.out t.$O
+	t.out
+
+enam.c: ../$D/$T.out.h
+	rc ../cc/mkenam
--- a/sys/src/cmd/kc/enam.c
+++ /dev/null
@@ -1,175 +1,0 @@
-char	*anames[] =
-{
-	"XXX",
-	"ADD",
-	"ADDCC",
-	"ADDX",
-	"ADDXCC",
-	"AND",
-	"ANDCC",
-	"ANDN",
-	"ANDNCC",
-	"BA",
-	"BCC",
-	"BCS",
-	"BE",
-	"BG",
-	"BGE",
-	"BGU",
-	"BL",
-	"BLE",
-	"BLEU",
-	"BN",
-	"BNE",
-	"BNEG",
-	"BPOS",
-	"BVC",
-	"BVS",
-	"CB0",
-	"CB01",
-	"CB012",
-	"CB013",
-	"CB02",
-	"CB023",
-	"CB03",
-	"CB1",
-	"CB12",
-	"CB123",
-	"CB13",
-	"CB2",
-	"CB23",
-	"CB3",
-	"CBA",
-	"CBN",
-	"CMP",
-	"CPOP1",
-	"CPOP2",
-	"DATA",
-	"DIV",
-	"DIVL",
-	"FABSD",
-	"FABSF",
-	"FABSX",
-	"FADDD",
-	"FADDF",
-	"FADDX",
-	"FBA",
-	"FBE",
-	"FBG",
-	"FBGE",
-	"FBL",
-	"FBLE",
-	"FBLG",
-	"FBN",
-	"FBNE",
-	"FBO",
-	"FBU",
-	"FBUE",
-	"FBUG",
-	"FBUGE",
-	"FBUL",
-	"FBULE",
-	"FCMPD",
-	"FCMPED",
-	"FCMPEF",
-	"FCMPEX",
-	"FCMPF",
-	"FCMPX",
-	"FDIVD",
-	"FDIVF",
-	"FDIVX",
-	"FMOVD",
-	"FMOVDF",
-	"FMOVDW",
-	"FMOVDX",
-	"FMOVF",
-	"FMOVFD",
-	"FMOVFW",
-	"FMOVFX",
-	"FMOVWD",
-	"FMOVWF",
-	"FMOVWX",
-	"FMOVX",
-	"FMOVXD",
-	"FMOVXF",
-	"FMOVXW",
-	"FMULD",
-	"FMULF",
-	"FMULX",
-	"FNEGD",
-	"FNEGF",
-	"FNEGX",
-	"FSQRTD",
-	"FSQRTF",
-	"FSQRTX",
-	"FSUBD",
-	"FSUBF",
-	"FSUBX",
-	"GLOBL",
-	"GOK",
-	"HISTORY",
-	"IFLUSH",
-	"JMPL",
-	"JMP",
-	"MOD",
-	"MODL",
-	"MOVB",
-	"MOVBU",
-	"MOVD",
-	"MOVH",
-	"MOVHU",
-	"MOVW",
-	"MUL",
-	"MULSCC",
-	"NAME",
-	"NOP",
-	"OR",
-	"ORCC",
-	"ORN",
-	"ORNCC",
-	"RESTORE",
-	"RETT",
-	"RETURN",
-	"SAVE",
-	"SLL",
-	"SRA",
-	"SRL",
-	"SUB",
-	"SUBCC",
-	"SUBX",
-	"SUBXCC",
-	"SWAP",
-	"TA",
-	"TADDCC",
-	"TADDCCTV",
-	"TAS",
-	"TCC",
-	"TCS",
-	"TE",
-	"TEXT",
-	"TG",
-	"TGE",
-	"TGU",
-	"TL",
-	"TLE",
-	"TLEU",
-	"TN",
-	"TNE",
-	"TNEG",
-	"TPOS",
-	"TSUBCC",
-	"TSUBCCTV",
-	"TVC",
-	"TVS",
-	"UNIMP",
-	"WORD",
-	"XNOR",
-	"XNORCC",
-	"XOR",
-	"XORCC",
-	"END",
-	"DYNT",
-	"INIT",
-	"SIGNAME",
-	"LAST"
-};
--- a/sys/src/cmd/kc/mkenam
+++ /dev/null
@@ -1,17 +1,0 @@
-ed - ../kc/k.out.h <<'!'
-v/^	A/d
-g/^	AEND/s//&,/
-g/[ 	]*=.*,/s//,/
-v/,/p
-,s/^	A/	"/
-,s/,.*$/",/
-1i
-char	*anames[] =
-{
-.
-,a
-};
-.
-w enam.c
-Q
-!
--- a/sys/src/cmd/kc/mkfile
+++ b/sys/src/cmd/kc/mkfile
@@ -20,19 +20,6 @@
 	../cc/compat.h\
 	../cc/cc.h\
 
-LIB=../cc/cc.a$O
-
-BIN=/$objtype/bin
+T=k
+<../cc/mkfile.port
 </sys/src/cmd/mkone
-
-$LIB:	../cc/cc.h
-	cd ../cc
-	mk install
-
-%.$O: ../cc/%.c
-	$CC $CFLAGS ../cc/$stem.c
-
-t:V:	$O.out
-	$O.out -S t
-	$LD -o t.out t.$O
-	t.out
--- a/sys/src/cmd/kl/mkfile
+++ b/sys/src/cmd/kl/mkfile
@@ -21,6 +21,9 @@
 BIN=/$objtype/bin
 </sys/src/cmd/mkone
 
+../kc/enam.c: ../kc/k.out.h
+	@ { cd ../kc; mk enam.c }
+
 enam.$O:	../kc/enam.c
 	$CC $CFLAGS ../kc/enam.c
 
--- a/sys/src/cmd/qc/enam.c
+++ /dev/null
@@ -1,383 +1,0 @@
-char	*anames[] =
-{
-	"XXX",
-	"ADD",
-	"ADDCC",
-	"ADDV",
-	"ADDVCC",
-	"ADDC",
-	"ADDCCC",
-	"ADDCV",
-	"ADDCVCC",
-	"ADDME",
-	"ADDMECC",
-	"ADDMEVCC",
-	"ADDMEV",
-	"ADDE",
-	"ADDECC",
-	"ADDEVCC",
-	"ADDEV",
-	"ADDZE",
-	"ADDZECC",
-	"ADDZEVCC",
-	"ADDZEV",
-	"AND",
-	"ANDCC",
-	"ANDN",
-	"ANDNCC",
-	"BC",
-	"BCL",
-	"BEQ",
-	"BGE",
-	"BGT",
-	"BL",
-	"BLE",
-	"BLT",
-	"BNE",
-	"BR",
-	"BVC",
-	"BVS",
-	"CMP",
-	"CMPU",
-	"CNTLZW",
-	"CNTLZWCC",
-	"CRAND",
-	"CRANDN",
-	"CREQV",
-	"CRNAND",
-	"CRNOR",
-	"CROR",
-	"CRORN",
-	"CRXOR",
-	"DIVW",
-	"DIVWCC",
-	"DIVWVCC",
-	"DIVWV",
-	"DIVWU",
-	"DIVWUCC",
-	"DIVWUVCC",
-	"DIVWUV",
-	"EQV",
-	"EQVCC",
-	"EXTSB",
-	"EXTSBCC",
-	"EXTSH",
-	"EXTSHCC",
-	"FABS",
-	"FABSCC",
-	"FADD",
-	"FADDCC",
-	"FADDS",
-	"FADDSCC",
-	"FCMPO",
-	"FCMPU",
-	"FCTIW",
-	"FCTIWCC",
-	"FCTIWZ",
-	"FCTIWZCC",
-	"FDIV",
-	"FDIVCC",
-	"FDIVS",
-	"FDIVSCC",
-	"FMADD",
-	"FMADDCC",
-	"FMADDS",
-	"FMADDSCC",
-	"FMOVD",
-	"FMOVDCC",
-	"FMOVDU",
-	"FMOVS",
-	"FMOVSU",
-	"FMSUB",
-	"FMSUBCC",
-	"FMSUBS",
-	"FMSUBSCC",
-	"FMUL",
-	"FMULCC",
-	"FMULS",
-	"FMULSCC",
-	"FNABS",
-	"FNABSCC",
-	"FNEG",
-	"FNEGCC",
-	"FNMADD",
-	"FNMADDCC",
-	"FNMADDS",
-	"FNMADDSCC",
-	"FNMSUB",
-	"FNMSUBCC",
-	"FNMSUBS",
-	"FNMSUBSCC",
-	"FRSP",
-	"FRSPCC",
-	"FSUB",
-	"FSUBCC",
-	"FSUBS",
-	"FSUBSCC",
-	"MOVMW",
-	"LSW",
-	"LWAR",
-	"MOVWBR",
-	"MOVB",
-	"MOVBU",
-	"MOVBZ",
-	"MOVBZU",
-	"MOVH",
-	"MOVHBR",
-	"MOVHU",
-	"MOVHZ",
-	"MOVHZU",
-	"MOVW",
-	"MOVWU",
-	"MOVFL",
-	"MOVCRFS",
-	"MTFSB0",
-	"MTFSB0CC",
-	"MTFSB1",
-	"MTFSB1CC",
-	"MULHW",
-	"MULHWCC",
-	"MULHWU",
-	"MULHWUCC",
-	"MULLW",
-	"MULLWCC",
-	"MULLWVCC",
-	"MULLWV",
-	"NAND",
-	"NANDCC",
-	"NEG",
-	"NEGCC",
-	"NEGVCC",
-	"NEGV",
-	"NOR",
-	"NORCC",
-	"OR",
-	"ORCC",
-	"ORN",
-	"ORNCC",
-	"REM",
-	"REMCC",
-	"REMV",
-	"REMVCC",
-	"REMU",
-	"REMUCC",
-	"REMUV",
-	"REMUVCC",
-	"RFI",
-	"RLWMI",
-	"RLWMICC",
-	"RLWNM",
-	"RLWNMCC",
-	"SLW",
-	"SLWCC",
-	"SRW",
-	"SRAW",
-	"SRAWCC",
-	"SRWCC",
-	"STSW",
-	"STWCCC",
-	"SUB",
-	"SUBCC",
-	"SUBVCC",
-	"SUBC",
-	"SUBCCC",
-	"SUBCV",
-	"SUBCVCC",
-	"SUBME",
-	"SUBMECC",
-	"SUBMEVCC",
-	"SUBMEV",
-	"SUBV",
-	"SUBE",
-	"SUBECC",
-	"SUBEV",
-	"SUBEVCC",
-	"SUBZE",
-	"SUBZECC",
-	"SUBZEVCC",
-	"SUBZEV",
-	"SYNC",
-	"XOR",
-	"XORCC",
-	"DCBF",
-	"DCBI",
-	"DCBST",
-	"DCBT",
-	"DCBTST",
-	"DCBZ",
-	"ECIWX",
-	"ECOWX",
-	"EIEIO",
-	"ICBI",
-	"ISYNC",
-	"TLBIE",
-	"TW",
-	"SYSCALL",
-	"DATA",
-	"GLOBL",
-	"GOK",
-	"HISTORY",
-	"NAME",
-	"NOP",
-	"RETURN",
-	"TEXT",
-	"WORD",
-	"END",
-	"DYNT",
-	"INIT",
-	"SIGNAME",
-	"MACCHW",
-	"MACCHWCC",
-	"MACCHWS",
-	"MACCHWSCC",
-	"MACCHWSU",
-	"MACCHWSUCC",
-	"MACCHWSUV",
-	"MACCHWSUVCC",
-	"MACCHWSV",
-	"MACCHWSVCC",
-	"MACCHWU",
-	"MACCHWUCC",
-	"MACCHWUV",
-	"MACCHWUVCC",
-	"MACCHWV",
-	"MACCHWVCC",
-	"MACHHW",
-	"MACHHWCC",
-	"MACHHWV",
-	"MACHHWVCC",
-	"MACHHWS",
-	"MACHHWSCC",
-	"MACHHWSV",
-	"MACHHWSVCC",
-	"MACHHWSU",
-	"MACHHWSUCC",
-	"MACHHWSUV",
-	"MACHHWSUVCC",
-	"MACHHWU",
-	"MACHHWUCC",
-	"MACHHWUV",
-	"MACHHWUVCC",
-	"MACLHW",
-	"MACLHWCC",
-	"MACLHWS",
-	"MACLHWSCC",
-	"MACLHWSU",
-	"MACLHWSUCC",
-	"MACLHWSUV",
-	"MACLHWSUVCC",
-	"MACLHWSV",
-	"MACLHWSVCC",
-	"MACLHWU",
-	"MACLHWUCC",
-	"MACLHWUV",
-	"MACLHWUVCC",
-	"MACLHWV",
-	"MACLHWVCC",
-	"MULCHW",
-	"MULCHWCC",
-	"MULCHWU",
-	"MULCHWUCC",
-	"MULHHW",
-	"MULHHWCC",
-	"MULHHWU",
-	"MULHHWUCC",
-	"MULLHW",
-	"MULLHWCC",
-	"MULLHWU",
-	"MULLHWUCC",
-	"NMACCHW",
-	"NMACCHWCC",
-	"NMACCHWS",
-	"NMACCHWSCC",
-	"NMACCHWSV",
-	"NMACCHWSVCC",
-	"NMACCHWV",
-	"NMACCHWVCC",
-	"NMACHHW",
-	"NMACHHWCC",
-	"NMACHHWS",
-	"NMACHHWSCC",
-	"NMACHHWSV",
-	"NMACHHWSVCC",
-	"NMACHHWV",
-	"NMACHHWVCC",
-	"NMACLHW",
-	"NMACLHWCC",
-	"NMACLHWS",
-	"NMACLHWSCC",
-	"NMACLHWSV",
-	"NMACLHWSVCC",
-	"NMACLHWV",
-	"NMACLHWVCC",
-	"RFCI",
-	"FRES",
-	"FRESCC",
-	"FRSQRTE",
-	"FRSQRTECC",
-	"FSEL",
-	"FSELCC",
-	"FSQRT",
-	"FSQRTCC",
-	"FSQRTS",
-	"FSQRTSCC",
-	"FPSEL",
-	"FPMUL",
-	"FXMUL",
-	"FXPMUL",
-	"FXSMUL",
-	"FPADD",
-	"FPSUB",
-	"FPRE",
-	"FPRSQRTE",
-	"FPMADD",
-	"FXMADD",
-	"FXCPMADD",
-	"FXCSMADD",
-	"FPNMADD",
-	"FXNMADD",
-	"FXCPNMADD",
-	"FXCSNMADD",
-	"FPMSUB",
-	"FXMSUB",
-	"FXCPMSUB",
-	"FXCSMSUB",
-	"FPNMSUB",
-	"FXNMSUB",
-	"FXCPNMSUB",
-	"FXCSNMSUB",
-	"FPABS",
-	"FPNEG",
-	"FPRSP",
-	"FPNABS",
-	"FSCMP",
-	"FSABS",
-	"FSNEG",
-	"FSNABS",
-	"FPCTIW",
-	"FPCTIWZ",
-	"FMOVSPD",
-	"FMOVPSD",
-	"FXCPNPMA",
-	"FXCSNPMA",
-	"FXCPNSMA",
-	"FXCSNSMA",
-	"FXCXNPMA",
-	"FXCXNSMA",
-	"FXCXMA",
-	"FXCXNMS",
-	"FSMOVS",
-	"FSMOVSU",
-	"FSMOVD",
-	"FSMOVDU",
-	"FXMOVS",
-	"FXMOVSU",
-	"FXMOVD",
-	"FXMOVDU",
-	"FPMOVS",
-	"FPMOVSU",
-	"FPMOVD",
-	"FPMOVDU",
-	"FPMOVIW",
-	"LAST",
-};
--- a/sys/src/cmd/qc/mkenam
+++ /dev/null
@@ -1,18 +1,0 @@
-ed - ../qc/q.out.h <<'!'
-v/^	A/d
-g/^	AEND/s//&,/
-g/^	ALAST/s//&,/
-g/[ 	]*=.*,/s//,/
-v/,/p
-,s/^	A/	"/
-,s/,.*$/",/
-1i
-char	*anames[] =
-{
-.
-,a
-};
-.
-w enam.c
-Q
-!
--- a/sys/src/cmd/qc/mkfile
+++ b/sys/src/cmd/qc/mkfile
@@ -21,22 +21,6 @@
 	../cc/compat.h\
 	../cc/cc.h\
 
-LIB=../cc/cc.a$O
-
-BIN=/$objtype/bin
+T=q
+<../cc/mkfile.port
 </sys/src/cmd/mkone
-
-$LIB:	../cc/cc.h
-	cd ../cc
-	mk install
-
-%.$O: ../cc/%.c
-	$CC $CFLAGS ../cc/$stem.c
-
-t:V:	$O.out
-	$O.out -S t
-	$LD -o t.out t.$O
-	t.out
-
-enam.c:	q.out.h
-	rc mkenam
--- a/sys/src/cmd/ql/mkfile
+++ b/sys/src/cmd/ql/mkfile
@@ -23,8 +23,13 @@
 BIN=/$objtype/bin
 </sys/src/cmd/mkone
 
+../qc/enam.c: ../qc/q.out.h
+	@ { cd ../qc; mk enam.c }
+
 enam.$O:	../qc/enam.c
 	$CC $CFLAGS ../qc/enam.c
+
 cnam.c:	l.h mkcname
 	rc ./mkcname
+
 compat.$O:	../cc/compat
--- a/sys/src/cmd/tc/5.out.h
+++ /dev/null
@@ -1,192 +1,0 @@
-#define	NSNAME		8
-#define	NSYM		50
-#define	NREG		16
-
-#define NOPROF		(1<<0)
-#define DUPOK		(1<<1)
-#define	ALLTHUMBS	(1<<2)
-
-#define	REGRET		0
-#define	REGARG		0
-/* compiler allocates R1 up as temps */
-/* compiler allocates register variables R3 up */
-#define	REGEXT		6
-/* compiler allocates external registers R5 down */
-#define	REGTMPT		7	/* used by the loader - thumb */
-#define	REGTMP		11	/* used by the loader - arm */
-#define	REGSB		12
-#define	REGSP		13
-#define	REGLINK		14
-#define	REGPC		15
-	
-#define	NFREG		8
-#define	FREGRET		0
-#define	FREGEXT		7
-/* compiler allocates register variables F0 up */
-/* compiler allocates external registers F7 down */
-
-enum	as
-{
-
-	AXXX,
-
-	AAND,
-	AEOR,
-	ASUB,
-	ARSB,	// not used
-	AADD,
-	AADC,
-	ASBC,
-	ARSC,	// not used
-	ATST,
-	ATEQ,	// not used
-	ACMP,
-	ACMN,
-	AORR,
-	ABIC,
-
-	AMVN,
-
-	AB,
-	ABL,
-
-	/* 
-	  * Do not reorder or fragment the conditional branch 
-	  * opcodes, or the predication code will break 
-	  */ 
-
-	ABEQ,
-	ABNE,
-	ABCS,
-	ABHS,
-	ABCC,
-	ABLO,
-	ABMI,
-	ABPL,
-	ABVS,
-	ABVC,
-	ABHI,
-	ABLS,
-	ABGE,
-	ABLT,
-	ABGT,
-	ABLE,
-
-	AMOVWD,
-	AMOVWF,
-	AMOVDW,
-	AMOVFW,
-	AMOVFD,
-	AMOVDF,
-	AMOVF,
-	AMOVD,
-
-	ACMPF,
-	ACMPD,
-	AADDF,
-	AADDD,
-	ASUBF,
-	ASUBD,
-	AMULF,
-	AMULD,
-	ADIVF,
-	ADIVD,
-
-	ASRL,	// right logical
-	ASRA,	// right arithmetic
-	ASLL,	// left logical = left arithmetic
-	AMULU,
-	ADIVU,
-	AMUL,
-	ADIV,
-	AMOD,
-	AMODU,
-
-	AMOVB,
-	AMOVBU,
-	AMOVH,
-	AMOVHU,
-	AMOVW,
-	AMOVM,
-	ASWPBU,	// not used
-	ASWPW,	// not used
-
-	ANOP,
-	ARFE,
-	ASWI,
-	AMULA,	// not used
-
-	ADATA,
-	AGLOBL,
-	AGOK,
-	AHISTORY,
-	ANAME,
-	ARET,	// fn return
-	ATEXT,	// fn start
-	AWORD,
-	ADYNT,	// not used
-	AINIT,	// not used
-	ABCASE,	// not used
-	ACASE,	// not used
-
-	AEND,
-
-	AMULL,
-	AMULAL,
-	AMULLU,
-	AMULALU,
-
-	ABX,
-	ABXRET,
-
-	ADWORD,
-
-	ASIGNAME,
-
-	ALAST,
-
-};
-
-/* type/name */
-#define	D_GOK	0
-#define	D_NONE	1
-
-/* type */
-#define	D_BRANCH	(D_NONE+1)
-#define	D_OREG		(D_NONE+2)
-#define	D_CONST		(D_NONE+7)
-#define	D_FCONST	(D_NONE+8)
-#define	D_SCONST	(D_NONE+9)
-#define	D_PSR		(D_NONE+10)
-#define	D_REG		(D_NONE+12)
-#define	D_FREG		(D_NONE+13)
-#define	D_FILE		(D_NONE+16)
-#define	D_OCONST	(D_NONE+17)
-#define	D_FILE1		(D_NONE+18)
-
-#define	D_SHIFT		(D_NONE+19)	/* not used */
-#define	D_FPCR		(D_NONE+20)
-#define 	D_REGREG	(D_NONE+21)
-
-/* name */
-#define	D_EXTERN	(D_NONE+3)
-#define	D_STATIC		(D_NONE+4)
-#define	D_AUTO		(D_NONE+5)
-#define	D_PARAM		(D_NONE+6)
-
-/*
- * this is the ranlib header
- */
-#define	SYMDEF	"__.SYMDEF"
-
-/*
- * this is the simulated IEEE floating point
- */
-typedef	struct	ieee	Ieee;
-struct	ieee
-{
-	long	l;	/* contains ls-man	0xffffffff */
-	long	h;	/* contains sign	0x80000000
-				    exp		0x7ff00000
-				    ms-man	0x000fffff */
-};
--- a/sys/src/cmd/tc/enam.c
+++ /dev/null
@@ -1,98 +1,0 @@
-char*	anames[] =
-{
-	"XXX",
-	"AND",
-	"EOR",
-	"SUB",
-	"RSB",
-	"ADD",
-	"ADC",
-	"SBC",
-	"RSC",
-	"TST",
-	"TEQ",
-	"CMP",
-	"CMN",
-	"ORR",
-	"BIC",
-	"MVN",
-	"B",
-	"BL",
-	"BEQ",
-	"BNE",
-	"BCS",
-	"BHS",
-	"BCC",
-	"BLO",
-	"BMI",
-	"BPL",
-	"BVS",
-	"BVC",
-	"BHI",
-	"BLS",
-	"BGE",
-	"BLT",
-	"BGT",
-	"BLE",
-	"MOVWD",
-	"MOVWF",
-	"MOVDW",
-	"MOVFW",
-	"MOVFD",
-	"MOVDF",
-	"MOVF",
-	"MOVD",
-	"CMPF",
-	"CMPD",
-	"ADDF",
-	"ADDD",
-	"SUBF",
-	"SUBD",
-	"MULF",
-	"MULD",
-	"DIVF",
-	"DIVD",
-	"SRL",
-	"SRA",
-	"SLL",
-	"MULU",
-	"DIVU",
-	"MUL",
-	"DIV",
-	"MOD",
-	"MODU",
-	"MOVB",
-	"MOVBU",
-	"MOVH",
-	"MOVHU",
-	"MOVW",
-	"MOVM",
-	"SWPBU",
-	"SWPW",
-	"NOP",
-	"RFE",
-	"SWI",
-	"MULA",
-	"DATA",
-	"GLOBL",
-	"GOK",
-	"HISTORY",
-	"NAME",
-	"RET",
-	"TEXT",
-	"WORD",
-	"DYNT",
-	"INIT",
-	"ABCASE",
-	"ACASE",
-	"END",
-	"MULL",
-	"MULAL",
-	"MULLU",
-	"MULALU",
-	"BX",
-	"BX",
-	"DWORD",
-	"SIGNAME",
-	"LAST",
-};
--- a/sys/src/cmd/tc/gc.h
+++ b/sys/src/cmd/tc/gc.h
@@ -1,5 +1,5 @@
 #include	"../cc/cc.h"
-#include	"../tc/5.out.h"
+#include	"../5c/5.out.h"
 
 /*
  * 5ct/Thumb
--- a/sys/src/cmd/tc/mkenam
+++ /dev/null
@@ -1,15 +1,0 @@
-ed - ../5ct/5.out.h <<'!'
-v/^	A/d
-,s/^	A/	"/
-g/ .*$/s///
-,s/,*$/",/
-1i
-char*	anames[] =
-{
-.
-$a
-};
-.
-w enam.c
-Q
-!
--- a/sys/src/cmd/tc/mkfile
+++ b/sys/src/cmd/tc/mkfile
@@ -1,7 +1,6 @@
 </$objtype/mkfile
 
 TARG=tc
-
 OFILES=	cgen.$O\
 	enam.$O\
 	list.$O\
@@ -12,18 +11,12 @@
 	swt.$O\
 	txt.$O\
 
-HFILES=	gc.h\
-	5.out.h\
+HFILES=\
+	gc.h\
+	../5c/5.out.h\
+	../cc/compat.h\
 	../cc/cc.h\
 
-LIB=../cc/cc.a$O
-
-BIN=/$objtype/bin
+T=5
+<../cc/mkfile.port
 </sys/src/cmd/mkone
-
-$LIB:	../cc/cc.h
-	cd ../cc
-	mk install
-
-%.$O: ../cc/%.c
-	$CC $CFLAGS ../cc/$stem.c
--- a/sys/src/cmd/tl/mkfile
+++ b/sys/src/cmd/tl/mkfile
@@ -22,6 +22,9 @@
 BIN=/$objtype/bin
 </sys/src/cmd/mkone
 
+../5c/enam.c: ../5c/5.out.h
+	@ { cd ../5c; mk enam.c }
+
 enam.$O:	../5c/enam.c
 	$CC $CFLAGS ../5c/enam.c
 
--- a/sys/src/cmd/vc/enam.c
+++ /dev/null
@@ -1,118 +1,0 @@
-char*	anames[] =
-{
-	"XXX",
-	"ABSD",
-	"ABSF",
-	"ABSW",
-	"ADD",
-	"ADDD",
-	"ADDF",
-	"ADDU",
-	"ADDW",
-	"AND",
-	"BEQ",
-	"BFPF",
-	"BFPT",
-	"BGEZ",
-	"BGEZAL",
-	"BGTZ",
-	"BLEZ",
-	"BLTZ",
-	"BLTZAL",
-	"BNE",
-	"BREAK",
-	"CMPEQD",
-	"CMPEQF",
-	"CMPGED",
-	"CMPGEF",
-	"CMPGTD",
-	"CMPGTF",
-	"DATA",
-	"DIV",
-	"DIVD",
-	"DIVF",
-	"DIVU",
-	"DIVW",
-	"GLOBL",
-	"GOK",
-	"HISTORY",
-	"JAL",
-	"JMP",
-	"MOVB",
-	"MOVBU",
-	"MOVD",
-	"MOVDF",
-	"MOVDW",
-	"MOVF",
-	"MOVFD",
-	"MOVFW",
-	"MOVH",
-	"MOVHU",
-	"MOVW",
-	"MOVWD",
-	"MOVWF",
-	"MOVWL",
-	"MOVWR",
-	"MUL",
-	"MULD",
-	"MULF",
-	"MULU",
-	"MULW",
-	"NAME",
-	"NEGD",
-	"NEGF",
-	"NEGW",
-	"NOP",
-	"NOR",
-	"OR",
-	"REM",
-	"REMU",
-	"RET",
-	"RFE",
-	"SGT",
-	"SGTU",
-	"SLL",
-	"SRA",
-	"SRL",
-	"SUB",
-	"SUBD",
-	"SUBF",
-	"SUBU",
-	"SUBW",
-	"SYSCALL",
-	"TEXT",
-	"TLBP",
-	"TLBR",
-	"TLBWI",
-	"TLBWR",
-	"WORD",
-	"XOR",
-	"END",
-	"MOVV",
-	"MOVVL",
-	"MOVVR",
-	"SLLV",
-	"SRAV",
-	"SRLV",
-	"DIVV",
-	"DIVVU",
-	"REMV",
-	"REMVU",
-	"MULV",
-	"MULVU",
-	"ADDV",
-	"ADDVU",
-	"SUBV",
-	"SUBVU",
-	"DYNT",
-	"INIT",
-	"BCASE",
-	"CASE",
-	"TRUNCFV",
-	"TRUNCDV",
-	"TRUNCFW",
-	"TRUNCDW",
-	"MOVWU",
-	"SIGNAME",
-	"LAST",
-};
--- a/sys/src/cmd/vc/mkenam
+++ /dev/null
@@ -1,15 +1,0 @@
-ed - ../vc/v.out.h <<'!'
-v/^	A/d
-,s/^	A/	"/
-g/ .*$/s///
-,s/,*$/",/
-1i
-char*	anames[] =
-{
-.
-$a
-};
-.
-w enam.c
-Q
-!
--- a/sys/src/cmd/vc/mkfile
+++ b/sys/src/cmd/vc/mkfile
@@ -20,19 +20,6 @@
 	../cc/compat.h\
 	../cc/cc.h\
 
-LIB=../cc/cc.a$O
-
-BIN=/$objtype/bin
+T=v
+<../cc/mkfile.port
 </sys/src/cmd/mkone
-
-$LIB:	../cc/cc.h
-	cd ../cc
-	mk install
-
-%.$O: ../cc/%.c
-	$CC $CFLAGS ../cc/$stem.c
-
-t:V:	$O.out
-	$O.out -S t
-	$LD -o t.out t.$O
-	t.out
--- a/sys/src/cmd/vl/mkfile
+++ b/sys/src/cmd/vl/mkfile
@@ -21,6 +21,9 @@
 BIN=/$objtype/bin
 </sys/src/cmd/mkone
 
+../vc/enam.c: ../vc/v.out.h
+	@ { cd ../vc; mk enam.c }
+
 enam.$O:	../vc/enam.c
 	$CC $CFLAGS ../vc/enam.c