Browse Source

New json format per Giacomo's ideas.

Instead of this:
{
	"Name": "a",
	...
}

Do this:
{
	"Name": {
		...
	}
}

This is way better. Now the name is visible at the top level of any json viewer, we can
have multiple stanzas per file, the name is way more easy to find, ... the advantages are legion.

This includes a change to build.go but not to preen.

This now works fine, BUILD all produces a working kernel and userland. But someone else needs to verify it.

Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>

Change-Id: I9b1cf2597e582895b8f3ab127bc9c1d77de96cbd
Ronald G. Minnich 8 years ago
parent
commit
26bcd0c9c7
100 changed files with 2484 additions and 2363 deletions
  1. 21 15
      amd64/include/cflags.json
  2. 16 15
      sys/src/9/386/386.json
  3. 38 40
      sys/src/9/boot/boot.json
  4. 27 26
      sys/src/9/boot/bootconf.json
  5. 27 26
      sys/src/9/ip/ip.json
  6. 5 4
      sys/src/9/k10/clean.json
  7. 90 92
      sys/src/9/k10/core.json
  8. 32 34
      sys/src/9/k10/inith.json
  9. 112 119
      sys/src/9/k10/k8cpu.json
  10. 81 77
      sys/src/9/port/port.json
  11. 9 8
      sys/src/all.json
  12. 9 8
      sys/src/bench/build.json
  13. 16 15
      sys/src/cmd/9660srv/9660srv.json
  14. 31 30
      sys/src/cmd/9nfs/9nfs.json
  15. 21 20
      sys/src/cmd/9nfs/pcnfsd.json
  16. 17 16
      sys/src/cmd/9nfs/portmapper.json
  17. 41 40
      sys/src/cmd/astro/astro.json
  18. 48 47
      sys/src/cmd/auth/auth.json
  19. 14 13
      sys/src/cmd/auth/authsrv.json
  20. 14 13
      sys/src/cmd/auth/dsa2pub.json
  21. 14 13
      sys/src/cmd/auth/dsa2ssh.json
  22. 24 23
      sys/src/cmd/auth/factotum/factotum.json
  23. 14 13
      sys/src/cmd/auth/guard.srv.json
  24. 26 25
      sys/src/cmd/auth/lib/libauthcmd.json
  25. 14 13
      sys/src/cmd/auth/rsa2csr.json
  26. 14 13
      sys/src/cmd/auth/rsa2pub.json
  27. 14 13
      sys/src/cmd/auth/rsa2ssh.json
  28. 14 13
      sys/src/cmd/auth/rsa2x509.json
  29. 14 13
      sys/src/cmd/auth/rsafill.json
  30. 11 10
      sys/src/cmd/auth/secstore/aescbc.json
  31. 19 18
      sys/src/cmd/auth/secstore/secstore.json
  32. 16 15
      sys/src/cmd/auth/secstore/secstored.json
  33. 14 13
      sys/src/cmd/auth/secstore/secuser.json
  34. 55 52
      sys/src/cmd/aux/aux.json
  35. 15 14
      sys/src/cmd/aux/flashfs/dummyfs.json
  36. 14 13
      sys/src/cmd/aux/flashfs/flashfs.json
  37. 17 16
      sys/src/cmd/aux/flashfs/flashfsbin.json
  38. 12 11
      sys/src/cmd/aux/flashfs/mkflashfs.json
  39. 16 15
      sys/src/cmd/aux/flashfs/testldfs.json
  40. 14 13
      sys/src/cmd/aux/gps/gps.json
  41. 11 10
      sys/src/cmd/aux/gps/gpsevermore.json
  42. 10 9
      sys/src/cmd/aux/mnihongo/mnihongo.json
  43. 9 8
      sys/src/cmd/aux/realemu/loadcom.json
  44. 15 14
      sys/src/cmd/aux/realemu/realemu.json
  45. 49 48
      sys/src/cmd/aux/vga/vga.json
  46. 23 22
      sys/src/cmd/bzip2/bzip2.json
  47. 27 26
      sys/src/cmd/bzip2/lib/libbzip2.json
  48. 13 12
      sys/src/cmd/cb/cb.json
  49. 15 14
      sys/src/cmd/cdfs/cdfs.json
  50. 28 27
      sys/src/cmd/cifs/cifs.json
  51. 48 47
      sys/src/cmd/cmd.json
  52. 150 153
      sys/src/cmd/cmds.json
  53. 17 16
      sys/src/cmd/con/con.json
  54. 17 16
      sys/src/cmd/dial/dial.json
  55. 15 14
      sys/src/cmd/diff/diff.json
  56. 26 25
      sys/src/cmd/disk/9660/9660.json
  57. 20 19
      sys/src/cmd/disk/disk.json
  58. 28 27
      sys/src/cmd/disk/kfs/kfs.json
  59. 18 17
      sys/src/cmd/disk/prep/fdisk.json
  60. 18 17
      sys/src/cmd/disk/prep/prep.json
  61. 19 18
      sys/src/cmd/dossrv/dossrv.json
  62. 16 0
      sys/src/cmd/exportfs/exportfs.json
  63. 37 36
      sys/src/cmd/fossil/flchk.json
  64. 38 37
      sys/src/cmd/fossil/flfmt.json
  65. 53 52
      sys/src/cmd/fossil/fossil.json
  66. 37 36
      sys/src/cmd/fossil/last.json
  67. 19 18
      sys/src/cmd/grep/grep.json
  68. 20 19
      sys/src/cmd/hoc/hoc.json
  69. 11 10
      sys/src/cmd/iostats/build.json
  70. 13 12
      sys/src/cmd/ip/dhcpd/dhcpd.json
  71. 12 11
      sys/src/cmd/ip/dhcpd/dhcpleases.json
  72. 11 10
      sys/src/cmd/ip/ftpd.json
  73. 12 11
      sys/src/cmd/ip/ftpfs/ftpfs.json
  74. 22 21
      sys/src/cmd/ip/httpd/httpd.json
  75. 18 17
      sys/src/cmd/ip/httpd/libhttps.json
  76. 25 24
      sys/src/cmd/ip/imap4d/imap4d.json
  77. 37 36
      sys/src/cmd/ip/ip.json
  78. 12 11
      sys/src/cmd/ip/ipconfig/ipconfig.json
  79. 12 11
      sys/src/cmd/ip/ipconfig/kipconfig.json
  80. 17 16
      sys/src/cmd/ip/ppp/ppp.json
  81. 26 25
      sys/src/cmd/kcmds.json
  82. 34 35
      sys/src/cmd/kernel.json
  83. 19 18
      sys/src/cmd/ndb/dns.json
  84. 17 16
      sys/src/cmd/ndb/dnsdebug.json
  85. 17 16
      sys/src/cmd/ndb/dnstcp.json
  86. 22 21
      sys/src/cmd/ndb/ndb.json
  87. 33 32
      sys/src/cmd/rc/rc.json
  88. 18 17
      sys/src/cmd/rio/rio.json
  89. 22 0
      sys/src/cmd/syscall/syscall.json
  90. 10 9
      sys/src/cmd/usb2/keyb.json
  91. 11 10
      sys/src/cmd/usb2/usb.json
  92. 47 47
      sys/src/cmd/venti/srv/libvs.json
  93. 43 42
      sys/src/cmd/venti/srv/srv.json
  94. 21 20
      sys/src/cmd/venti/venti.json
  95. 25 25
      sys/src/klib.json
  96. 10 9
      sys/src/klibs.json
  97. 16 15
      sys/src/lib.json
  98. 24 23
      sys/src/lib9p/lib9p.json
  99. 26 25
      sys/src/libString/libString.json
  100. 25 24
      sys/src/libauth/libauth.json

+ 21 - 15
amd64/include/cflags.json

@@ -1,17 +1,23 @@
 {
-	"Name": "buildflags",
-	"Cflags": [
-		"-g",
-		"-Wall",
-		"-Wno-missing-braces",
-		"-Wno-parentheses",
-		"-Wno-unknown-pragmas",
-		"-O0",
-		"-static",
-		"-fplan9-extensions",
-		"-mno-red-zone",
-		"-ffreestanding",
-		"-fno-builtin",
-		"-mcmodel=small"
-	]
+	"buildflags": {
+		"Cflags": [
+			"-ffreestanding",
+			"-fno-builtin",
+			"-fno-omit-frame-pointer",
+			"-fplan9-extensions",
+			"-fvar-tracking",
+			"-fvar-tracking-assignments",
+			"-g",
+			"-gdwarf-2",
+			"-ggdb",
+			"-mcmodel=small",
+			"-mno-red-zone",
+			"-O0",
+			"-static",
+			"-Wall",
+			"-Wno-missing-braces",
+			"-Wno-parentheses",
+			"-Wno-unknown-pragmas"
+		]
+	}
 }

+ 16 - 15
sys/src/9/386/386.json

@@ -1,17 +1,18 @@
 {
-	"Name": "386",
-	"SourceFiles": [
-		"../386/devether.c",
-		"../386/devrtc.c",
-		"../386/ether8169.c",
-		"../386/ether82557.c",
-		"../386/etherigbe.c",
-		"../386/etherm10g.c",
-		"../386/i8042.c",
-		"../386/pci.c",
-		"../386/random.c",
-		"../386/sdiahci.c",
-		"../386/uarti8250.c",
-		"../386/uartpci.c"
-	]
+	"386": {
+		"SourceFiles": [
+			"../386/devether.c",
+			"../386/devrtc.c",
+			"../386/ether8169.c",
+			"../386/ether82557.c",
+			"../386/etherigbe.c",
+			"../386/etherm10g.c",
+			"../386/i8042.c",
+			"../386/pci.c",
+			"../386/random.c",
+			"../386/sdiahci.c",
+			"../386/uarti8250.c",
+			"../386/uartpci.c"
+		]
+	}
 }

+ 38 - 40
sys/src/9/boot/boot.json

@@ -1,42 +1,40 @@
 {
-	"Cflags": [
-		"-g",
-		"-Wall",
-		"-Wno-missing-braces",
-		"-Wno-parentheses",
-		"-Wno-unknown-pragmas",
-		"-Wuninitialized",
-		"-Wmaybe-uninitialized",
-		"-O0",
-		"-static",
-		"-fplan9-extensions",
-		"-mno-red-zone",
-		"-ffreestanding",
-		"-fno-builtin",
-		"-mcmodel=small"
-	],
-        "Pre": [
-                "mksys -o bootk8cpu.c -mode=bootk8cpu.c $HARVEY/sys/src/sysconf.json",
-                "[ ! -f bootk8cpu.elf.out ] || rm *.elf.out"
-        ],
-	"Include": [
-		"/sys/src/lib.json"
-	],
-	"Install": "/sys/src/9/boot",
-	"Library": "libboot.a",
-	"Name": "libboot",
-	"SourceFiles": [
-		"aux.c",
-		"bootauth.c",
-		"boot.c",
-		"bootcache.c",
-		"bootip.c",
-		"bootk8cpu.c",
-		"console.c",
-		"embed.c",
-		"local.c",
-		"paq.c",
-		"sac.c",
-		"settime.c"
-	]
+	"libboot": {
+		"Cflags": [
+			"-g",
+			"-Wall",
+			"-Wno-missing-braces",
+			"-Wno-parentheses",
+			"-Wno-unknown-pragmas",
+			"-O0",
+			"-static",
+			"-fplan9-extensions",
+			"-mno-red-zone",
+			"-ffreestanding",
+			"-fno-builtin",
+			"-mcmodel=small"
+		],
+		"Include": [
+			"/sys/src/lib.json"
+		],
+		"Install": "/sys/src/9/boot",
+		"Library": "libboot.a",
+		"Pre": [
+			"mksys -o bootk8cpu.c -mode=bootk8cpu.c $HARVEY/sys/src/sysconf.json",
+			"[ ! -f bootk8cpu.elf.out ] || rm *.elf.out"
+		],
+		"SourceFiles": [
+			"aux.c",
+			"bootauth.c",
+			"boot.c",
+			"bootcache.c",
+			"bootip.c",
+			"bootk8cpu.c",
+			"embed.c",
+			"local.c",
+			"paq.c",
+			"sac.c",
+			"settime.c"
+		]
+	}
 }

+ 27 - 26
sys/src/9/boot/bootconf.json

@@ -1,28 +1,29 @@
 {
-	"Include": [
-		"/amd64/include/cflags.json"
-	],
-	"Libs": [
-		"libboot.a",
-		"/amd64/lib/libip.a",
-		"/amd64/lib/libauth.a",
-		"/amd64/lib/libc.a"
-	],
-	"Name": "bootk8cpu",
-	"Oflags": [
-		"-e_main",
-		"-static"
-	],
-	"Post": [
-		"rm *.o *.a",
-		"../../../../util/data2c ramfs_bootk8cpu_ ../boot/bootk8cpu.elf.out >> ../k10/k8cpu.c"
-	],
-	"Program": "bootk8cpu.elf.out",
-	"Projects": [
-		"boot.json"
-	],
-	"SourceFiles": [
-		"printstub.c",
-		"bootk8cpu.c"
-	]
+	"bootk8cpu": {
+		"Include": [
+			"/amd64/include/cflags.json"
+		],
+		"Libs": [
+			"libboot.a",
+			"/amd64/lib/libip.a",
+			"/amd64/lib/libauth.a",
+			"/amd64/lib/libc.a"
+		],
+		"Oflags": [
+			"-e_main",
+			"-static"
+		],
+		"Post": [
+			"rm *.o *.a",
+			"../../../../util/data2c ramfs_bootk8cpu_ ../boot/bootk8cpu.elf.out >> ../k10/k8cpu.c"
+		],
+		"Program": "bootk8cpu.elf.out",
+		"Projects": [
+			"boot.json"
+		],
+		"SourceFiles": [
+			"printstub.c",
+			"bootk8cpu.c"
+		]
+	}
 }

+ 27 - 26
sys/src/9/ip/ip.json

@@ -1,28 +1,29 @@
 {
-	"Name": "ip",
-	"SourceFiles": [
-		"../ip/arp.c",
-		"../ip/chandial.c",
-		"../ip/devip.c",
-		"../ip/ethermedium.c",
-		"../ip/gre.c",
-		"../ip/icmp6.c",
-		"../ip/icmp.c",
-		"../ip/inferno.c",
-		"../ip/ipaux.c",
-		"../ip/ip.c",
-		"../ip/ipifc.c",
-		"../ip/ipmux.c",
-		"../ip/iproute.c",
-		"../ip/ipv6.c",
-		"../ip/loopbackmedium.c",
-		"../ip/netdevmedium.c",
-		"../ip/netlog.c",
-		"../ip/nullmedium.c",
-		"../ip/pktmedium.c",
-		"../ip/ptclbsum.c",
-		"../ip/rudp.c",
-		"../ip/tcp.c",
-		"../ip/udp.c"
-	]
+	"ip": {
+		"SourceFiles": [
+			"../ip/arp.c",
+			"../ip/chandial.c",
+			"../ip/devip.c",
+			"../ip/ethermedium.c",
+			"../ip/gre.c",
+			"../ip/icmp6.c",
+			"../ip/icmp.c",
+			"../ip/inferno.c",
+			"../ip/ipaux.c",
+			"../ip/ip.c",
+			"../ip/ipifc.c",
+			"../ip/ipmux.c",
+			"../ip/iproute.c",
+			"../ip/ipv6.c",
+			"../ip/loopbackmedium.c",
+			"../ip/netdevmedium.c",
+			"../ip/netlog.c",
+			"../ip/nullmedium.c",
+			"../ip/pktmedium.c",
+			"../ip/ptclbsum.c",
+			"../ip/rudp.c",
+			"../ip/tcp.c",
+			"../ip/udp.c"
+		]
+	}
 }

+ 5 - 4
sys/src/9/k10/clean.json

@@ -1,6 +1,7 @@
 {
-	"Name": "clean",
-	"Pre": [
-		"rm -f *.o *.root.c *.out errstr.h init.h init amd64l.h ../boot/libboot.a ../boot/*.o boot*.c"
-	]
+	"clean": {
+		"Pre": [
+			"rm -f *.o *.root.c *.out errstr.h init.h init amd64l.h ../boot/libboot.a ../boot/*.o boot*.c"
+		]
+	}
 }

+ 90 - 92
sys/src/9/k10/core.json

@@ -1,94 +1,92 @@
 {
-	"Name": "core",
-	"Cflags": [
-		"-mcmodel=kernel",
-		"-O0",
-		"-static",
-		"-fplan9-extensions",
-		"-mno-red-zone",
-		"-ffreestanding",
-		"-fno-builtin",
-		"-DKERNDATE=1433623937",
-		"-g",
-		"-fvar-tracking",
-		"-fvar-tracking-assignments",
-		"-Wall",
-		"-W",
-		"-Wno-sign-compare",
-		"-Wno-missing-field-initializers",
-		"-Wno-unused-parameter",
-		"-Wno-missing-braces",
-		"-Wno-parentheses",
-		"-Wno-unknown-pragmas",
-		"-Wuninitialized",
-		"-Wmaybe-uninitialized"
-	],
-	"Libs": [
-		"/amd64/lib/klibmemlayer.a",
-		"/amd64/lib/klibmemdraw.a",
-		"/amd64/lib/klibc.a",
-		"/amd64/lib/klibdraw.a",
-		"/amd64/lib/klibip.a",
-		"/amd64/lib/klibsec.a"
-	],
-	"Name": "core",
-	"Oflags": [
-		"-z",
-		"max-page-size=0x1000",
-		"-nostdlib",
-		"-g",
-		"-T",
-		"kernel.ld"
-	],
-	"Post": [
-		"${TOOLPREFIX}objcopy -I elf64-x86-64 -O elf32-i386 9$CONF 9$CONF.32bit",
-		"cp 9$CONF.32bit $HARVEY/cfg/pxe/tftpboot",
-		"${TOOLPREFIX}objdump -S 9$CONF \u003e 9$CONF.asm"
-	],
-	"Pre": [
-		"mksys -o systab.c -mode=systab.c $HARVEY/sys/src/sysconf.json",
-		"mksys -o errstr.h -mode=errstr.h $HARVEY/sys/src/sysconf.json"
-	],
-	"Projects": [
-		"clean.json",
-		"../boot/bootconf.json",
-		"inith.json"
-	],
-	"SourceFiles": [
-		"entry.S",
-		"vsvm.c",
-		"l64v.S",
-		"l64fpu.S",
-		"cpuidamd64.S",
-		"l64acidt.S",
-		"l64idt.S",
-		"l64vsyscall.S",
-		"acore.c",
-		"apic.c",
-		"arch.c",
-		"archk10.c",
-		"asm.c",
-		"backtrace.c",
-		"ctype.c",
-		"devarch.c",
-		"fpu.c",
-		"i8254.c",
-		"i8259.c",
-		"ioapic.c",
-		"main.c",
-		"map.c",
-		"memory.c",
-		"mmu.c",
-		"mp.c",
-		"msi.c",
-		"multiboot.c",
-		"physalloc.c",
-		"pmcio.c",
-		"qmalloc.c",
-		"sipi.c",
-		"syscall.c",
-		"systab.c",
-		"tcore.c",
-		"trap.c"
-	]
+	"core": {
+		"Cflags": [
+			"-mcmodel=kernel",
+			"-O0",
+			"-static",
+			"-fplan9-extensions",
+			"-mno-red-zone",
+			"-ffreestanding",
+			"-fno-builtin",
+			"-DKERNDATE=1433623937",
+			"-g",
+			"-fvar-tracking",
+			"-fvar-tracking-assignments",
+			"-Wall",
+			"-W",
+			"-Wno-sign-compare",
+			"-Wno-missing-field-initializers",
+			"-Wno-unused-parameter",
+			"-Wno-missing-braces",
+			"-Wno-parentheses",
+			"-Wno-unknown-pragmas"
+		],
+		"Libs": [
+			"/amd64/lib/klibmemlayer.a",
+			"/amd64/lib/klibmemdraw.a",
+			"/amd64/lib/klibc.a",
+			"/amd64/lib/klibdraw.a",
+			"/amd64/lib/klibip.a",
+			"/amd64/lib/klibsec.a"
+		],
+		"Oflags": [
+			"-z",
+			"max-page-size=0x1000",
+			"-nostdlib",
+			"-g",
+			"-T",
+			"kernel.ld"
+		],
+		"Post": [
+			"${TOOLPREFIX}objcopy -I elf64-x86-64 -O elf32-i386 9$CONF 9$CONF.32bit",
+			"cp 9$CONF.32bit $HARVEY/cfg/pxe/tftpboot",
+			"${TOOLPREFIX}objdump -S 9$CONF > 9$CONF.asm"
+		],
+		"Pre": [
+			"mksys -o systab.c -mode=systab.c $HARVEY/sys/src/sysconf.json",
+			"mksys -o errstr.h -mode=errstr.h $HARVEY/sys/src/sysconf.json"
+		],
+		"Projects": [
+			"clean.json",
+			"../boot/bootconf.json",
+			"inith.json"
+		],
+		"SourceFiles": [
+			"entry.S",
+			"vsvm.c",
+			"l64v.S",
+			"l64fpu.S",
+			"cpuidamd64.S",
+			"l64acidt.S",
+			"l64idt.S",
+			"l64vsyscall.S",
+			"acore.c",
+			"apic.c",
+			"arch.c",
+			"archk10.c",
+			"asm.c",
+			"backtrace.c",
+			"ctype.c",
+			"devarch.c",
+			"fpu.c",
+			"i8254.c",
+			"i8259.c",
+			"ioapic.c",
+			"main.c",
+			"map.c",
+			"memory.c",
+			"mmu.c",
+			"mp.c",
+			"msi.c",
+			"multiboot.c",
+			"physalloc.c",
+			"pmcio.c",
+			"qmalloc.c",
+			"sipi.c",
+			"syscall.c",
+			"systab.c",
+			"tcore.c",
+			"trap.c"
+		]
+	}
 }

+ 32 - 34
sys/src/9/k10/inith.json

@@ -1,36 +1,34 @@
 {
-	"Name" : "inith",
-	"Cflags": [
-		"-g",
-		"-Wall",
-		"-Wno-missing-braces",
-		"-Wno-parentheses",
-		"-Wno-unknown-pragmas",
-		"-Wuninitialized",
-		"-Wmaybe-uninitialized",
-		"-O0",
-		"-static",
-		"-fplan9-extensions",
-		"-mno-red-zone",
-		"-ffreestanding",
-		"-fno-builtin",
-		"-mcmodel=small"
-	],
-	"Libs": [
-		"/amd64/lib/libc.a"
-	],
-	"Name": "inith",
-	"Oflags": [
-		"-e_main",
-		"-static",
-		"-Ttext=0x200020"
-	],
-	"Post": [
-		"elf2c init \u003e init.h"
-	],
-	"Program": "init",
-	"SourceFiles": [
-		"init9.c",
-		"../port/initcode.c"
-	]
+	"inith": {
+		"Cflags": [
+			"-g",
+			"-Wall",
+			"-Wno-missing-braces",
+			"-Wno-parentheses",
+			"-Wno-unknown-pragmas",
+			"-O0",
+			"-static",
+			"-fplan9-extensions",
+			"-mno-red-zone",
+			"-ffreestanding",
+			"-fno-builtin",
+			"-mcmodel=small"
+		],
+		"Libs": [
+			"/amd64/lib/libc.a"
+		],
+		"Oflags": [
+			"-e_main",
+			"-static",
+			"-Ttext=0x200020"
+		],
+		"Post": [
+			"elf2c init > init.h"
+		],
+		"Program": "init",
+		"SourceFiles": [
+			"init9.c",
+			"../port/initcode.c"
+		]
+	}
 }

+ 112 - 119
sys/src/9/k10/k8cpu.json

@@ -1,122 +1,115 @@
 {
-	"Name": "k8cpu",
-	"Env": [
-		"CONF=k8cpu"
-	],
-	"Include": [
-		"core.json",
-		"../386/386.json",
-		"../ip/ip.json",
-		"../port/port.json"
-	],
-	"Kernel": {
-		"Config": {
-			"Code": [
-				"int cpuserver = 1;",
-				"uint32_t kerndate = 1;"
-			],
-			"Dev": [
-				"root",
-				"cons",
-				"draw",
-				"dup",
-				"env",
-				"ether",
-				"ip",
-				"kprof",
-				"mnt",
-				"mouse",
-				"pci",
-				"pipe",
-				"proc",
-				"mnt",
-				"srv",
-				"dup",
-				"rtc",
-				"kprof",
-				"pmc",
-				"regress",
-				"segment",
-				"acpi",
-				"zp",
-				"ws",
-				"sd",
-				"ether",
-				"ip",
-				"pci",
-				"uart",
-				"usb",
-				"vga",
-				"zp"
-			],
-			"Ip": [
-				"tcp",
-				"udp",
-				"ipifc",
-				"icmp",
-				"icmp6",
-				"gre"
-			],
-			"Link": [
-				"ether8169",
-				"ether82557",
-				"ether82563",
-				"etherigbe",
-				"ether8139",
-				"ethermedium",
-				"loopbackmedium",
-				"netdevmedium",
-				"usbuhci",
-				"usbohci",
-				"usbehci"
-			],
-			"Sd": [
-				"sdiahci"
-			],
-			"Systab": "/sys/src/libc/9syscall/sys.h",
-			"Uart": [
-				"i8250",
-				"pci"
-			],
-			"VGA": [
-
-			]
+	"k8cpu": {
+		"Env": [
+			"CONF=k8cpu"
+		],
+		"Include": [
+			"core.json",
+			"../386/386.json",
+			"../ip/ip.json",
+			"../port/port.json"
+		],
+		"Kernel": {
+			"Config": {
+				"Code": [
+					"int cpuserver = 1;",
+					"uint32_t kerndate = 1;"
+				],
+				"Dev": [
+					"acpi",
+					"arch",
+					"cap",
+					"cons",
+					"draw",
+					"dup",
+					"env",
+					"ether",
+					"ip",
+					"kprof",
+					"mnt",
+					"mouse",
+					"pci",
+					"pipe",
+					"pmc",
+					"proc",
+					"regress",
+					"root",
+					"rtc",
+					"sd",
+					"segment",
+					"srv",
+					"ssl",
+					"uart",
+					"ws",
+					"usb",
+					"vga",
+					"zp"
+				],
+				"Ip": [
+					"tcp",
+					"udp",
+					"ipifc",
+					"icmp",
+					"icmp6",
+					"gre"
+				],
+				"Link": [
+					"ether8169",
+					"ether82557",
+					"ether82563",
+					"etherigbe",
+					"ether8139",
+					"ethermedium",
+					"loopbackmedium",
+					"netdevmedium",
+					"usbuhci",
+					"usbohci",
+					"usbehci"
+				],
+				"Sd": [
+					"sdiahci"
+				],
+				"Systab": "/sys/src/libc/9syscall/sys.h",
+				"Uart": [
+					"i8250",
+					"pci"
+				],
+				"VGA": []
+			},
+			"Ramfiles": {
+				"bind": "/amd64/bin/bind",
+				"boot": "/sys/src/9/boot/bootk8cpu.elf.out",
+				"cat": "/amd64/bin/cat",
+				"date": "/amd64/bin/date",
+				"echo": "/amd64/bin/echo",
+				"factotum": "/amd64/bin/auth/factotum",
+				"ipconfig": "/amd64/bin/ip/ipconfig",
+				"ls": "/amd64/bin/ls",
+				"mount": "/amd64/bin/mount",
+				"nvram": "/util/nvram",
+				"rc": "/amd64/bin/rc",
+				"rcmain": "/rc/lib/rcmain",
+				"screenconsole": "/amd64/bin/aux/screenconsole",
+				"srv": "/amd64/bin/srv"
+			}
 		},
-		"Ramfiles": {
-			"bind": "/amd64/bin/bind",
-			"boot": "/sys/src/9/boot/bootk8cpu.elf.out",
-			"cat": "/amd64/bin/cat",
-			"date": "/amd64/bin/date",
-			"echo": "/amd64/bin/echo",
-			"factotum": "/amd64/bin/auth/factotum",
-			"ipconfig": "/amd64/bin/ip/ipconfig",
-			"listen1": "/amd64/bin/aux/listen1",
-			"ls": "/amd64/bin/ls",
-			"mount": "/amd64/bin/mount",
-			"rc": "/amd64/bin/rc",
-			"rcmain": "/rc/lib/rcmain",
-			"srv": "/amd64/bin/srv",
-			"tty": "/amd64/bin/aux/tty",
-			"console": "/amd64/bin/aux/console"
-		}
-	},
-	"Name": "k8cpu",
-	"Program": "9k8cpu",
-	"SourceFiles": [
-		"cga.c",
-		"devacpi.c",
-		"devusb.c",
-		"devvga.c",
-		"ether8139.c",
-		"ether82563.c",
-		"k8cpu.c",
-		"mouse.c",
-		"screen.c",
-		"sdata.c",
-		"usbehcipc.c",
-		"usbohci.c",
-		"usbuhci.c",
-		"vga.c",
-		"vgax.c"
-	]
+		"Program": "9k8cpu",
+		"SourceFiles": [
+			"cga.c",
+			"devacpi.c",
+			"devusb.c",
+			"devvga.c",
+			"ether8139.c",
+			"ether82563.c",
+			"k8cpu.c",
+			"mouse.c",
+			"screen.c",
+			"sdata.c",
+			"usbehcipc.c",
+			"usbohci.c",
+			"usbuhci.c",
+			"vga.c",
+			"vgax.c"
+		]
+	}
 }

+ 81 - 77
sys/src/9/port/port.json

@@ -1,79 +1,83 @@
 {
-	"#SourceFiles": [
-		"../port/devcec.c"
-	],
-	"Name": "port",
-	"Cflags": [
-		"-fasm"
-	],
-	"Pre": [
-		"mksys -o ../port/error.h -mode=error.h $HARVEY/sys/src/sysconf.json"
-	],
-	"SourceFiles": [
-		"../port/alarm.c",
-		"../port/allocb.c",
-		"../port/cache.c",
-		"../port/chan.c",
-		"../port/cpu_buffer.c",
-		"../port/dev.c",
-		"../port/devcons.c",
-		"../port/devdraw.c",
-		"../port/devdup.c",
-		"../port/devenv.c",
-		"../port/devkexec.c",
-		"../port/devkprof.c",
-		"../port/devmnt.c",
-		"../port/devmouse.c",
-		"../port/devpci.c",
-		"../port/devpipe.c",
-		"../port/devpmc.c",
-		"../port/devproc.c",
-		"../port/devregress.c",
-		"../port/devroot.c",
-		"../port/devsd.c",
-		"../port/devsegment.c",
-		"../port/devsrv.c",
-		"../port/devtab.c",
-		"../port/devtrace.c",
-		"../port/devuart.c",
-		"../port/devwd.c",
-		"../port/devws.c",
-		"../port/devzp.c",
-		"../port/edf.c",
-		"../port/elf64.c",
-		"../port/ethermii.c",
-		"../port/fault.c",
-		"../port/getput.c",
-		"../port/hexdump.c",
-		"../port/image.c",
-		"../port/kdebug.c",
-		"../port/kexec.c",
-		"../port/mul64fract.c",
-		"../port/netif.c",
-		"../port/page.c",
-		"../port/pager.c",
-		"../port/parse.c",
-		"../port/pgrp.c",
-		"../port/portclock.c",
-		"../port/print.c",
-		"../port/proc.c",
-		"../port/ps.c",
-		"../port/qio.c",
-		"../port/qlock.c",
-		"../port/rebootcmd.c",
-		"../port/rmap.c",
-		"../port/sdscsi.c",
-		"../port/segment.c",
-		"../port/sysauth.c",
-		"../port/syscallfmt.c",
-		"../port/sysfile.c",
-		"../port/sysproc.c",
-		"../port/sysseg.c",
-		"../port/syssem.c",
-		"../port/syszio.c",
-		"../port/taslock.c",
-		"../port/tod.c",
-		"../port/usbehci.c",
-		"../port/watermarks.c"
-	]
+	"port": {
+		"#SourceFiles": [
+			"../port/devcec.c"
+		],
+		"Cflags": [
+			"-fasm"
+		],
+		"Pre": [
+			"mksys -o ../port/error.h -mode=error.h $HARVEY/sys/src/sysconf.json"
+		],
+		"SourceFiles": [
+			"../port/alarm.c",
+			"../port/allocb.c",
+			"../port/awake.c",
+			"../port/cache.c",
+			"../port/chan.c",
+			"../port/cpu_buffer.c",
+			"../port/dev.c",
+			"../port/devcap.c",
+			"../port/devcons.c",
+			"../port/devdraw.c",
+			"../port/devdup.c",
+			"../port/devenv.c",
+			"../port/devkexec.c",
+			"../port/devkprof.c",
+			"../port/devmnt.c",
+			"../port/devmouse.c",
+			"../port/devpci.c",
+			"../port/devpipe.c",
+			"../port/devpmc.c",
+			"../port/devproc.c",
+			"../port/devregress.c",
+			"../port/devroot.c",
+			"../port/devsd.c",
+			"../port/devsegment.c",
+			"../port/devsrv.c",
+			"../port/devssl.c",
+			"../port/devtab.c",
+			"../port/devtrace.c",
+			"../port/devuart.c",
+			"../port/devwd.c",
+			"../port/devws.c",
+			"../port/devzp.c",
+			"../port/edf.c",
+			"../port/elf64.c",
+			"../port/ethermii.c",
+			"../port/fault.c",
+			"../port/getput.c",
+			"../port/hexdump.c",
+			"../port/image.c",
+			"../port/kdebug.c",
+			"../port/kexec.c",
+			"../port/mul64fract.c",
+			"../port/netif.c",
+			"../port/page.c",
+			"../port/pager.c",
+			"../port/parse.c",
+			"../port/pgrp.c",
+			"../port/portclock.c",
+			"../port/print.c",
+			"../port/proc.c",
+			"../port/ps.c",
+			"../port/qio.c",
+			"../port/qlock.c",
+			"../port/rebootcmd.c",
+			"../port/rmap.c",
+			"../port/sdscsi.c",
+			"../port/segment.c",
+			"../port/sysauth.c",
+			"../port/syscallfmt.c",
+			"../port/sysfile.c",
+			"../port/sysproc.c",
+			"../port/sysseg.c",
+			"../port/syssem.c",
+			"../port/syszio.c",
+			"../port/taslock.c",
+			"../port/tod.c",
+			"../port/usbehci.c",
+			"../port/watermarks.c"
+		]
+	}
 }

+ 9 - 8
sys/src/all.json

@@ -1,10 +1,11 @@
 {
-	"Name": "All",
-	"Projects": [
-		"klibs.json",
-		"libs.json",
-		"cmd/kcmds.json",
-		"cmd/cmds.json",
-		"9/k10/k8cpu.json"
-	]
+	"All": {
+		"Projects": [
+			"klibs.json",
+			"libs.json",
+			"cmd/kcmds.json",
+			"cmd/cmds.json",
+			"9/k10/k8cpu.json"
+		]
+	}
 }

+ 9 - 8
sys/src/bench/build.json

@@ -1,10 +1,11 @@
 {
-	"Include": [
-		"/sys/src/cmd/cmd.json"
-	],
-	"Install": "/$ARCH/bin/bench",
-	"Name": "Bench",
-	"SourceFilesCmd": [
-		"error.c"
-	]
+	"Bench": {
+		"Include": [
+			"/sys/src/cmd/cmd.json"
+		],
+		"Install": "/$ARCH/bin/bench",
+		"SourceFilesCmd": [
+			"error.c"
+		]
+	}
 }

+ 16 - 15
sys/src/cmd/9660srv/9660srv.json

@@ -1,17 +1,18 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Name": "9660srv",
-	"Post": [
-		"mv 9660srv $HARVEY/amd64/bin/"
-	],
-	"Program": "9660srv",
-	"SourceFiles": [
-		"9660srv.c",
-		"data.c",
-		"iobuf.c",
-		"main.c",
-		"xfile.c"
-	]
+	"9660srv": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Post": [
+			"mv 9660srv $HARVEY/amd64/bin/"
+		],
+		"Program": "9660srv",
+		"SourceFiles": [
+			"9660srv.c",
+			"data.c",
+			"iobuf.c",
+			"main.c",
+			"xfile.c"
+		]
+	}
 }

+ 31 - 30
sys/src/cmd/9nfs/9nfs.json

@@ -1,32 +1,33 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Name": "nfsserver",
-	"Post": [
-		"[ -d $HARVEY/amd64/bin/aux ] || mkdir $HARVEY/amd64/bin/aux",
-		"mv nfsserver $HARVEY/amd64/bin/aux/"
-	],
-	"Program": "nfsserver",
-	"Projects": [
-		"portmapper.json",
-		"pcnfsd.json"
-	],
-	"SourceFiles": [
-		"9p.c",
-		"auth.c",
-		"authhostowner.c",
-		"nfs.c",
-		"nfsmount.c",
-		"nfsserver.c",
-		"xfile.c",
-		"chat.c",
-		"rpc.c",
-		"string.c",
-		"strparse.c",
-		"system.c",
-		"listalloc.c",
-		"server.c",
-		"unixnames.c"
-	]
+	"nfsserver": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Post": [
+			"[ -d $HARVEY/amd64/bin/aux ] || mkdir $HARVEY/amd64/bin/aux",
+			"mv nfsserver $HARVEY/amd64/bin/aux/"
+		],
+		"Program": "nfsserver",
+		"Projects": [
+			"portmapper.json",
+			"pcnfsd.json"
+		],
+		"SourceFiles": [
+			"9p.c",
+			"auth.c",
+			"authhostowner.c",
+			"nfs.c",
+			"nfsmount.c",
+			"nfsserver.c",
+			"xfile.c",
+			"chat.c",
+			"rpc.c",
+			"string.c",
+			"strparse.c",
+			"system.c",
+			"listalloc.c",
+			"server.c",
+			"unixnames.c"
+		]
+	}
 }

+ 21 - 20
sys/src/cmd/9nfs/pcnfsd.json

@@ -1,22 +1,23 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Name": "pcnfsd",
-	"Post": [
-		"[ -d $HARVEY/amd64/bin/aux ] || mkdir $HARVEY/amd64/bin/aux",
-		"mv pcnfsd $HARVEY/amd64/bin/aux/"
-	],
-	"Program": "pcnfsd",
-	"SourceFiles": [
-		"pcnfsd.c",
-		"unixnames.c",
-		"chat.c",
-		"rpc.c",
-		"server.c",
-		"string.c",
-		"listalloc.c",
-		"strparse.c",
-		"system.c"
-	]
+	"pcnfsd": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Post": [
+			"[ -d $HARVEY/amd64/bin/aux ] || mkdir $HARVEY/amd64/bin/aux",
+			"mv pcnfsd $HARVEY/amd64/bin/aux/"
+		],
+		"Program": "pcnfsd",
+		"SourceFiles": [
+			"pcnfsd.c",
+			"unixnames.c",
+			"chat.c",
+			"rpc.c",
+			"server.c",
+			"string.c",
+			"listalloc.c",
+			"strparse.c",
+			"system.c"
+		]
+	}
 }

+ 17 - 16
sys/src/cmd/9nfs/portmapper.json

@@ -1,18 +1,19 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Name": "portmapper",
-	"Post": [
-		"[ -d $HARVEY/amd64/bin/aux ] || mkdir $HARVEY/amd64/bin/aux",
-		"mv portmapper $HARVEY/amd64/bin/aux/"
-	],
-	"Program": "portmapper",
-	"SourceFiles": [
-		"portmapper.c",
-		"rpc.c",
-		"chat.c",
-		"server.c",
-		"string.c"
-	]
+	"portmapper": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Post": [
+			"[ -d $HARVEY/amd64/bin/aux ] || mkdir $HARVEY/amd64/bin/aux",
+			"mv portmapper $HARVEY/amd64/bin/aux/"
+		],
+		"Program": "portmapper",
+		"SourceFiles": [
+			"portmapper.c",
+			"rpc.c",
+			"chat.c",
+			"server.c",
+			"string.c"
+		]
+	}
 }

+ 41 - 40
sys/src/cmd/astro/astro.json

@@ -1,42 +1,43 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Name": "astro",
-	"Post": [
-		"mv astro $HARVEY/amd64/bin/"
-	],
-	"Program": "astro",
-	"SourceFiles": [
-		"comet.c",
-		"cosadd.c",
-		"dist.c",
-		"geo.c",
-		"helio.c",
-		"init.c",
-		"jup.c",
-		"main.c",
-		"mars.c",
-		"merc.c",
-		"merct.c",
-		"moon.c",
-		"moont.c",
-		"nept.c",
-		"nutate.c",
-		"nutt.c",
-		"occ.c",
-		"output.c",
-		"pdate.c",
-		"plut.c",
-		"sat.c",
-		"satel.c",
-		"search.c",
-		"star.c",
-		"stars.c",
-		"sun.c",
-		"sunt.c",
-		"uran.c",
-		"venus.c",
-		"venust.c"
-	]
+	"astro": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Post": [
+			"mv astro $HARVEY/amd64/bin/"
+		],
+		"Program": "astro",
+		"SourceFiles": [
+			"comet.c",
+			"cosadd.c",
+			"dist.c",
+			"geo.c",
+			"helio.c",
+			"init.c",
+			"jup.c",
+			"main.c",
+			"mars.c",
+			"merc.c",
+			"merct.c",
+			"moon.c",
+			"moont.c",
+			"nept.c",
+			"nutate.c",
+			"nutt.c",
+			"occ.c",
+			"output.c",
+			"pdate.c",
+			"plut.c",
+			"sat.c",
+			"satel.c",
+			"search.c",
+			"star.c",
+			"stars.c",
+			"sun.c",
+			"sunt.c",
+			"uran.c",
+			"venus.c",
+			"venust.c"
+		]
+	}
 }

+ 48 - 47
sys/src/cmd/auth/auth.json

@@ -1,49 +1,50 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Install": "/$ARCH/bin/auth/",
-	"Name": "Auth",
-	"Oflags": [
-		"lib/libauthcmd.a"
-	],
-	"Projects": [
-		"factotum/factotum.json",
-		"secstore/secstore.json",
-		"lib/libauthcmd.json",
-		"authsrv.json",
-		"dsa2pub.json",
-		"dsa2ssh.json",
-		"guard.srv.json",
-		"rsa2csr.json",
-		"rsa2pub.json",
-		"rsa2ssh.json",
-		"rsa2x509.json",
-		"rsafill.json"
-	],
-	"SourceFilesCmd": [
-		"as.c",
-		"asn12dsa.c",
-		"asn12rsa.c",
-		"changeuser.c",
-		"convkeys2.c",
-		"convkeys.c",
-		"cron.c",
-		"debug.c",
-		"dsagen.c",
-		"keyfs.c",
-		"login.c",
-		"netkey.c",
-		"newns.c",
-		"none.c",
-		"passwd.c",
-		"pemdecode.c",
-		"pemencode.c",
-		"printnetkey.c",
-		"readnvram.c",
-		"rsagen.c",
-		"uniq.c",
-		"warning.c",
-		"wrkey.c"
-	]
+	"Auth": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Install": "/$ARCH/bin/auth/",
+		"Oflags": [
+			"lib/libauthcmd.a"
+		],
+		"Projects": [
+			"factotum/factotum.json",
+			"secstore/secstore.json",
+			"lib/libauthcmd.json",
+			"authsrv.json",
+			"dsa2pub.json",
+			"dsa2ssh.json",
+			"guard.srv.json",
+			"rsa2csr.json",
+			"rsa2pub.json",
+			"rsa2ssh.json",
+			"rsa2x509.json",
+			"rsafill.json"
+		],
+		"SourceFilesCmd": [
+			"as.c",
+			"asn12dsa.c",
+			"asn12rsa.c",
+			"changeuser.c",
+			"convkeys2.c",
+			"convkeys.c",
+			"cron.c",
+			"debug.c",
+			"dsagen.c",
+			"keyfs.c",
+			"login.c",
+			"netkey.c",
+			"newns.c",
+			"none.c",
+			"passwd.c",
+			"pemdecode.c",
+			"pemencode.c",
+			"printnetkey.c",
+			"readnvram.c",
+			"rsagen.c",
+			"uniq.c",
+			"warning.c",
+			"wrkey.c"
+		]
+	}
 }

+ 14 - 13
sys/src/cmd/auth/authsrv.json

@@ -1,15 +1,16 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Install": "/$ARCH/bin/auth/",
-	"Name": "authsrv",
-	"Oflags": [
-		"lib/libauthcmd.a"
-	],
-	"Program": "authsrv",
-	"SourceFiles": [
-		"authsrv.c",
-		"secureidcheck.c"
-	]
+	"authsrv": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Install": "/$ARCH/bin/auth/",
+		"Oflags": [
+			"lib/libauthcmd.a"
+		],
+		"Program": "authsrv",
+		"SourceFiles": [
+			"authsrv.c",
+			"secureidcheck.c"
+		]
+	}
 }

+ 14 - 13
sys/src/cmd/auth/dsa2pub.json

@@ -1,15 +1,16 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Install": "/$ARCH/bin/auth/",
-	"Name": "dsa2pub",
-	"Oflags": [
-		"lib/libauthcmd.a"
-	],
-	"Program": "dsa2pub",
-	"SourceFiles": [
-		"dsa2pub.c",
-		"rsa2any.c"
-	]
+	"dsa2pub": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Install": "/$ARCH/bin/auth/",
+		"Oflags": [
+			"lib/libauthcmd.a"
+		],
+		"Program": "dsa2pub",
+		"SourceFiles": [
+			"dsa2pub.c",
+			"rsa2any.c"
+		]
+	}
 }

+ 14 - 13
sys/src/cmd/auth/dsa2ssh.json

@@ -1,15 +1,16 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Install": "/$ARCH/bin/auth/",
-	"Name": "dsa2ssh",
-	"Oflags": [
-		"lib/libauthcmd.a"
-	],
-	"Program": "dsa2ssh",
-	"SourceFiles": [
-		"dsa2ssh.c",
-		"rsa2any.c"
-	]
+	"dsa2ssh": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Install": "/$ARCH/bin/auth/",
+		"Oflags": [
+			"lib/libauthcmd.a"
+		],
+		"Program": "dsa2ssh",
+		"SourceFiles": [
+			"dsa2ssh.c",
+			"rsa2any.c"
+		]
+	}
 }

+ 24 - 23
sys/src/cmd/auth/factotum/factotum.json

@@ -1,25 +1,26 @@
 {
-	"Include": [
-		"../../cmd.json"
-	],
-	"Install": "/$ARCH/bin/auth/",
-	"Name": "factotum",
-	"Program": "factotum",
-	"SourceFiles": [
-		"apop.c",
-		"chap.c",
-		"confirm.c",
-		"fs.c",
-		"httpdigest.c",
-		"log.c",
-		"p9any.c",
-		"p9cr.c",
-		"p9sk1.c",
-		"pass.c",
-		"rpc.c",
-		"rsa.c",
-		"secstore.c",
-		"util.c",
-		"wep.c"
-	]
+	"factotum": {
+		"Include": [
+			"../../cmd.json"
+		],
+		"Install": "/$ARCH/bin/auth/",
+		"Program": "factotum",
+		"SourceFiles": [
+			"apop.c",
+			"chap.c",
+			"confirm.c",
+			"fs.c",
+			"httpdigest.c",
+			"log.c",
+			"p9any.c",
+			"p9cr.c",
+			"p9sk1.c",
+			"pass.c",
+			"rpc.c",
+			"rsa.c",
+			"secstore.c",
+			"util.c",
+			"wep.c"
+		]
+	}
 }

+ 14 - 13
sys/src/cmd/auth/guard.srv.json

@@ -1,15 +1,16 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Install": "/$ARCH/bin/auth/",
-	"Name": "guard.srv",
-	"Oflags": [
-		"lib/libauthcmd.a"
-	],
-	"Program": "guard.srv",
-	"SourceFiles": [
-		"guard.srv.c",
-		"secureidcheck.c"
-	]
+	"guard.srv": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Install": "/$ARCH/bin/auth/",
+		"Oflags": [
+			"lib/libauthcmd.a"
+		],
+		"Program": "guard.srv",
+		"SourceFiles": [
+			"guard.srv.c",
+			"secureidcheck.c"
+		]
+	}
 }

+ 26 - 25
sys/src/cmd/auth/lib/libauthcmd.json

@@ -1,27 +1,28 @@
 {
-	"Cflags": [
-		"-I../"
-	],
-	"Include": [
-		"../../../lib.json"
-	],
-	"Install": "/sys/src/cmd/auth/lib/",
-	"Library": "libauthcmd.a",
-	"Name": "libauthcmd",
-	"SourceFiles": [
-		"keyfmt.c",
-		"netcheck.c",
-		"okpasswd.c",
-		"readwrite.c",
-		"readarg.c",
-		"readln.c",
-		"getauthkey.c",
-		"log.c",
-		"error.c",
-		"fs.c",
-		"rdbio.c",
-		"querybio.c",
-		"wrbio.c",
-		"getexpiration.c"
-	]
+	"libauthcmd": {
+		"Cflags": [
+			"-I../"
+		],
+		"Include": [
+			"../../../lib.json"
+		],
+		"Install": "/sys/src/cmd/auth/lib/",
+		"Library": "libauthcmd.a",
+		"SourceFiles": [
+			"keyfmt.c",
+			"netcheck.c",
+			"okpasswd.c",
+			"readwrite.c",
+			"readarg.c",
+			"readln.c",
+			"getauthkey.c",
+			"log.c",
+			"error.c",
+			"fs.c",
+			"rdbio.c",
+			"querybio.c",
+			"wrbio.c",
+			"getexpiration.c"
+		]
+	}
 }

+ 14 - 13
sys/src/cmd/auth/rsa2csr.json

@@ -1,15 +1,16 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Install": "/$ARCH/bin/auth/",
-	"Name": "rsa2csr",
-	"Oflags": [
-		"lib/libauthcmd.a"
-	],
-	"Program": "rsa2csr",
-	"SourceFiles": [
-		"rsa2csr.c",
-		"rsa2any.c"
-	]
+	"rsa2csr": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Install": "/$ARCH/bin/auth/",
+		"Oflags": [
+			"lib/libauthcmd.a"
+		],
+		"Program": "rsa2csr",
+		"SourceFiles": [
+			"rsa2csr.c",
+			"rsa2any.c"
+		]
+	}
 }

+ 14 - 13
sys/src/cmd/auth/rsa2pub.json

@@ -1,15 +1,16 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Install": "/$ARCH/bin/auth/",
-	"Name": "rsa2pub",
-	"Oflags": [
-		"lib/libauthcmd.a"
-	],
-	"Program": "rsa2pub",
-	"SourceFiles": [
-		"rsa2pub.c",
-		"rsa2any.c"
-	]
+	"rsa2pub": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Install": "/$ARCH/bin/auth/",
+		"Oflags": [
+			"lib/libauthcmd.a"
+		],
+		"Program": "rsa2pub",
+		"SourceFiles": [
+			"rsa2pub.c",
+			"rsa2any.c"
+		]
+	}
 }

+ 14 - 13
sys/src/cmd/auth/rsa2ssh.json

@@ -1,15 +1,16 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Install": "/$ARCH/bin/auth/",
-	"Name": "rsa2ssh",
-	"Oflags": [
-		"lib/libauthcmd.a"
-	],
-	"Program": "rsa2ssh",
-	"SourceFiles": [
-		"rsa2ssh.c",
-		"rsa2any.c"
-	]
+	"rsa2ssh": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Install": "/$ARCH/bin/auth/",
+		"Oflags": [
+			"lib/libauthcmd.a"
+		],
+		"Program": "rsa2ssh",
+		"SourceFiles": [
+			"rsa2ssh.c",
+			"rsa2any.c"
+		]
+	}
 }

+ 14 - 13
sys/src/cmd/auth/rsa2x509.json

@@ -1,15 +1,16 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Install": "/$ARCH/bin/auth/",
-	"Name": "rsa2x509",
-	"Oflags": [
-		"lib/libauthcmd.a"
-	],
-	"Program": "rsa2x509",
-	"SourceFiles": [
-		"rsa2x509.c",
-		"rsa2any.c"
-	]
+	"rsa2x509": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Install": "/$ARCH/bin/auth/",
+		"Oflags": [
+			"lib/libauthcmd.a"
+		],
+		"Program": "rsa2x509",
+		"SourceFiles": [
+			"rsa2x509.c",
+			"rsa2any.c"
+		]
+	}
 }

+ 14 - 13
sys/src/cmd/auth/rsafill.json

@@ -1,15 +1,16 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Install": "/$ARCH/bin/auth/",
-	"Name": "rsafill",
-	"Oflags": [
-		"lib/libauthcmd.a"
-	],
-	"Program": "rsafill",
-	"SourceFiles": [
-		"rsafill.c",
-		"rsa2any.c"
-	]
+	"rsafill": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Install": "/$ARCH/bin/auth/",
+		"Oflags": [
+			"lib/libauthcmd.a"
+		],
+		"Program": "rsafill",
+		"SourceFiles": [
+			"rsafill.c",
+			"rsa2any.c"
+		]
+	}
 }

+ 11 - 10
sys/src/cmd/auth/secstore/aescbc.json

@@ -1,12 +1,13 @@
 {
-	"Include": [
-		"../../cmd.json"
-	],
-	"Install": "/$ARCH/bin/auth",
-	"Name": "aescbc",
-	"Program": "aescbc",
-	"SourceFiles": [
-		"aescbc.c",
-		"util.c"
-	]
+	"aescbc": {
+		"Include": [
+			"../../cmd.json"
+		],
+		"Install": "/$ARCH/bin/auth",
+		"Program": "aescbc",
+		"SourceFiles": [
+			"aescbc.c",
+			"util.c"
+		]
+	}
 }

+ 19 - 18
sys/src/cmd/auth/secstore/secstore.json

@@ -1,20 +1,21 @@
 {
-	"Include": [
-		"../../cmd.json"
-	],
-	"Install": "/$ARCH/bin/auth/",
-	"Name": "secstore",
-	"Program": "secstore",
-	"Projects": [
-		"aescbc.json",
-		"secstored.json",
-		"secuser.json"
-	],
-	"SourceFiles": [
-		"pak.c",
-		"password.c",
-		"secstore.c",
-		"SConn.c",
-		"util.c"
-	]
+	"secstore": {
+		"Include": [
+			"../../cmd.json"
+		],
+		"Install": "/$ARCH/bin/auth/",
+		"Program": "secstore",
+		"Projects": [
+			"aescbc.json",
+			"secstored.json",
+			"secuser.json"
+		],
+		"SourceFiles": [
+			"pak.c",
+			"password.c",
+			"secstore.c",
+			"SConn.c",
+			"util.c"
+		]
+	}
 }

+ 16 - 15
sys/src/cmd/auth/secstore/secstored.json

@@ -1,17 +1,18 @@
 {
-	"Include": [
-		"../../cmd.json"
-	],
-	"Install": "/$ARCH/bin/auth/",
-	"Name": "secstored",
-	"Program": "secstored",
-	"SourceFiles": [
-		"dirls.c",
-		"pak.c",
-		"password.c",
-		"SConn.c",
-		"secstored.c",
-		"../secureidcheck.c",
-		"util.c"
-	]
+	"secstored": {
+		"Include": [
+			"../../cmd.json"
+		],
+		"Install": "/$ARCH/bin/auth/",
+		"Program": "secstored",
+		"SourceFiles": [
+			"dirls.c",
+			"pak.c",
+			"password.c",
+			"SConn.c",
+			"secstored.c",
+			"../secureidcheck.c",
+			"util.c"
+		]
+	}
 }

+ 14 - 13
sys/src/cmd/auth/secstore/secuser.json

@@ -1,15 +1,16 @@
 {
-	"Include": [
-		"../../cmd.json"
-	],
-	"Install": "/$ARCH/bin/auth/",
-	"Name": "secuser",
-	"Program": "secuser",
-	"SourceFiles": [
-		"pak.c",
-		"password.c",
-		"SConn.c",
-		"secuser.c",
-		"util.c"
-	]
+	"secuser": {
+		"Include": [
+			"../../cmd.json"
+		],
+		"Install": "/$ARCH/bin/auth/",
+		"Program": "secuser",
+		"SourceFiles": [
+			"pak.c",
+			"password.c",
+			"SConn.c",
+			"secuser.c",
+			"util.c"
+		]
+	}
 }

+ 55 - 52
sys/src/cmd/aux/aux.json

@@ -1,54 +1,57 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Install": "/$ARCH/bin/aux",
-	"Name": "Aux",
-	"Projects": [
-		"mnihongo/mnihongo.json",
-		"flashfs/flashfs.json",
-		"gps/gps.json",
-		"realemu/realemu.json",
-		"realemu/loadcom.json",
-		"vga/vga.json"
-	],
-	"SourceFilesCmd": [
-		"9pcon.c",
-		"accupoint.c",
-		"acidleak.c",
-		"apm.c",
-		"astarld.c",
-		"cddb.c",
-		"clog.c",
-		"consolefs.c",
-		"data2s.c",
-		"depend.c",
-		"disksim.c",
-		"getflags.c",
-		"lines.c",
-		"listen.c",
-		"listen1.c",
-		"mklatinkbd.c",
-		"ms2.c",
-		"msexceltables.c",
-		"mswordstrings.c",
-		"mouse.c",
-		"nfsmount.c",
-		"olefs.c",
-		"pcmcia.c",
-		"portmap.c",
-		"rdwr.c",
-		"reboot.c",
-		"searchfs.c",
-		"statusbar.c",
-		"stub.c",
-		"timesync.c",
-		"trampoline.c",
-		"usage.c",
-		"watchdog.c",
-		"write.c",
-		"console.c",
-		"zerotrunc.c",
-		"tty.c"
-	]
+	"Aux": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Install": "/$ARCH/bin/aux",
+		"Projects": [
+			"mnihongo/mnihongo.json",
+			"flashfs/flashfs.json",
+			"console/screenconsole.json",
+			"console/comconsole.json",
+			"console/pipeconsole.json",
+			"gps/gps.json",
+			"realemu/realemu.json",
+			"realemu/loadcom.json",
+			"vga/vga.json"
+		],
+		"SourceFilesCmd": [
+			"9pcon.c",
+			"accupoint.c",
+			"acidleak.c",
+			"apm.c",
+			"astarld.c",
+			"cddb.c",
+			"clog.c",
+			"consolefs.c",
+			"data2s.c",
+			"depend.c",
+			"disksim.c",
+			"getflags.c",
+			"lines.c",
+			"listen.c",
+			"listen1.c",
+			"mklatinkbd.c",
+			"ms2.c",
+			"msexceltables.c",
+			"mswordstrings.c",
+			"mouse.c",
+			"nfsmount.c",
+			"olefs.c",
+			"pcmcia.c",
+			"portmap.c",
+			"rdwr.c",
+			"reboot.c",
+			"searchfs.c",
+			"statusbar.c",
+			"stub.c",
+			"timesync.c",
+			"trampoline.c",
+			"usage.c",
+			"watchdog.c",
+			"write.c",
+			"zerotrunc.c",
+			"tty.c"
+		]
+	}
 }

+ 15 - 14
sys/src/cmd/aux/flashfs/dummyfs.json

@@ -1,16 +1,17 @@
 {
-	"Include": [
-		"../../cmd.json"
-	],
-	"Install": "/$ARCH/bin/aux",
-	"Name": "dummyfs",
-	"Program": "dummyfs",
-	"SourceFiles": [
-		"dummy.c",
-		"dreq.c",
-		"entry.c",
-		"errors.c",
-		"devfs.c",
-		"utils.c"
-	]
+	"dummyfs": {
+		"Include": [
+			"../../cmd.json"
+		],
+		"Install": "/$ARCH/bin/aux",
+		"Program": "dummyfs",
+		"SourceFiles": [
+			"dummy.c",
+			"dreq.c",
+			"entry.c",
+			"errors.c",
+			"devfs.c",
+			"utils.c"
+		]
+	}
 }

+ 14 - 13
sys/src/cmd/aux/flashfs/flashfs.json

@@ -1,15 +1,16 @@
 {
-	"Include": [
-		"../../cmd.json"
-	],
-	"Name": "flashfs",
-	"Post": [
-		"touch dummy.o"
-	],
-	"Projects": [
-		"mkflashfs.json",
-		"testldfs.json",
-		"dummyfs.json",
-		"flashfsbin.json"
-	]
+	"flashfs": {
+		"Include": [
+			"../../cmd.json"
+		],
+		"Post": [
+			"touch dummy.o"
+		],
+		"Projects": [
+			"mkflashfs.json",
+			"testldfs.json",
+			"dummyfs.json",
+			"flashfsbin.json"
+		]
+	}
 }

+ 17 - 16
sys/src/cmd/aux/flashfs/flashfsbin.json

@@ -1,18 +1,19 @@
 {
-	"Include": [
-		"../../cmd.json"
-	],
-	"Install": "/$ARCH/bin/aux",
-	"Name": "flashfsbin",
-	"Program": "flashfs",
-	"SourceFiles": [
-		"flash.c",
-		"journal.c",
-		"entry.c",
-		"errors.c",
-		"request.c",
-		"devfs.c",
-		"conv.c",
-		"utils.c"
-	]
+	"flashfsbin": {
+		"Include": [
+			"../../cmd.json"
+		],
+		"Install": "/$ARCH/bin/aux",
+		"Program": "flashfs",
+		"SourceFiles": [
+			"flash.c",
+			"journal.c",
+			"entry.c",
+			"errors.c",
+			"request.c",
+			"devfs.c",
+			"conv.c",
+			"utils.c"
+		]
+	}
 }

+ 12 - 11
sys/src/cmd/aux/flashfs/mkflashfs.json

@@ -1,13 +1,14 @@
 {
-	"Include": [
-		"../../cmd.json"
-	],
-	"Install": "/$ARCH/bin/aux",
-	"Name": "mkflashfs",
-	"Program": "mkflashfs",
-	"SourceFiles": [
-		"mkfs.c",
-		"devfs.c",
-		"utils.c"
-	]
+	"mkflashfs": {
+		"Include": [
+			"../../cmd.json"
+		],
+		"Install": "/$ARCH/bin/aux",
+		"Program": "mkflashfs",
+		"SourceFiles": [
+			"mkfs.c",
+			"devfs.c",
+			"utils.c"
+		]
+	}
 }

+ 16 - 15
sys/src/cmd/aux/flashfs/testldfs.json

@@ -1,17 +1,18 @@
 {
-	"Include": [
-		"../../cmd.json"
-	],
-	"Install": "/$ARCH/bin/aux",
-	"Name": "testldfs",
-	"Program": "testldfs",
-	"SourceFiles": [
-		"testld.c",
-		"journal.c",
-		"entry.c",
-		"errors.c",
-		"devfs.c",
-		"conv.c",
-		"utils.c"
-	]
+	"testldfs": {
+		"Include": [
+			"../../cmd.json"
+		],
+		"Install": "/$ARCH/bin/aux",
+		"Program": "testldfs",
+		"SourceFiles": [
+			"testld.c",
+			"journal.c",
+			"entry.c",
+			"errors.c",
+			"devfs.c",
+			"conv.c",
+			"utils.c"
+		]
+	}
 }

+ 14 - 13
sys/src/cmd/aux/gps/gps.json

@@ -1,15 +1,16 @@
 {
-	"Include": [
-		"../../cmd.json"
-	],
-	"Install": "/$ARCH/bin/aux",
-	"Name": "gpsfs",
-	"Program": "gpsfs",
-	"Projects": [
-		"gpsevermore.json"
-	],
-	"SourceFiles": [
-		"util.c",
-		"gpsfs.c"
-	]
+	"gpsfs": {
+		"Include": [
+			"../../cmd.json"
+		],
+		"Install": "/$ARCH/bin/aux",
+		"Program": "gpsfs",
+		"Projects": [
+			"gpsevermore.json"
+		],
+		"SourceFiles": [
+			"util.c",
+			"gpsfs.c"
+		]
+	}
 }

+ 11 - 10
sys/src/cmd/aux/gps/gpsevermore.json

@@ -1,12 +1,13 @@
 {
-	"Include": [
-		"../../cmd.json"
-	],
-	"Install": "/$ARCH/bin/aux",
-	"Name": "gpsevermore",
-	"Program": "gpsevermore",
-	"SourceFiles": [
-		"util.c",
-		"gpsevermore.c"
-	]
+	"gpsevermore": {
+		"Include": [
+			"../../cmd.json"
+		],
+		"Install": "/$ARCH/bin/aux",
+		"Program": "gpsevermore",
+		"SourceFiles": [
+			"util.c",
+			"gpsevermore.c"
+		]
+	}
 }

+ 10 - 9
sys/src/cmd/aux/mnihongo/mnihongo.json

@@ -1,11 +1,12 @@
 {
-	"Include": [
-		"../../cmd.json"
-	],
-	"Install": "/$ARCH/bin/aux",
-	"Name": "mnihongo",
-	"Program": "mnihongo",
-	"SourceFiles": [
-		"mnihongo.c"
-	]
+	"mnihongo": {
+		"Include": [
+			"../../cmd.json"
+		],
+		"Install": "/$ARCH/bin/aux",
+		"Program": "mnihongo",
+		"SourceFiles": [
+			"mnihongo.c"
+		]
+	}
 }

+ 9 - 8
sys/src/cmd/aux/realemu/loadcom.json

@@ -1,10 +1,11 @@
 {
-	"Include": [
-		"../../cmd.json"
-	],
-	"Install": "/$ARCH/bin/aux",
-	"Name": "Loadcom",
-	"SourceFilesCmd": [
-		"loadcom.c"
-	]
+	"Loadcom": {
+		"Include": [
+			"../../cmd.json"
+		],
+		"Install": "/$ARCH/bin/aux",
+		"SourceFilesCmd": [
+			"loadcom.c"
+		]
+	}
 }

+ 15 - 14
sys/src/cmd/aux/realemu/realemu.json

@@ -1,16 +1,17 @@
 {
-	"Include": [
-		"../../cmd.json"
-	],
-	"Install": "/$ARCH/bin/aux/",
-	"Name": "realemu",
-	"Program": "realemu",
-	"SourceFiles": [
-		"arg.c",
-		"decode.c",
-		"fmt.c",
-		"main.c",
-		"pit.c",
-		"xec.c"
-	]
+	"realemu": {
+		"Include": [
+			"../../cmd.json"
+		],
+		"Install": "/$ARCH/bin/aux/",
+		"Program": "realemu",
+		"SourceFiles": [
+			"arg.c",
+			"decode.c",
+			"fmt.c",
+			"main.c",
+			"pit.c",
+			"xec.c"
+		]
+	}
 }

+ 49 - 48
sys/src/cmd/aux/vga/vga.json

@@ -1,50 +1,51 @@
 {
-	"Include": [
-		"../../cmd.json"
-	],
-	"Install": "/$ARCH/bin/aux",
-	"Name": "vga",
-	"Program": "vga",
-	"SourceFiles": [
-		"error.c",
-		"ics534x.c",
-		"radeon.c",
-		"s3928.c",
-		"sc15025.c",
-		"trio64.c",
-		"tvp3026.c",
-		"vga.c",
-		"vision968.c",
-		"ch9294.c",
-		"io.c",
-		"main.c",
-		"nvidia.c",
-		"rgb524.c",
-		"s3clock.c",
-		"stg1702.c",
-		"tvp3020.c",
-		"tvp3026clock.c",
-		"virge.c",
-		"vmware.c",
-		"clgd542x.c",
-		"data.c",
-		"icd2061a.c",
-		"palette.c",
-		"rgb524mn.c",
-		"s3generic.c",
-		"t2r4.c",
-		"tvp3025.c",
-		"vesa.c",
-		"vision864.c",
-		"clgd546x.c",
-		"db.c",
-		"ics2494.c",
-		"pci.c",
-		"s3801.c",
-		"s3hwgc.c",
-		"template.c",
-		"tvp3025clock.c",
-		"vesadb.c",
-		"vision964.c"
-	]
+	"vga": {
+		"Include": [
+			"../../cmd.json"
+		],
+		"Install": "/$ARCH/bin/aux",
+		"Program": "vga",
+		"SourceFiles": [
+			"error.c",
+			"ics534x.c",
+			"radeon.c",
+			"s3928.c",
+			"sc15025.c",
+			"trio64.c",
+			"tvp3026.c",
+			"vga.c",
+			"vision968.c",
+			"ch9294.c",
+			"io.c",
+			"main.c",
+			"nvidia.c",
+			"rgb524.c",
+			"s3clock.c",
+			"stg1702.c",
+			"tvp3020.c",
+			"tvp3026clock.c",
+			"virge.c",
+			"vmware.c",
+			"clgd542x.c",
+			"data.c",
+			"icd2061a.c",
+			"palette.c",
+			"rgb524mn.c",
+			"s3generic.c",
+			"t2r4.c",
+			"tvp3025.c",
+			"vesa.c",
+			"vision864.c",
+			"clgd546x.c",
+			"db.c",
+			"ics2494.c",
+			"pci.c",
+			"s3801.c",
+			"s3hwgc.c",
+			"template.c",
+			"tvp3025clock.c",
+			"vesadb.c",
+			"vision964.c"
+		]
+	}
 }

+ 23 - 22
sys/src/cmd/bzip2/bzip2.json

@@ -1,24 +1,25 @@
 {
-	"Cflags": [
-		"-DPLAN9"
-	],
-	"Include": [
-		"../cmd.json"
-	],
-	"Libs": [
-		"lib/libbzip2.a"
-	],
-	"Name": "bzip2",
-	"Post": [
-		"mv bunzip2 $HARVEY/amd64/bin/",
-		"mv bzip2 $HARVEY/amd64/bin/",
-		"rm $HARVEY/sys/src/cmd/bzip2/lib/libbzip2.a"
-	],
-	"Projects": [
-		"lib/libbzip2.json"
-	],
-	"SourceFilesCmd": [
-		"bunzip2.c",
-		"bzip2.c"
-	]
+	"bzip2": {
+		"Cflags": [
+			"-DPLAN9"
+		],
+		"Include": [
+			"../cmd.json"
+		],
+		"Libs": [
+			"lib/libbzip2.a"
+		],
+		"Post": [
+			"mv bunzip2 $HARVEY/amd64/bin/",
+			"mv bzip2 $HARVEY/amd64/bin/",
+			"rm $HARVEY/sys/src/cmd/bzip2/lib/libbzip2.a"
+		],
+		"Projects": [
+			"lib/libbzip2.json"
+		],
+		"SourceFilesCmd": [
+			"bunzip2.c",
+			"bzip2.c"
+		]
+	}
 }

+ 27 - 26
sys/src/cmd/bzip2/lib/libbzip2.json

@@ -1,28 +1,29 @@
 {
-	"Cflags": [
-		"-DPLAN9"
-	],
-	"Include": [
-		"../../../lib.json"
-	],
-	"Install": "/sys/src/cmd/bzip2/lib/",
-	"Library": "libbzip2.a",
-	"Name": "libbzip2",
-	"SourceFiles": [
-		"blocksort.c",
-		"bzassert.c",
-		"bzcompress.c",
-		"bzdecompress.c",
-		"bzfeof.c",
-		"bzlib.c",
-		"bzread.c",
-		"bzversion.c",
-		"bzwrite.c",
-		"bzzlib.c",
-		"compress.c",
-		"crctable.c",
-		"decompress.c",
-		"huffman.c",
-		"randtable.c"
-	]
+	"libbzip2": {
+		"Cflags": [
+			"-DPLAN9"
+		],
+		"Include": [
+			"../../../lib.json"
+		],
+		"Install": "/sys/src/cmd/bzip2/lib/",
+		"Library": "libbzip2.a",
+		"SourceFiles": [
+			"blocksort.c",
+			"bzassert.c",
+			"bzcompress.c",
+			"bzdecompress.c",
+			"bzfeof.c",
+			"bzlib.c",
+			"bzread.c",
+			"bzversion.c",
+			"bzwrite.c",
+			"bzzlib.c",
+			"compress.c",
+			"crctable.c",
+			"decompress.c",
+			"huffman.c",
+			"randtable.c"
+		]
+	}
 }

+ 13 - 12
sys/src/cmd/cb/cb.json

@@ -1,14 +1,15 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Name": "cb",
-	"Post": [
-		"mv cb $HARVEY/amd64/bin/"
-	],
-	"Program": "cb",
-	"SourceFiles": [
-		"cb.c",
-		"cbtype.c"
-	]
+	"cb": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Post": [
+			"mv cb $HARVEY/amd64/bin/"
+		],
+		"Program": "cb",
+		"SourceFiles": [
+			"cb.c",
+			"cbtype.c"
+		]
+	}
 }

+ 15 - 14
sys/src/cmd/cdfs/cdfs.json

@@ -1,16 +1,17 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Name": "cdfs",
-	"Post": [
-		"mv cdfs $HARVEY/amd64/bin/"
-	],
-	"Program": "cdfs",
-	"SourceFiles": [
-		"buf.c",
-		"main.c",
-		"mmc.c",
-		"scsi.c"
-	]
+	"cdfs": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Post": [
+			"mv cdfs $HARVEY/amd64/bin/"
+		],
+		"Program": "cdfs",
+		"SourceFiles": [
+			"buf.c",
+			"main.c",
+			"mmc.c",
+			"scsi.c"
+		]
+	}
 }

+ 28 - 27
sys/src/cmd/cifs/cifs.json

@@ -1,29 +1,30 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Name": "cifs",
-	"Post": [
-		"mv cifs $HARVEY/amd64/bin/"
-	],
-	"Program": "cifs",
-	"SourceFiles": [
-		"main.c",
-		"transnt.c",
-		"trans2.c",
-		"trans.c",
-		"cifs.c",
-		"netbios.c",
-		"pack.c",
-		"info.c",
-		"fs.c",
-		"sid2name.c",
-		"misc.c",
-		"nterrstr.c",
-		"doserrstr.c",
-		"raperrstr.c",
-		"auth.c",
-		"dfs.c",
-		"ping.c"
-	]
+	"cifs": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Post": [
+			"mv cifs $HARVEY/amd64/bin/"
+		],
+		"Program": "cifs",
+		"SourceFiles": [
+			"main.c",
+			"transnt.c",
+			"trans2.c",
+			"trans.c",
+			"cifs.c",
+			"netbios.c",
+			"pack.c",
+			"info.c",
+			"fs.c",
+			"sid2name.c",
+			"misc.c",
+			"nterrstr.c",
+			"doserrstr.c",
+			"raperrstr.c",
+			"auth.c",
+			"dfs.c",
+			"ping.c"
+		]
+	}
 }

+ 48 - 47
sys/src/cmd/cmd.json

@@ -1,49 +1,50 @@
 {
-	"Include": [
-		"/$ARCH/include/cflags.json"
-	],
-	"Name": "Cmd",
-	"Oflags": [
-		"-static",
-		"-e_main",
-		"-lavl",
-		"-lcomplete",
-		"-lcontrol",
-		"-ldisk",
-		"-lflate",
-		"-lframe",
-		"-lgeometry",
-		"-lhttpd",
-		"-lbin",
-		"-llex",
-		"-lmemdraw",
-		"-lmemlayer",
-		"-lmemdraw",
-		"-ldraw",
-		"-lplumb",
-		"-lregexp",
-		"-lstdio",
-		"-lString",
-		"-lsunrpc",
-		"-loventi",
-		"-l9p",
-		"-lauth",
-		"-lauthsrv",
-		"-lndb",
-		"-lip",
-		"-lventi",
-		"-lsec",
-		"-lauth",
-		"-lmp",
-		"-lthread",
-		"-lmach",
-		"-lbio",
-		"-lc"
-	],
-	"Post": [
-		"rm *.o"
-	],
-	"Pre": [
-		"rm -f *.tag.*"
-	]
+	"Cmd": {
+		"Include": [
+			"/$ARCH/include/cflags.json"
+		],
+		"Oflags": [
+			"-static",
+			"-e_main",
+			"-lavl",
+			"-lcomplete",
+			"-lcontrol",
+			"-ldisk",
+			"-lflate",
+			"-lframe",
+			"-lgeometry",
+			"-lhttpd",
+			"-lbin",
+			"-llex",
+			"-lmemdraw",
+			"-lmemlayer",
+			"-lmemdraw",
+			"-ldraw",
+			"-lplumb",
+			"-lregexp",
+			"-lstdio",
+			"-lString",
+			"-lsunrpc",
+			"-loventi",
+			"-l9p",
+			"-lauth",
+			"-lauthsrv",
+			"-lndb",
+			"-lip",
+			"-lventi",
+			"-lsec",
+			"-lauth",
+			"-lmp",
+			"-lthread",
+			"-lmach",
+			"-lbio",
+			"-lc"
+		],
+		"Post": [
+			"rm *.o"
+		],
+		"Pre": [
+			"rm -f *.tag.*"
+		]
+	}
 }

+ 150 - 153
sys/src/cmd/cmds.json

@@ -1,155 +1,152 @@
 {
-	"Include": [
-		"cmd.json"
-	],
-	"Install": "/$ARCH/bin/",
-	"Name": "Cmds",
-	"Projects": [
-		"9660srv/9660srv.json",
-		"9nfs/9nfs.json",
-		"astro/astro.json",
-		"auth/auth.json",
-		"aux/aux.json",
-		"bzip2/bzip2.json",
-		"cb/cb.json",
-		"cdfs/cdfs.json",
-		"cifs/cifs.json",
-		"con/con.json",
-		"dial/dial.json",
-		"diff/diff.json",
-		"disk/disk.json",
-		"dossrv/dossrv.json",
-		"fossil/fossil.json",
-		"iostats/build.json",
-		"ip/ip.json",
-		"hoc/hoc.json",
-		"grep/grep.json",
-		"ndb/ndb.json",
-		"rio/rio.json",
-		"syscall/syscall.json",
-		"venti/venti.json"
-	],
-	"SourceFilesCmd": [
-		"aan.c",
-		"archfs.c",
-		"ascii.c",
-		"awd.c",
-		"basename.c",
-		"bsplit.c",
-		"cal.c",
-		"calendar.c",
-		"calls.c",
-		"cat.c",
-		"chgrp.c",
-		"chmod.c",
-		"cleanname.c",
-		"clock.c",
-		"cmp.c",
-		"col.c",
-		"colors.c",
-		"comm.c",
-		"cp.c",
-		"cpu.c",
-		"crop.c",
-		"dc.c",
-		"dd.c",
-		"deroff.c",
-		"du.c",
-		"ecp.c",
-		"ed.c",
-		"factor.c",
-		"fcp.c",
-		"field.c",
-		"file.c",
-		"fmt.c",
-		"fortune.c",
-		"freq.c",
-		"getmap.c",
-		"gview.c",
-		"hget.c",
-		"histogram.c",
-		"history.c",
-		"html2ms.c",
-		"iconv.c",
-		"idiff.c",
-		"import.c",
-		"init.c",
-		"join.c",
-		"kbmap.c",
-		"kprof.c",
-		"ktrace.c",
-		"lens.c",
-		"lnfs.c",
-		"lock.c",
-		"look.c",
-		"mc.c",
-		"md5sum.c",
-		"mkdir.c",
-		"mntgen.c",
-		"ms2html.c",
-		"mtime.c",
-		"mug.c",
-		"mv.c",
-		"netstat.c",
-		"news.c",
-		"nfs.c",
-		"nm.c",
-		"nntpfs.c",
-		"ns.c",
-		"pbd.c",
-		"p.c",
-		"pcc.c",
-		"pipefile.c",
-		"pr.c",
-		"primes.c",
-		"prof.c",
-		"ps.c",
-		"pump.c",
-		"pwd.c",
-		"ramfs.c",
-		"ratrace.c",
-		"rdbfs.c",
-		"read.c",
-		"resample.c",
-		"rm.c",
-		"rx.c",
-		"screenlock.c",
-		"seconds.c",
-		"sed.c",
-		"seq.c",
-		"sha1sum.c",
-		"size.c",
-		"sleep.c",
-		"sort.c",
-		"split.c",
-		"srvfs.c",
-		"stats.c",
-		"strings.c",
-		"strip.c",
-		"sum.c",
-		"swap.c",
-		"tail.c",
-		"tar.c",
-		"tee.c",
-		"testalarm.c",
-		"test.c",
-		"time.c",
-		"tlsclient.c",
-		"tlssrv.c",
-		"touch.c",
-		"tprof.c",
-		"trace.c",
-		"tr.c",
-		"tweak.c",
-		"unicode.c",
-		"uniq.c",
-		"unlnfs.c",
-		"unmount.c",
-		"wc.c",
-		"webcookies.c",
-		"webfsget.c",
-		"winwatch.c",
-		"xd.c",
-		"yacc.c"
-	]
+	"Cmds": {
+		"Include": [
+			"cmd.json"
+		],
+		"Install": "/$ARCH/bin/",
+		"Projects": [
+			"9660srv/9660srv.json",
+			"9nfs/9nfs.json",
+			"astro/astro.json",
+			"auth/auth.json",
+			"aux/aux.json",
+			"bzip2/bzip2.json",
+			"cb/cb.json",
+			"cdfs/cdfs.json",
+			"cifs/cifs.json",
+			"con/con.json",
+			"dial/dial.json",
+			"diff/diff.json",
+			"disk/disk.json",
+			"dossrv/dossrv.json",
+			"exportfs/exportfs.json",
+			"fossil/fossil.json",
+			"iostats/build.json",
+			"ip/ip.json",
+			"hoc/hoc.json",
+			"grep/grep.json",
+			"ndb/ndb.json",
+			"rio/rio.json",
+			"syscall/syscall.json",
+			"venti/venti.json"
+		],
+		"SourceFilesCmd": [
+			"aan.c",
+			"archfs.c",
+			"ascii.c",
+			"awd.c",
+			"basename.c",
+			"bsplit.c",
+			"cal.c",
+			"calendar.c",
+			"calls.c",
+			"cat.c",
+			"chgrp.c",
+			"chmod.c",
+			"cleanname.c",
+			"clock.c",
+			"cmp.c",
+			"col.c",
+			"colors.c",
+			"comm.c",
+			"cp.c",
+			"cpu.c",
+			"crop.c",
+			"dc.c",
+			"dd.c",
+			"deroff.c",
+			"du.c",
+			"ecp.c",
+			"ed.c",
+			"factor.c",
+			"fcp.c",
+			"field.c",
+			"file.c",
+			"fmt.c",
+			"fortune.c",
+			"freq.c",
+			"getmap.c",
+			"gview.c",
+			"hget.c",
+			"histogram.c",
+			"history.c",
+			"html2ms.c",
+			"iconv.c",
+			"idiff.c",
+			"import.c",
+			"init.c",
+			"join.c",
+			"kbmap.c",
+			"ktrace.c",
+			"lens.c",
+			"lnfs.c",
+			"lock.c",
+			"look.c",
+			"mc.c",
+			"md5sum.c",
+			"mkdir.c",
+			"mntgen.c",
+			"ms2html.c",
+			"mtime.c",
+			"mug.c",
+			"mv.c",
+			"netstat.c",
+			"news.c",
+			"nfs.c",
+			"nm.c",
+			"nntpfs.c",
+			"ns.c",
+			"pbd.c",
+			"p.c",
+			"pipefile.c",
+			"pr.c",
+			"primes.c",
+			"ps.c",
+			"pump.c",
+			"pwd.c",
+			"ramfs.c",
+			"ratrace.c",
+			"read.c",
+			"resample.c",
+			"rm.c",
+			"rx.c",
+			"screenlock.c",
+			"seconds.c",
+			"sed.c",
+			"seq.c",
+			"sha1sum.c",
+			"size.c",
+			"sleep.c",
+			"sort.c",
+			"split.c",
+			"srvfs.c",
+			"stats.c",
+			"strings.c",
+			"strip.c",
+			"sum.c",
+			"swap.c",
+			"tail.c",
+			"tar.c",
+			"tee.c",
+			"testalarm.c",
+			"test.c",
+			"time.c",
+			"tlsclient.c",
+			"tlssrv.c",
+			"touch.c",
+			"trace.c",
+			"tr.c",
+			"tweak.c",
+			"unicode.c",
+			"uniq.c",
+			"unlnfs.c",
+			"unmount.c",
+			"wc.c",
+			"webcookies.c",
+			"webfsget.c",
+			"winwatch.c",
+			"xd.c",
+			"yacc.c"
+		]
+	}
 }

+ 17 - 16
sys/src/cmd/con/con.json

@@ -1,18 +1,19 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Name": "con",
-	"Post": [
-		"mv con $HARVEY/amd64/bin/",
-		"mv xms $HARVEY/amd64/bin/",
-		"mv xmr $HARVEY/amd64/bin/",
-		"mv hayes $HARVEY/amd64/bin/"
-	],
-	"SourceFilesCmd": [
-		"con.c",
-		"xms.c",
-		"xmr.c",
-		"hayes.c"
-	]
+	"con": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Post": [
+			"mv con $HARVEY/amd64/bin/",
+			"mv xms $HARVEY/amd64/bin/",
+			"mv xmr $HARVEY/amd64/bin/",
+			"mv hayes $HARVEY/amd64/bin/"
+		],
+		"SourceFilesCmd": [
+			"con.c",
+			"xms.c",
+			"xmr.c",
+			"hayes.c"
+		]
+	}
 }

+ 17 - 16
sys/src/cmd/dial/dial.json

@@ -1,18 +1,19 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Name": "dial",
-	"Post": [
-		"mv at $HARVEY/amd64/bin/",
-		"mv drain $HARVEY/amd64/bin/",
-		"mv expect $HARVEY/amd64/bin/",
-		"mv pass $HARVEY/amd64/bin/"
-	],
-	"SourceFilesCmd": [
-		"at.c",
-		"drain.c",
-		"expect.c",
-		"pass.c"
-	]
+	"dial": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Post": [
+			"mv at $HARVEY/amd64/bin/",
+			"mv drain $HARVEY/amd64/bin/",
+			"mv expect $HARVEY/amd64/bin/",
+			"mv pass $HARVEY/amd64/bin/"
+		],
+		"SourceFilesCmd": [
+			"at.c",
+			"drain.c",
+			"expect.c",
+			"pass.c"
+		]
+	}
 }

+ 15 - 14
sys/src/cmd/diff/diff.json

@@ -1,16 +1,17 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Name": "diff",
-	"Post": [
-		"mv diff $HARVEY/amd64/bin/"
-	],
-	"Program": "diff",
-	"SourceFiles": [
-		"diffdir.c",
-		"diffio.c",
-		"diffreg.c",
-		"main.c"
-	]
+	"diff": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Post": [
+			"mv diff $HARVEY/amd64/bin/"
+		],
+		"Program": "diff",
+		"SourceFiles": [
+			"diffdir.c",
+			"diffio.c",
+			"diffreg.c",
+			"main.c"
+		]
+	}
 }

+ 26 - 25
sys/src/cmd/disk/9660/9660.json

@@ -1,27 +1,28 @@
 {
-	"Include": [
-		"../../cmd.json"
-	],
-	"Name": "dump9660",
-	"Post": [
-		"mv dump9660 $HARVEY/amd64/bin/",
-		"cp mk9660.rc $HARVEY/amd64/bin/mk9660"
-	],
-	"Program": "dump9660",
-	"SourceFiles": [
-		"boot.c",
-		"cdrdwr.c",
-		"conform.c",
-		"direc.c",
-		"dump.c",
-		"dump9660.c",
-		"ichar.c",
-		"jchar.c",
-		"path.c",
-		"plan9.c",
-		"rune.c",
-		"sysuse.c",
-		"util.c",
-		"write.c"
-	]
+	"dump9660": {
+		"Include": [
+			"../../cmd.json"
+		],
+		"Post": [
+			"mv dump9660 $HARVEY/amd64/bin/",
+			"cp mk9660.rc $HARVEY/amd64/bin/mk9660"
+		],
+		"Program": "dump9660",
+		"SourceFiles": [
+			"boot.c",
+			"cdrdwr.c",
+			"conform.c",
+			"direc.c",
+			"dump.c",
+			"dump9660.c",
+			"ichar.c",
+			"jchar.c",
+			"path.c",
+			"plan9.c",
+			"rune.c",
+			"sysuse.c",
+			"util.c",
+			"write.c"
+		]
+	}
 }

+ 20 - 19
sys/src/cmd/disk/disk.json

@@ -1,21 +1,22 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Install": "/$ARCH/bin/disk",
-	"Name": "disk",
-	"Projects": [
-		"9660/9660.json",
-		"prep/fdisk.json",
-		"prep/prep.json"
-	],
-	"SourceFilesCmd": [
-		"exsort.c",
-		"format.c",
-		"mbr.c",
-		"mkext.c",
-		"mkfs.c",
-		"partfs.c",
-		"kfscmd.c"
-	]
+	"disk": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Install": "/$ARCH/bin/disk",
+		"Projects": [
+			"9660/9660.json",
+			"prep/fdisk.json",
+			"prep/prep.json"
+		],
+		"SourceFilesCmd": [
+			"exsort.c",
+			"format.c",
+			"mbr.c",
+			"mkext.c",
+			"mkfs.c",
+			"partfs.c",
+			"kfscmd.c"
+		]
+	}
 }

+ 28 - 27
sys/src/cmd/disk/kfs/kfs.json

@@ -1,29 +1,30 @@
 {
-	"Include": [
-		"../../cmd.json"
-	],
-	"Install": "/$ARCH/bin/disk",
-	"Name": "kfs",
-	"Program": "kfs",
-	"SourceFiles": [
-		"9p1.c",
-		"9p1lib.c",
-		"9p2.c",
-		"9p12.c",
-		"auth.c",
-		"chk.c",
-		"con.c",
-		"console.c",
-		"dat.c",
-		"dentry.c",
-		"ialloc.c",
-		"iobuf.c",
-		"main.c",
-		"misc.c",
-		"porttime.c",
-		"sub.c",
-		"uid.c",
-		"ofcallfmt.c",
-		"devwren.c"
-	]
+	"kfs": {
+		"Include": [
+			"../../cmd.json"
+		],
+		"Install": "/$ARCH/bin/disk",
+		"Program": "kfs",
+		"SourceFiles": [
+			"9p1.c",
+			"9p1lib.c",
+			"9p2.c",
+			"9p12.c",
+			"auth.c",
+			"chk.c",
+			"con.c",
+			"console.c",
+			"dat.c",
+			"dentry.c",
+			"ialloc.c",
+			"iobuf.c",
+			"main.c",
+			"misc.c",
+			"porttime.c",
+			"sub.c",
+			"uid.c",
+			"ofcallfmt.c",
+			"devwren.c"
+		]
+	}
 }

+ 18 - 17
sys/src/cmd/disk/prep/fdisk.json

@@ -1,19 +1,20 @@
 {
-	"Include": [
-		"../../cmd.json"
-	],
-	"Install": "/$ARCH/bin/disk",
-	"Name": "fdisk",
-	"Post": [
-		"rm y.tab.[ch]"
-	],
-	"Pre": [
-		"yacc -d calc.y"
-	],
-	"Program": "fdisk",
-	"SourceFiles": [
-		"fdisk.c",
-		"edit.c",
-		"y.tab.c"
-	]
+	"fdisk": {
+		"Include": [
+			"../../cmd.json"
+		],
+		"Install": "/$ARCH/bin/disk",
+		"Post": [
+			"rm y.tab.[ch]"
+		],
+		"Pre": [
+			"yacc -d calc.y"
+		],
+		"Program": "fdisk",
+		"SourceFiles": [
+			"fdisk.c",
+			"edit.c",
+			"y.tab.c"
+		]
+	}
 }

+ 18 - 17
sys/src/cmd/disk/prep/prep.json

@@ -1,19 +1,20 @@
 {
-	"Include": [
-		"../../cmd.json"
-	],
-	"Install": "/$ARCH/bin/disk",
-	"Name": "prep",
-	"Post": [
-		"rm -f y.tab.[ch]"
-	],
-	"Pre": [
-		"yacc -d calc.y"
-	],
-	"Program": "prep",
-	"SourceFiles": [
-		"prep.c",
-		"edit.c",
-		"y.tab.c"
-	]
+	"prep": {
+		"Include": [
+			"../../cmd.json"
+		],
+		"Install": "/$ARCH/bin/disk",
+		"Post": [
+			"rm -f y.tab.[ch]"
+		],
+		"Pre": [
+			"yacc -d calc.y"
+		],
+		"Program": "prep",
+		"SourceFiles": [
+			"prep.c",
+			"edit.c",
+			"y.tab.c"
+		]
+	}
 }

+ 19 - 18
sys/src/cmd/dossrv/dossrv.json

@@ -1,20 +1,21 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Name": "dossrv",
-	"Post": [
-		"mv dossrv $HARVEY/amd64/bin/"
-	],
-	"Program": "dossrv",
-	"SourceFiles": [
-		"xfssrv.c",
-		"xfile.c",
-		"dosfs.c",
-		"dossubs.c",
-		"iotrack.c",
-		"lock.c",
-		"chat.c",
-		"devio.c"
-	]
+	"dossrv": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Post": [
+			"mv dossrv $HARVEY/amd64/bin/"
+		],
+		"Program": "dossrv",
+		"SourceFiles": [
+			"xfssrv.c",
+			"xfile.c",
+			"dosfs.c",
+			"dossubs.c",
+			"iotrack.c",
+			"lock.c",
+			"chat.c",
+			"devio.c"
+		]
+	}
 }

+ 16 - 0
sys/src/cmd/exportfs/exportfs.json

@@ -0,0 +1,16 @@
+{
+	"exportfs": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Post": [
+			"mv exportfs $HARVEY/amd64/bin/"
+		],
+		"Program": "exportfs",
+		"SourceFiles": [
+			"exportfs.c",
+			"exportsrv.c",
+			"pattern.c"
+		]
+	}
+}

+ 37 - 36
sys/src/cmd/fossil/flchk.json

@@ -1,38 +1,39 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Install": "/$ARCH/bin/fossil/",
-	"Name": "flchk",
-	"Program": "flchk",
-	"SourceFiles": [
-		"9p.c",
-		"9auth.c",
-		"9dir.c",
-		"9excl.c",
-		"9fid.c",
-		"9fsys.c",
-		"9lstn.c",
-		"9proc.c",
-		"9srv.c",
-		"9user.c",
-		"Ccmd.c",
-		"Ccli.c",
-		"Ccons.c",
-		"Clog.c",
-		"archive.c",
-		"nobwatch.c",
-		"cache.c",
-		"check.c",
-		"disk.c",
-		"error.c",
-		"file.c",
-		"flchk.c",
-		"fs.c",
-		"pack.c",
-		"periodic.c",
-		"source.c",
-		"vac.c",
-		"walk.c"
-	]
+	"flchk": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Install": "/$ARCH/bin/fossil/",
+		"Program": "flchk",
+		"SourceFiles": [
+			"9p.c",
+			"9auth.c",
+			"9dir.c",
+			"9excl.c",
+			"9fid.c",
+			"9fsys.c",
+			"9lstn.c",
+			"9proc.c",
+			"9srv.c",
+			"9user.c",
+			"Ccmd.c",
+			"Ccli.c",
+			"Ccons.c",
+			"Clog.c",
+			"archive.c",
+			"nobwatch.c",
+			"cache.c",
+			"check.c",
+			"disk.c",
+			"error.c",
+			"file.c",
+			"flchk.c",
+			"fs.c",
+			"pack.c",
+			"periodic.c",
+			"source.c",
+			"vac.c",
+			"walk.c"
+		]
+	}
 }

+ 38 - 37
sys/src/cmd/fossil/flfmt.json

@@ -1,39 +1,40 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Install": "/$ARCH/bin/fossil/",
-	"Name": "flfmt",
-	"Program": "flfmt",
-	"SourceFiles": [
-		"9p.c",
-		"9auth.c",
-		"9dir.c",
-		"9excl.c",
-		"9fid.c",
-		"9fsys.c",
-		"9lstn.c",
-		"9proc.c",
-		"9srv.c",
-		"9user.c",
-		"Ccmd.c",
-		"Ccli.c",
-		"Ccons.c",
-		"Clog.c",
-		"archive.c",
-		"nobwatch.c",
-		"cache.c",
-		"check.c",
-		"disk.c",
-		"error.c",
-		"file.c",
-		"flfmt9660.c",
-		"flfmt.c",
-		"fs.c",
-		"pack.c",
-		"periodic.c",
-		"source.c",
-		"vac.c",
-		"walk.c"
-	]
+	"flfmt": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Install": "/$ARCH/bin/fossil/",
+		"Program": "flfmt",
+		"SourceFiles": [
+			"9p.c",
+			"9auth.c",
+			"9dir.c",
+			"9excl.c",
+			"9fid.c",
+			"9fsys.c",
+			"9lstn.c",
+			"9proc.c",
+			"9srv.c",
+			"9user.c",
+			"Ccmd.c",
+			"Ccli.c",
+			"Ccons.c",
+			"Clog.c",
+			"archive.c",
+			"nobwatch.c",
+			"cache.c",
+			"check.c",
+			"disk.c",
+			"error.c",
+			"file.c",
+			"flfmt9660.c",
+			"flfmt.c",
+			"fs.c",
+			"pack.c",
+			"periodic.c",
+			"source.c",
+			"vac.c",
+			"walk.c"
+		]
+	}
 }

+ 53 - 52
sys/src/cmd/fossil/fossil.json

@@ -1,54 +1,55 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Install": "/$ARCH/bin/fossil/",
-	"Name": "fossil",
-	"Post": [
-		"chmod +x conf",
-		"mv conf $HARVEY/amd64/bin/fossil/"
-	],
-	"Pre": [
-		"echo '#!/bin/rc' \u003e\u003e conf",
-		"echo '# THIS FILE IS AUTOMATICALLY GENERATED' \u003e\u003e conf",
-		"echo '# FROM /sys/src/cmd/fossil/conf.rc.  DO NOT EDIT.' \u003e\u003e conf",
-		"echo \u003e\u003e conf",
-		"sed 1d conf.rc \u003e\u003e conf"
-	],
-	"Program": "fossil",
-	"Projects": [
-		"flchk.json",
-		"flfmt.json",
-		"last.json"
-	],
-	"SourceFiles": [
-		"9p.c",
-		"9auth.c",
-		"9dir.c",
-		"9excl.c",
-		"9fid.c",
-		"9fsys.c",
-		"9lstn.c",
-		"9proc.c",
-		"9srv.c",
-		"9user.c",
-		"Ccmd.c",
-		"Ccli.c",
-		"Ccons.c",
-		"Clog.c",
-		"archive.c",
-		"nobwatch.c",
-		"cache.c",
-		"check.c",
-		"disk.c",
-		"error.c",
-		"file.c",
-		"fossil.c",
-		"fs.c",
-		"pack.c",
-		"periodic.c",
-		"source.c",
-		"vac.c",
-		"walk.c"
-	]
+	"fossil": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Install": "/$ARCH/bin/fossil/",
+		"Post": [
+			"chmod +x conf",
+			"mv conf $HARVEY/amd64/bin/fossil/"
+		],
+		"Pre": [
+			"echo '#!/bin/rc' \u003e\u003e conf",
+			"echo '# THIS FILE IS AUTOMATICALLY GENERATED' \u003e\u003e conf",
+			"echo '# FROM /sys/src/cmd/fossil/conf.rc.  DO NOT EDIT.' \u003e\u003e conf",
+			"echo \u003e\u003e conf",
+			"sed 1d conf.rc \u003e\u003e conf"
+		],
+		"Program": "fossil",
+		"Projects": [
+			"flchk.json",
+			"flfmt.json",
+			"last.json"
+		],
+		"SourceFiles": [
+			"9p.c",
+			"9auth.c",
+			"9dir.c",
+			"9excl.c",
+			"9fid.c",
+			"9fsys.c",
+			"9lstn.c",
+			"9proc.c",
+			"9srv.c",
+			"9user.c",
+			"Ccmd.c",
+			"Ccli.c",
+			"Ccons.c",
+			"Clog.c",
+			"archive.c",
+			"nobwatch.c",
+			"cache.c",
+			"check.c",
+			"disk.c",
+			"error.c",
+			"file.c",
+			"fossil.c",
+			"fs.c",
+			"pack.c",
+			"periodic.c",
+			"source.c",
+			"vac.c",
+			"walk.c"
+		]
+	}
 }

+ 37 - 36
sys/src/cmd/fossil/last.json

@@ -1,38 +1,39 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Install": "/$ARCH/bin/fossil/",
-	"Name": "last",
-	"Program": "last",
-	"SourceFiles": [
-		"9p.c",
-		"9auth.c",
-		"9dir.c",
-		"9excl.c",
-		"9fid.c",
-		"9fsys.c",
-		"9lstn.c",
-		"9proc.c",
-		"9srv.c",
-		"9user.c",
-		"Ccmd.c",
-		"Ccli.c",
-		"Ccons.c",
-		"Clog.c",
-		"archive.c",
-		"nobwatch.c",
-		"cache.c",
-		"check.c",
-		"disk.c",
-		"error.c",
-		"file.c",
-		"last.c",
-		"fs.c",
-		"pack.c",
-		"periodic.c",
-		"source.c",
-		"vac.c",
-		"walk.c"
-	]
+	"last": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Install": "/$ARCH/bin/fossil/",
+		"Program": "last",
+		"SourceFiles": [
+			"9p.c",
+			"9auth.c",
+			"9dir.c",
+			"9excl.c",
+			"9fid.c",
+			"9fsys.c",
+			"9lstn.c",
+			"9proc.c",
+			"9srv.c",
+			"9user.c",
+			"Ccmd.c",
+			"Ccli.c",
+			"Ccons.c",
+			"Clog.c",
+			"archive.c",
+			"nobwatch.c",
+			"cache.c",
+			"check.c",
+			"disk.c",
+			"error.c",
+			"file.c",
+			"last.c",
+			"fs.c",
+			"pack.c",
+			"periodic.c",
+			"source.c",
+			"vac.c",
+			"walk.c"
+		]
+	}
 }

+ 19 - 18
sys/src/cmd/grep/grep.json

@@ -1,20 +1,21 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Install": "/$ARCH/bin/",
-	"Name": "grep",
-	"Post": [
-		"rm y.tab*"
-	],
-	"Pre": [
-		"yacc -d grep.y"
-	],
-	"Program": "grep",
-	"SourceFiles": [
-		"comp.c",
-		"main.c",
-		"sub.c",
-		"y.tab.c"
-	]
+	"grep": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Install": "/$ARCH/bin/",
+		"Post": [
+			"rm y.tab*"
+		],
+		"Pre": [
+			"yacc -d grep.y"
+		],
+		"Program": "grep",
+		"SourceFiles": [
+			"comp.c",
+			"main.c",
+			"sub.c",
+			"y.tab.c"
+		]
+	}
 }

+ 20 - 19
sys/src/cmd/hoc/hoc.json

@@ -1,21 +1,22 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Install": "/$ARCH/bin",
-	"Name": "hoc",
-	"Post": [
-		"rm -f $HARVEY/sys/src/cmd/hoc/y.tab.[ch]"
-	],
-	"Pre": [
-		"yacc -d hoc.y"
-	],
-	"Program": "hoc",
-	"SourceFiles": [
-		"code.c",
-		"init.c",
-		"math.c",
-		"symbol.c",
-		"y.tab.c"
-	]
+	"hoc": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Install": "/$ARCH/bin",
+		"Post": [
+			"rm -f $HARVEY/sys/src/cmd/hoc/y.tab.[ch]"
+		],
+		"Pre": [
+			"yacc -d hoc.y"
+		],
+		"Program": "hoc",
+		"SourceFiles": [
+			"code.c",
+			"init.c",
+			"math.c",
+			"symbol.c",
+			"y.tab.c"
+		]
+	}
 }

+ 11 - 10
sys/src/cmd/iostats/build.json

@@ -1,12 +1,13 @@
 {
-	"Include": [
-		"/sys/src/cmd/cmd.json"
-	],
-	"Install": "/$ARCH/bin/",
-	"Name": "iostats",
-	"Program": "iostats",
-	"SourceFiles": [
-	    "iostats.c",
-	    "statsrv.c"
-    	]
+	"iostats": {
+		"Include": [
+			"/sys/src/cmd/cmd.json"
+		],
+		"Install": "/$ARCH/bin/",
+		"Program": "iostats",
+		"SourceFiles": [
+			"iostats.c",
+			"statsrv.c"
+		]
+	}
 }

+ 13 - 12
sys/src/cmd/ip/dhcpd/dhcpd.json

@@ -1,14 +1,15 @@
 {
-	"Include": [
-		"/sys/src/cmd/cmd.json"
-	],
-	"Install": "/$ARCH/bin/ip",
-	"Name": "dhcpd",
-	"Program": "dhcpd",
-	"SourceFiles": [
-		"dhcpd.c",
-		"db.c",
-		"ndb.c",
-		"ping.c"
-	]
+	"dhcpd": {
+		"Include": [
+			"/sys/src/cmd/cmd.json"
+		],
+		"Install": "/$ARCH/bin/ip",
+		"Program": "dhcpd",
+		"SourceFiles": [
+			"dhcpd.c",
+			"db.c",
+			"ndb.c",
+			"ping.c"
+		]
+	}
 }

+ 12 - 11
sys/src/cmd/ip/dhcpd/dhcpleases.json

@@ -1,13 +1,14 @@
 {
-	"Include": [
-		"/sys/src/cmd/cmd.json"
-	],
-	"Install": "/$ARCH/bin/ip",
-	"Name": "dhcpleases",
-	"Program": "dhcpleases",
-	"SourceFiles": [
-		"dhcpleases.c",
-		"db.c",
-		"ping.c"
-	]
+	"dhcpleases": {
+		"Include": [
+			"/sys/src/cmd/cmd.json"
+		],
+		"Install": "/$ARCH/bin/ip",
+		"Program": "dhcpleases",
+		"SourceFiles": [
+			"dhcpleases.c",
+			"db.c",
+			"ping.c"
+		]
+	}
 }

+ 11 - 10
sys/src/cmd/ip/ftpd.json

@@ -1,12 +1,13 @@
 {
-	"Include": [
-		"/sys/src/cmd/cmd.json"
-	],
-	"Install": "/$ARCH/bin/ip",
-	"Name": "ftpd",
-	"Program": "ftpd",
-	"SourceFiles": [
-		"ftpd.c",
-		"glob.c"
-	]
+	"ftpd": {
+		"Include": [
+			"/sys/src/cmd/cmd.json"
+		],
+		"Install": "/$ARCH/bin/ip",
+		"Program": "ftpd",
+		"SourceFiles": [
+			"ftpd.c",
+			"glob.c"
+		]
+	}
 }

+ 12 - 11
sys/src/cmd/ip/ftpfs/ftpfs.json

@@ -1,13 +1,14 @@
 {
-	"Include": [
-		"/sys/src/cmd/cmd.json"
-	],
-	"Install": "/$ARCH/bin/ip",
-	"Name": "ftpfs",
-	"Program": "ftpfs",
-	"SourceFiles": [
-		"ftpfs.c",
-		"proto.c",
-		"file.c"
-	]
+	"ftpfs": {
+		"Include": [
+			"/sys/src/cmd/cmd.json"
+		],
+		"Install": "/$ARCH/bin/ip",
+		"Program": "ftpfs",
+		"SourceFiles": [
+			"ftpfs.c",
+			"proto.c",
+			"file.c"
+		]
+	}
 }

+ 22 - 21
sys/src/cmd/ip/httpd/httpd.json

@@ -1,23 +1,24 @@
 {
-	"Include": [
-		"/sys/src/cmd/cmd.json"
-	],
-	"Install": "/$ARCH/bin/ip",
-	"Name": "httpdcmds",
-	"Oflags": [
-		"libhttps.a"
-	],
-	"Projects": [
-		"libhttps.json"
-	],
-	"SourceFilesCmd": [
-		"httpd.c",
-		"imagemap.c",
-		"man2html.c",
-		"save.c",
-		"netlib_find.c",
-		"netlib_history.c",
-		"webls.c",
-		"wikipost.c"
-	]
+	"httpdcmds": {
+		"Include": [
+			"/sys/src/cmd/cmd.json"
+		],
+		"Install": "/$ARCH/bin/ip",
+		"Oflags": [
+			"libhttps.a"
+		],
+		"Projects": [
+			"libhttps.json"
+		],
+		"SourceFilesCmd": [
+			"httpd.c",
+			"imagemap.c",
+			"man2html.c",
+			"save.c",
+			"netlib_find.c",
+			"netlib_history.c",
+			"webls.c",
+			"wikipost.c"
+		]
+	}
 }

+ 18 - 17
sys/src/cmd/ip/httpd/libhttps.json

@@ -1,19 +1,20 @@
 {
-	"Include": [
-		"../../../lib.json"
-	],
-	"Install": "/sys/src/cmd/ip/httpd/",
-	"Library": "libhttps.a",
-	"Name": "libhttps",
-	"SourceFiles": [
-		"anonymous.c",
-		"content.c",
-		"emem.c",
-		"hints.c",
-		"init.c",
-		"log.c",
-		"redirect.c",
-		"sendfd.c",
-		"authorize.c"
-	]
+	"libhttps": {
+		"Include": [
+			"../../../lib.json"
+		],
+		"Install": "/sys/src/cmd/ip/httpd/",
+		"Library": "libhttps.a",
+		"SourceFiles": [
+			"anonymous.c",
+			"content.c",
+			"emem.c",
+			"hints.c",
+			"init.c",
+			"log.c",
+			"redirect.c",
+			"sendfd.c",
+			"authorize.c"
+		]
+	}
 }

+ 25 - 24
sys/src/cmd/ip/imap4d/imap4d.json

@@ -1,26 +1,27 @@
 {
-	"Include": [
-		"/sys/src/cmd/cmd.json"
-	],
-	"Install": "/$ARCH/bin/ip",
-	"Name": "imap4d",
-	"Program": "imap4d",
-	"SourceFiles": [
-		"auth.c",
-		"copy.c",
-		"csquery.c",
-		"date.c",
-		"fetch.c",
-		"imap4d.c",
-		"list.c",
-		"mbox.c",
-		"msg.c",
-		"mutf7.c",
-		"nodes.c",
-		"folder.c",
-		"search.c",
-		"store.c",
-		"utils.c",
-		"debug.c"
-	]
+	"imap4d": {
+		"Include": [
+			"/sys/src/cmd/cmd.json"
+		],
+		"Install": "/$ARCH/bin/ip",
+		"Program": "imap4d",
+		"SourceFiles": [
+			"auth.c",
+			"copy.c",
+			"csquery.c",
+			"date.c",
+			"fetch.c",
+			"imap4d.c",
+			"list.c",
+			"mbox.c",
+			"msg.c",
+			"mutf7.c",
+			"nodes.c",
+			"folder.c",
+			"search.c",
+			"store.c",
+			"utils.c",
+			"debug.c"
+		]
+	}
 }

+ 37 - 36
sys/src/cmd/ip/ip.json

@@ -1,38 +1,39 @@
 {
-	"Include": [
-		"/sys/src/cmd/cmd.json"
-	],
-	"Install": "/$ARCH/bin/ip",
-	"Name": "ipcmds",
-	"Projects": [
-		"ftpd.json",
-		"dhcpd/dhcpd.json",
-		"dhcpd/dhcpleases.json",
-		"ftpfs/ftpfs.json",
-		"httpd/httpd.json",
-		"imap4d/imap4d.json",
-		"ipconfig/ipconfig.json",
-		"ppp/ppp.json"
-	],
-	"SourceFilesCmd": [
-		"ping.c",
-		"dhcpclient.c",
-		"gping.c",
-		"hogports.c",
-		"httpfile.c",
-		"linklocal.c",
-		"pppoe.c",
-		"pptp.c",
-		"pptpd.c",
-		"rarpd.c",
-		"rexexec.c",
-		"rip.c",
-		"rlogind.c",
-		"telnet.c",
-		"telnetd.c",
-		"tftpd.c",
-		"traceroute.c",
-		"udpecho.c",
-		"wol.c"
-	]
+	"ipcmds": {
+		"Include": [
+			"/sys/src/cmd/cmd.json"
+		],
+		"Install": "/$ARCH/bin/ip",
+		"Projects": [
+			"ftpd.json",
+			"dhcpd/dhcpd.json",
+			"dhcpd/dhcpleases.json",
+			"ftpfs/ftpfs.json",
+			"httpd/httpd.json",
+			"imap4d/imap4d.json",
+			"ipconfig/ipconfig.json",
+			"ppp/ppp.json"
+		],
+		"SourceFilesCmd": [
+			"ping.c",
+			"dhcpclient.c",
+			"gping.c",
+			"hogports.c",
+			"httpfile.c",
+			"linklocal.c",
+			"pppoe.c",
+			"pptp.c",
+			"pptpd.c",
+			"rarpd.c",
+			"rexexec.c",
+			"rip.c",
+			"rlogind.c",
+			"telnet.c",
+			"telnetd.c",
+			"tftpd.c",
+			"traceroute.c",
+			"udpecho.c",
+			"wol.c"
+		]
+	}
 }

+ 12 - 11
sys/src/cmd/ip/ipconfig/ipconfig.json

@@ -1,13 +1,14 @@
 {
-	"Include": [
-		"../../cmd.json"
-	],
-	"Install": "/$ARCH/bin/ip",
-	"Name": "ipconfig",
-	"Program": "ipconfig",
-	"SourceFiles": [
-		"ipv6.c",
-		"main.c",
-		"ppp.c"
-	]
+	"ipconfig": {
+		"Include": [
+			"../../cmd.json"
+		],
+		"Install": "/$ARCH/bin/ip",
+		"Program": "ipconfig",
+		"SourceFiles": [
+			"ipv6.c",
+			"main.c",
+			"ppp.c"
+		]
+	}
 }

+ 12 - 11
sys/src/cmd/ip/ipconfig/kipconfig.json

@@ -1,13 +1,14 @@
 {
-	"Include": [
-		"../../kernel.json"
-	],
-	"Install": "/$ARCH/bin/ip",
-	"Name": "ipconfig",
-	"Program": "ipconfig",
-	"SourceFiles": [
-		"ipv6.c",
-		"main.c",
-		"ppp.c"
-	]
+	"ipconfig": {
+		"Include": [
+			"../../kernel.json"
+		],
+		"Install": "/$ARCH/bin/ip",
+		"Program": "ipconfig",
+		"SourceFiles": [
+			"ipv6.c",
+			"main.c",
+			"ppp.c"
+		]
+	}
 }

+ 17 - 16
sys/src/cmd/ip/ppp/ppp.json

@@ -1,18 +1,19 @@
 {
-	"Include": [
-		"../../cmd.json"
-	],
-	"Install": "/$ARCH/bin/ip",
-	"Name": "ppp",
-	"Program": "ppp",
-	"SourceFiles": [
-		"ppp.c",
-		"compress.c",
-		"block.c",
-		"mppc.c",
-		"ipaux.c",
-		"thw.c",
-		"thwack.c",
-		"unthwack.c"
-	]
+	"ppp": {
+		"Include": [
+			"../../cmd.json"
+		],
+		"Install": "/$ARCH/bin/ip",
+		"Program": "ppp",
+		"SourceFiles": [
+			"ppp.c",
+			"compress.c",
+			"block.c",
+			"mppc.c",
+			"ipaux.c",
+			"thw.c",
+			"thwack.c",
+			"unthwack.c"
+		]
+	}
 }

+ 26 - 25
sys/src/cmd/kcmds.json

@@ -1,27 +1,28 @@
 {
-	"Include": [
-		"kernel.json"
-	],
-	"Name": "Kcmds",
-	"Post": [
-		"[ -d $HARVEY/amd64/bin ] || mkdir $HARVEY/amd64/bin",
-		"mv bind $HARVEY/amd64/bin/",
-		"mv mount $HARVEY/amd64/bin/",
-		"mv date $HARVEY/amd64/bin/",
-		"mv srv $HARVEY/amd64/bin/",
-		"mv echo $HARVEY/amd64/bin/",
-		"mv ls $HARVEY/amd64/bin/"
-	],
-	"Projects": [
-		"/sys/src/cmd/rc/rc.json",
-		"/sys/src/cmd/ip/ipconfig/kipconfig.json"
-	],
-	"SourceFilesCmd": [
-		"bind.c",
-		"mount.c",
-		"date.c",
-		"srv.c",
-		"echo.c",
-		"ls.c"
-	]
+	"Kcmds": {
+		"Include": [
+			"kernel.json"
+		],
+		"Post": [
+			"[ -d $HARVEY/amd64/bin ] || mkdir $HARVEY/amd64/bin",
+			"mv bind $HARVEY/amd64/bin/",
+			"mv mount $HARVEY/amd64/bin/",
+			"mv date $HARVEY/amd64/bin/",
+			"mv srv $HARVEY/amd64/bin/",
+			"mv echo $HARVEY/amd64/bin/",
+			"mv ls $HARVEY/amd64/bin/"
+		],
+		"Projects": [
+			"/sys/src/cmd/rc/rc.json",
+			"/sys/src/cmd/ip/ipconfig/kipconfig.json"
+		],
+		"SourceFilesCmd": [
+			"bind.c",
+			"mount.c",
+			"date.c",
+			"srv.c",
+			"echo.c",
+			"ls.c"
+		]
+	}
 }

+ 34 - 35
sys/src/cmd/kernel.json

@@ -1,37 +1,36 @@
 {
-	"Cflags": [
-		"-mcmodel=small",
-		"-O0",
-		"-fplan9-extensions",
-		"-mno-red-zone",
-		"-ffreestanding",
-		"-fno-builtin",
-		"-Wall",
-		"-Wno-missing-braces",
-		"-Wno-parentheses",
-		"-Wno-unknown-pragmas",
-		"-Wuninitialized",
-		"-Wmaybe-uninitialized",
-		"-g"
-	],
-	"Libs": [
-		"/amd64/lib/libString.a",
-		"/amd64/lib/lib9p.a",
-		"/amd64/lib/libndb.a",
-		"/amd64/lib/libauth.a",
-		"/amd64/lib/libbio.a",
-		"/amd64/lib/libip.a",
-		"/amd64/lib/libc.a"
-	],
-	"Name": "KernelCmd",
-	"Oflags": [
-		"-static",
-		"-e_main"
-	],
-	"Post": [
-		"rm *.o"
-	],
-	"Pre": [
-		"rm -f *.o *.tag.*"
-	]
+	"KernelCmd": {
+		"Cflags": [
+			"-mcmodel=small",
+			"-O0",
+			"-fplan9-extensions",
+			"-mno-red-zone",
+			"-ffreestanding",
+			"-fno-builtin",
+			"-Wall",
+			"-Wno-missing-braces",
+			"-Wno-parentheses",
+			"-Wno-unknown-pragmas",
+			"-g"
+		],
+		"Libs": [
+			"/amd64/lib/libString.a",
+			"/amd64/lib/lib9p.a",
+			"/amd64/lib/libndb.a",
+			"/amd64/lib/libauth.a",
+			"/amd64/lib/libbio.a",
+			"/amd64/lib/libip.a",
+			"/amd64/lib/libc.a"
+		],
+		"Oflags": [
+			"-static",
+			"-e_main"
+		],
+		"Post": [
+			"rm *.o"
+		],
+		"Pre": [
+			"rm -f *.o *.tag.*"
+		]
+	}
 }

+ 19 - 18
sys/src/cmd/ndb/dns.json

@@ -1,20 +1,21 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Install": "/$ARCH/bin/ndb/",
-	"Name": "dns",
-	"Program": "dns",
-	"SourceFiles": [
-		"convDNS2M.c",
-		"convM2DNS.c",
-		"dblookup.c",
-		"dn.c",
-		"dnarea.c",
-		"dnnotify.c",
-		"dnresolve.c",
-		"dns.c",
-		"dnserver.c",
-		"dnudpserver.c"
-	]
+	"dns": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Install": "/$ARCH/bin/ndb/",
+		"Program": "dns",
+		"SourceFiles": [
+			"convDNS2M.c",
+			"convM2DNS.c",
+			"dblookup.c",
+			"dn.c",
+			"dnarea.c",
+			"dnnotify.c",
+			"dnresolve.c",
+			"dns.c",
+			"dnserver.c",
+			"dnudpserver.c"
+		]
+	}
 }

+ 17 - 16
sys/src/cmd/ndb/dnsdebug.json

@@ -1,18 +1,19 @@
 {
-	"Include": [
-		"/sys/src/cmd/cmd.json"
-	],
-	"Install": "/$ARCH/bin/ndb/",
-	"Name": "dnsdebug",
-	"Program": "dnsdebug",
-	"SourceFiles": [
-		"convDNS2M.c",
-		"convM2DNS.c",
-		"dblookup.c",
-		"dn.c",
-		"dnarea.c",
-		"dnresolve.c",
-		"dnserver.c",
-		"dnsdebug.c"
-	]
+	"dnsdebug": {
+		"Include": [
+			"/sys/src/cmd/cmd.json"
+		],
+		"Install": "/$ARCH/bin/ndb/",
+		"Program": "dnsdebug",
+		"SourceFiles": [
+			"convDNS2M.c",
+			"convM2DNS.c",
+			"dblookup.c",
+			"dn.c",
+			"dnarea.c",
+			"dnresolve.c",
+			"dnserver.c",
+			"dnsdebug.c"
+		]
+	}
 }

+ 17 - 16
sys/src/cmd/ndb/dnstcp.json

@@ -1,18 +1,19 @@
 {
-	"Include": [
-		"/sys/src/cmd/cmd.json"
-	],
-	"Install": "/$ARCH/bin/ndb/",
-	"Name": "dnstcp",
-	"Program": "dnstcp",
-	"SourceFiles": [
-		"convDNS2M.c",
-		"convM2DNS.c",
-		"dblookup.c",
-		"dn.c",
-		"dnarea.c",
-		"dnresolve.c",
-		"dnserver.c",
-		"dnstcp.c"
-	]
+	"dnstcp": {
+		"Include": [
+			"/sys/src/cmd/cmd.json"
+		],
+		"Install": "/$ARCH/bin/ndb/",
+		"Program": "dnstcp",
+		"SourceFiles": [
+			"convDNS2M.c",
+			"convM2DNS.c",
+			"dblookup.c",
+			"dn.c",
+			"dnarea.c",
+			"dnresolve.c",
+			"dnserver.c",
+			"dnstcp.c"
+		]
+	}
 }

+ 22 - 21
sys/src/cmd/ndb/ndb.json

@@ -1,23 +1,24 @@
 {
-	"Include": [
-		"/sys/src/cmd/cmd.json"
-	],
-	"Install": "/$ARCH/bin/ndb/",
-	"Name": "ndb",
-	"Projects": [
-		"dns.json",
-		"dnstcp.json",
-		"dnsdebug.json"
-	],
-	"SourceFilesCmd": [
-		"cs.c",
-		"csquery.c",
-		"dnsquery.c",
-		"ipquery.c",
-		"inform.c",
-		"mkdb.c",
-		"mkhash.c",
-		"mkhosts.c",
-		"query.c"
-	]
+	"ndb": {
+		"Include": [
+			"/sys/src/cmd/cmd.json"
+		],
+		"Install": "/$ARCH/bin/ndb/",
+		"Projects": [
+			"dns.json",
+			"dnstcp.json",
+			"dnsdebug.json"
+		],
+		"SourceFilesCmd": [
+			"cs.c",
+			"csquery.c",
+			"dnsquery.c",
+			"ipquery.c",
+			"inform.c",
+			"mkdb.c",
+			"mkhash.c",
+			"mkhosts.c",
+			"query.c"
+		]
+	}
 }

+ 33 - 32
sys/src/cmd/rc/rc.json

@@ -1,34 +1,35 @@
 {
-	"Include": [
-		"../kernel.json"
-	],
-	"Name": "rc",
-	"Post": [
-		"mv rc $HARVEY/amd64/bin/",
-		"rm y.tab* x.tab*"
-	],
-	"Pre": [
-		"yacc -d syn.y",
-		"cp y.tab.h x.tab.h"
-	],
-	"Program": "rc",
-	"SourceFiles": [
-		"code.c",
-		"exec.c",
-		"getflags.c",
-		"glob.c",
-		"havefork.c",
-		"here.c",
-		"io.c",
-		"lex.c",
-		"pcmd.c",
-		"pfnc.c",
-		"plan9.c",
-		"simple.c",
-		"subr.c",
-		"trap.c",
-		"tree.c",
-		"var.c",
-		"y.tab.c"
-	]
+	"rc": {
+		"Include": [
+			"../kernel.json"
+		],
+		"Post": [
+			"mv rc $HARVEY/amd64/bin/",
+			"rm y.tab* x.tab*"
+		],
+		"Pre": [
+			"yacc -d syn.y",
+			"cp y.tab.h x.tab.h"
+		],
+		"Program": "rc",
+		"SourceFiles": [
+			"code.c",
+			"exec.c",
+			"getflags.c",
+			"glob.c",
+			"havefork.c",
+			"here.c",
+			"io.c",
+			"lex.c",
+			"pcmd.c",
+			"pfnc.c",
+			"plan9.c",
+			"simple.c",
+			"subr.c",
+			"trap.c",
+			"tree.c",
+			"var.c",
+			"y.tab.c"
+		]
+	}
 }

+ 18 - 17
sys/src/cmd/rio/rio.json

@@ -1,19 +1,20 @@
 {
-	"Include": [
-		"/sys/src/cmd/cmd.json"
-	],
-	"Install": "/$ARCH/bin/",
-	"Name": "rio",
-	"Program": "rio",
-	"SourceFiles": [
-		"rio.c",
-		"data.c",
-		"fsys.c",
-		"scrl.c",
-		"time.c",
-		"util.c",
-		"wctl.c",
-		"wind.c",
-		"xfid.c"
-	]
+	"rio": {
+		"Include": [
+			"/sys/src/cmd/cmd.json"
+		],
+		"Install": "/$ARCH/bin/",
+		"Program": "rio",
+		"SourceFiles": [
+			"rio.c",
+			"data.c",
+			"fsys.c",
+			"scrl.c",
+			"time.c",
+			"util.c",
+			"wctl.c",
+			"wind.c",
+			"xfid.c"
+		]
+	}
 }

+ 22 - 0
sys/src/cmd/syscall/syscall.json

@@ -0,0 +1,22 @@
+{
+	"syscall": {
+		"Cflags": [
+			"-Wall",
+			"-I$HARVEY/sys/src/libc/9syscall"
+		],
+		"Include": [
+			"../cmd.json"
+		],
+		"Post": [
+			"mv syscall $HARVEY/$ARCH/bin/",
+			"rm tab.h"
+		],
+		"Pre": [
+			"cat $HARVEY/sys/src/libc/9syscall/sys.h|grep -v automatically|grep -v -e '^$'|sed '/#define._X[0-9_]/d;/#define.NSYSCALL/d;'|cut -f 2 -d ' '|xargs -n1 sh -c 'echo \\\"$0\\\", \"(int(*)())\" $0,'|tr A-Z a-z \u003e tab.h"
+		],
+		"Program": "syscall",
+		"SourceFiles": [
+			"syscall.c"
+		]
+	}
+}

+ 10 - 9
sys/src/cmd/usb2/keyb.json

@@ -1,11 +1,12 @@
 {
-	"Include": [
-		"../../cmd.json"
-	],
-	"Install": "/$ARCH/bin/usb",
-	"Name": "keyb",
-	"Program": "keyb",
-	"SourceFiles": [
-		"keyb.c"
-	]
+	"keyb": {
+		"Include": [
+			"../../cmd.json"
+		],
+		"Install": "/$ARCH/bin/usb",
+		"Program": "keyb",
+		"SourceFiles": [
+			"keyb.c"
+		]
+	}
 }

+ 11 - 10
sys/src/cmd/usb2/usb.json

@@ -1,12 +1,13 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Install": "/$ARCH/bin/usb",
-	"Name": "usbugly",
-	"Program": "usbugly",
-	"SourceFiles": [
-		"usb.c",
-		"usbugly.c"
-	]
+	"usbugly": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Install": "/$ARCH/bin/usb",
+		"Program": "usbugly",
+		"SourceFiles": [
+			"usb.c",
+			"usbugly.c"
+		]
+	}
 }

+ 47 - 47
sys/src/cmd/venti/srv/libvs.json

@@ -1,49 +1,49 @@
 {
-	"Cflags": [
-	],
-	"Include": [
-		"/sys/src/lib.json"
-	],
-	"Install": "/sys/src/cmd/venti/srv/",
-	"Library": "libvs.a",
-	"Name": "libvs",
-	"SourceFiles": [
-		"arena.c",
-		"arenas.c",
-		"bloom.c",
-		"buildbuck.c",
-		"clump.c",
-		"config.c",
-		"conv.c",
-		"dcache.c",
-		"disksched.c",
-		"dump.c",
-		"graph.c",
-		"hdisk.c",
-		"hproc.c",
-		"httpd.c",
-		"icache.c",
-		"icachewrite.c",
-		"ifile.c",
-		"index.c",
-		"lump.c",
-		"lumpcache.c",
-		"lumpqueue.c",
-		"part.c",
-		"png.c",
-		"round.c",
-		"score.c",
-		"sortientry.c",
-		"stats.c",
-		"syncarena.c",
-		"syncindex0.c",
-		"trace.c",
-		"unwhack.c",
-		"utils.c",
-		"unittoull.c",
-		"whack.c",
-		"xml.c",
-		"zblock.c",
-		"zeropart.c"
-	]
+	"libvs": {
+		"Cflags": [],
+		"Include": [
+			"/sys/src/lib.json"
+		],
+		"Install": "/sys/src/cmd/venti/srv/",
+		"Library": "libvs.a",
+		"SourceFiles": [
+			"arena.c",
+			"arenas.c",
+			"bloom.c",
+			"buildbuck.c",
+			"clump.c",
+			"config.c",
+			"conv.c",
+			"dcache.c",
+			"disksched.c",
+			"dump.c",
+			"graph.c",
+			"hdisk.c",
+			"hproc.c",
+			"httpd.c",
+			"icache.c",
+			"icachewrite.c",
+			"ifile.c",
+			"index.c",
+			"lump.c",
+			"lumpcache.c",
+			"lumpqueue.c",
+			"part.c",
+			"png.c",
+			"round.c",
+			"score.c",
+			"sortientry.c",
+			"stats.c",
+			"syncarena.c",
+			"syncindex0.c",
+			"trace.c",
+			"unwhack.c",
+			"utils.c",
+			"unittoull.c",
+			"whack.c",
+			"xml.c",
+			"zblock.c",
+			"zeropart.c"
+		]
+	}
 }

+ 43 - 42
sys/src/cmd/venti/srv/srv.json

@@ -1,44 +1,45 @@
 {
-	"Include": [
-		"/sys/src/cmd/cmd.json"
-	],
-	"Install": "/$ARCH/bin/venti/",
-	"Name": "Srv",
-	"Oflags": [
-		"libvs.a"
-	],
-	"Post": [
-		"chmod +x conf",
-		"mv conf $HARVEY/amd64/bin/venti/"
-	],
-	"Pre": [
-		"echo '#!/bin/rc' \u003e\u003e conf",
-		"echo '# THIS FILE IS AUTOMATICALLY GENERATED' \u003e\u003e conf",
-		"echo '# FROM /sys/src/cmd/venti/conf.rc.  DO NOT EDIT.' \u003e\u003e conf",
-		"echo \u003e\u003e conf",
-		"sed 1d conf.rc \u003e\u003e conf"
-	],
-	"Projects": [
-		"libvs.json"
-	],
-	"SourceFilesCmd": [
-		"venti.c",
-		"buildindex.c",
-		"checkarenas.c",
-		"checkindex.c",
-		"clumpstats.c",
-		"findscore.c",
-		"fixarenas.c",
-		"fmtarenas.c",
-		"fmtbloom.c",
-		"fmtindex.c",
-		"fmtisect.c",
-		"mirrorarenas.c",
-		"printarena.c",
-		"printarenapart.c",
-		"rdarena.c",
-		"syncindex.c",
-		"verifyarena.c",
-		"wrarena.c"
-	]
+	"Srv": {
+		"Include": [
+			"/sys/src/cmd/cmd.json"
+		],
+		"Install": "/$ARCH/bin/venti/",
+		"Oflags": [
+			"libvs.a"
+		],
+		"Post": [
+			"chmod +x conf",
+			"mv conf $HARVEY/amd64/bin/venti/"
+		],
+		"Pre": [
+			"echo '#!/bin/rc' \u003e\u003e conf",
+			"echo '# THIS FILE IS AUTOMATICALLY GENERATED' \u003e\u003e conf",
+			"echo '# FROM /sys/src/cmd/venti/conf.rc.  DO NOT EDIT.' \u003e\u003e conf",
+			"echo \u003e\u003e conf",
+			"sed 1d conf.rc \u003e\u003e conf"
+		],
+		"Projects": [
+			"libvs.json"
+		],
+		"SourceFilesCmd": [
+			"venti.c",
+			"buildindex.c",
+			"checkarenas.c",
+			"checkindex.c",
+			"clumpstats.c",
+			"findscore.c",
+			"fixarenas.c",
+			"fmtarenas.c",
+			"fmtbloom.c",
+			"fmtindex.c",
+			"fmtisect.c",
+			"mirrorarenas.c",
+			"printarena.c",
+			"printarenapart.c",
+			"rdarena.c",
+			"syncindex.c",
+			"verifyarena.c",
+			"wrarena.c"
+		]
+	}
 }

+ 21 - 20
sys/src/cmd/venti/venti.json

@@ -1,22 +1,23 @@
 {
-	"Include": [
-		"../cmd.json"
-	],
-	"Install": "/$ARCH/bin/venti",
-	"Name": "Venti",
-	"Projects": [
-		"srv/srv.json"
-	],
-	"SourceFilesCmd": [
-		"copy.c",
-		"read.c",
-		"ro.c",
-		"sync.c",
-		"write.c",
-		"devnull.c",
-		"mkroot.c",
-		"randtest.c",
-		"readlist.c",
-		"root.c"
-	]
+	"Venti": {
+		"Include": [
+			"../cmd.json"
+		],
+		"Install": "/$ARCH/bin/venti",
+		"Projects": [
+			"srv/srv.json"
+		],
+		"SourceFilesCmd": [
+			"copy.c",
+			"read.c",
+			"ro.c",
+			"sync.c",
+			"write.c",
+			"devnull.c",
+			"mkroot.c",
+			"randtest.c",
+			"readlist.c",
+			"root.c"
+		]
+	}
 }

+ 25 - 25
sys/src/klib.json

@@ -1,27 +1,27 @@
 {
-	"Cflags": [
-		"-mcmodel=kernel",
-		"-O0",
-		"-fplan9-extensions",
-		"-mno-red-zone",
-		"-ffreestanding",
-		"-fno-builtin",
-		"-Wall",
-		"-Wno-missing-braces",
-		"-Wno-parentheses",
-		"-Wno-unknown-pragmas",
-		"-Wuninitialized",
-		"-Wmaybe-uninitialized",
-		"-g"
-	],
-	"Name": "KernelLibs",
-	"Oflags": [
-		"-static"
-	],
-	"Post": [
-		"rm *.o"
-	],
-	"Pre": [
-		"rm -f *.o *.tag.*"
-	]
+	"KernelLibs": {
+		"Cflags": [
+			"-mcmodel=kernel",
+			"-O0",
+			"-fplan9-extensions",
+			"-mno-red-zone",
+			"-ffreestanding",
+			"-fno-builtin",
+			"-Wall",
+			"-Wno-missing-braces",
+			"-Wno-parentheses",
+			"-Wno-unknown-pragmas",
+			"-Wuninitialized",
+			"-g"
+		],
+		"Oflags": [
+			"-static"
+		],
+		"Post": [
+			"rm *.o"
+		],
+		"Pre": [
+			"rm -f *.o *.tag.*"
+		]
+	}
 }

+ 10 - 9
sys/src/klibs.json

@@ -1,11 +1,12 @@
 {
-	"Name": "klibs",
-	"Projects": [
-		"/sys/src/libc/klibc.json",
-		"/sys/src/libip/klibip.json",
-		"/sys/src/libdraw/klibdraw.json",
-		"/sys/src/libmemdraw/klibmemdraw.json",
-		"/sys/src/libmemlayer/klibmemlayer.json",
-		"/sys/src/libsec/klibsec.json"
-	]
+	"klibs": {
+		"Projects": [
+			"/sys/src/libc/klibc.json",
+			"/sys/src/libip/klibip.json",
+			"/sys/src/libdraw/klibdraw.json",
+			"/sys/src/libmemdraw/klibmemdraw.json",
+			"/sys/src/libmemlayer/klibmemlayer.json",
+			"/sys/src/libsec/klibsec.json"
+		]
+	}
 }

+ 16 - 15
sys/src/lib.json

@@ -1,17 +1,18 @@
 {
-	"Include": [
-		"/amd64/include/cflags.json"
-	],
-	"Name": "Libs",
-	"Oflags": [
-		"-static"
-	],
-	"Post": [
-		"rm *.o"
-	],
-	"Pre": [
-		"mkdir -p $HARVEY/amd64/bin",
-		"mkdir -p $HARVEY/amd64/lib",
-		"rm -f *.o *.tag.*"
-	]
+	"Libs": {
+		"Include": [
+			"/amd64/include/cflags.json"
+		],
+		"Oflags": [
+			"-static"
+		],
+		"Post": [
+			"rm *.o"
+		],
+		"Pre": [
+			"mkdir -p $HARVEY/amd64/bin",
+			"mkdir -p $HARVEY/amd64/lib",
+			"rm -f *.o *.tag.*"
+		]
+	}
 }

+ 24 - 23
sys/src/lib9p/lib9p.json

@@ -1,25 +1,26 @@
 {
-	"Include": [
-		"../lib.json"
-	],
-	"Install": "/$ARCH/lib/",
-	"Library": "lib9p.a",
-	"Name": "lib9p",
-	"SourceFiles": [
-		"auth.c",
-		"dirread.c",
-		"fid.c",
-		"file.c",
-		"intmap.c",
-		"listen.c",
-		"mem.c",
-		"req.c",
-		"parse.c",
-		"post.c",
-		"rfork.c",
-		"srv.c",
-		"thread.c",
-		"uid.c",
-		"util.c"
-	]
+	"lib9p": {
+		"Include": [
+			"../lib.json"
+		],
+		"Install": "/$ARCH/lib/",
+		"Library": "lib9p.a",
+		"SourceFiles": [
+			"auth.c",
+			"dirread.c",
+			"fid.c",
+			"file.c",
+			"intmap.c",
+			"listen.c",
+			"mem.c",
+			"req.c",
+			"parse.c",
+			"post.c",
+			"rfork.c",
+			"srv.c",
+			"thread.c",
+			"uid.c",
+			"util.c"
+		]
+	}
 }

+ 26 - 25
sys/src/libString/libString.json

@@ -1,27 +1,28 @@
 {
-	"Include": [
-		"../lib.json"
-	],
-	"Install": "/$ARCH/lib/",
-	"Library": "libString.a",
-	"Name": "libString",
-	"SourceFiles": [
-		"s_alloc.c",
-		"s_append.c",
-		"s_array.c",
-		"s_copy.c",
-		"s_getline.c",
-		"s_grow.c",
-		"s_memappend.c",
-		"s_nappend.c",
-		"s_parse.c",
-		"s_putc.c",
-		"s_rdinstack.c",
-		"s_read.c",
-		"s_read_line.c",
-		"s_reset.c",
-		"s_terminate.c",
-		"s_tolower.c",
-		"s_unique.c"
-	]
+	"libString": {
+		"Include": [
+			"../lib.json"
+		],
+		"Install": "/$ARCH/lib/",
+		"Library": "libString.a",
+		"SourceFiles": [
+			"s_alloc.c",
+			"s_append.c",
+			"s_array.c",
+			"s_copy.c",
+			"s_getline.c",
+			"s_grow.c",
+			"s_memappend.c",
+			"s_nappend.c",
+			"s_parse.c",
+			"s_putc.c",
+			"s_rdinstack.c",
+			"s_read.c",
+			"s_read_line.c",
+			"s_reset.c",
+			"s_terminate.c",
+			"s_tolower.c",
+			"s_unique.c"
+		]
+	}
 }

+ 25 - 24
sys/src/libauth/libauth.json

@@ -1,26 +1,27 @@
 {
-	"Include": [
-		"../lib.json"
-	],
-	"Install": "/$ARCH/lib/",
-	"Library": "libauth.a",
-	"Name": "libauth",
-	"SourceFiles": [
-		"amount.c",
-		"amount_getkey.c",
-		"attr.c",
-		"auth_attr.c",
-		"auth_challenge.c",
-		"auth_chuid.c",
-		"auth_getkey.c",
-		"auth_getuserpasswd.c",
-		"auth_proxy.c",
-		"auth_respond.c",
-		"auth_rpc.c",
-		"auth_userpasswd.c",
-		"auth_wep.c",
-		"login.c",
-		"newns.c",
-		"noworld.c"
-	]
+	"libauth": {
+		"Include": [
+			"../lib.json"
+		],
+		"Install": "/$ARCH/lib/",
+		"Library": "libauth.a",
+		"SourceFiles": [
+			"amount.c",
+			"amount_getkey.c",
+			"attr.c",
+			"auth_attr.c",
+			"auth_challenge.c",
+			"auth_chuid.c",
+			"auth_getkey.c",
+			"auth_getuserpasswd.c",
+			"auth_proxy.c",
+			"auth_respond.c",
+			"auth_rpc.c",
+			"auth_userpasswd.c",
+			"auth_wep.c",
+			"login.c",
+			"newns.c",
+			"noworld.c"
+		]
+	}
 }

Some files were not shown because too many files changed in this diff