Browse Source

rest of the build files

Sevki Hasirci 8 years ago
parent
commit
0e777177c2

+ 31 - 0
BUILD

@@ -0,0 +1,31 @@
+objcopy(
+	name="harvey",
+	deps=[
+		"//sys/src/9/amd64:harvey"
+	],
+	in="elf64-x86-64",
+	out="elf32-i386",
+)
+kernel(
+	name="kernel",
+	deps=[
+		":harvey",
+		"//sys/src/9/amd64:init",
+		"//sys/src/9/amd64:echo",
+		"//sys/src/9/amd64:ls",
+		"//sys/src/9/amd64:cat",
+		"//sys/src/9/amd64:date",
+		"//sys/src/9/amd64:ipconfig",
+		"//sys/src/cmd/acme:acme",
+	],
+	installs={
+		"amd64/harvey": "bin/harvey",
+		"amd64/bin/init": "bin/init",
+		"amd64/bin/echo": "bin/echo",
+		"amd64/bin/ls": "bin/ls",
+		"amd64/bin/cat": "bin/cat",
+		"amd64/bin/date": "bin/date",
+		"amd64/bin/ipconfig": "bin/ipconfig",
+		"amd64/bin/acme": "bin/acme",
+	},
+)

+ 544 - 0
sys/src/9/amd64/BUILD

@@ -0,0 +1,544 @@
+load("//sys/src/FLAGS", "LIB_COMPILER_FLAGS")
+
+CORE_SRCS = [
+    "entry.S",
+    "vsvm.c",
+    "l64v.S",
+    "l64fpu.S",
+    "cpuidamd64.S",
+    "l64acidt.S",
+    "l64idt.S",
+    "l64vsyscall.S",
+    "acore.c",
+    "apic.c",
+    "arch.c",
+    "archamd64.c",
+    "asm.c",
+    "backtrace.c",
+    "coreboot.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"
+]
+
+PORT_SRCS = [
+    "//sys/src/9/port/alarm.c",
+    "//sys/src/9/port/allocb.c",
+    "//sys/src/9/port/cache.c",
+    "//sys/src/9/port/chan.c",
+    "//sys/src/9/port/cpu_buffer.c",
+    "//sys/src/9/port/dev.c",
+    "//sys/src/9/port/devcap.c",
+    "//sys/src/9/port/devcons.c",
+    "//sys/src/9/port/devcoreboot.c",
+    "//sys/src/9/port/devdraw.c",
+    "//sys/src/9/port/devdup.c",
+    "//sys/src/9/port/devenv.c",
+    "//sys/src/9/port/devkexec.c",
+    "//sys/src/9/port/devkprof.c",
+    "//sys/src/9/port/devmnt.c",
+    "//sys/src/9/port/devmouse.c",
+    "//sys/src/9/port/devpci.c",
+    "//sys/src/9/port/devpipe.c",
+    "//sys/src/9/port/devpmc.c",
+    "//sys/src/9/port/devproc.c",
+    "//sys/src/9/port/devregress.c",
+    "//sys/src/9/port/devroot.c",
+    "//sys/src/9/port/devsd.c",
+    "//sys/src/9/port/devsegment.c",
+    "//sys/src/9/port/devsrv.c",
+    "//sys/src/9/port/devssl.c",
+    "//sys/src/9/port/devtls.c",
+    "//sys/src/9/port/devtab.c",
+    "//sys/src/9/port/devtrace.c",
+    "//sys/src/9/port/devuart.c",
+    "//sys/src/9/port/devwd.c",
+    "//sys/src/9/port/devws.c",
+    "//sys/src/9/port/devzp.c",
+    "//sys/src/9/port/edf.c",
+    "//sys/src/9/port/elf64.c",
+    "//sys/src/9/port/ethermii.c",
+    "//sys/src/9/port/fault.c",
+    "//sys/src/9/port/fortuna.c",
+    "//sys/src/9/port/getput.c",
+    "//sys/src/9/port/hexdump.c",
+    "//sys/src/9/port/image.c",
+    "//sys/src/9/port/kdebug.c",
+    "//sys/src/9/port/kexec.c",
+    "//sys/src/9/port/ipchecksum.c",
+    "//sys/src/9/port/mul64fract.c",
+    "//sys/src/9/port/netif.c",
+    "//sys/src/9/port/page.c",
+    "//sys/src/9/port/pager.c",
+    "//sys/src/9/port/parse.c",
+    "//sys/src/9/port/pgrp.c",
+    "//sys/src/9/port/portclock.c",
+    "//sys/src/9/port/print.c",
+    "//sys/src/9/port/proc.c",
+    "//sys/src/9/port/ps.c",
+    "//sys/src/9/port/qio.c",
+    "//sys/src/9/port/qlock.c",
+    "//sys/src/9/port/random.c",
+    "//sys/src/9/port/rebootcmd.c",
+    "//sys/src/9/port/rmap.c",
+    "//sys/src/9/port/sdscsi.c",
+    "//sys/src/9/port/segment.c",
+    "//sys/src/9/port/sysauth.c",
+    "//sys/src/9/port/syscallfmt.c",
+    "//sys/src/9/port/sysfile.c",
+    "//sys/src/9/port/sysproc.c",
+    "//sys/src/9/port/sysseg.c",
+    "//sys/src/9/port/syssem.c",
+    "//sys/src/9/port/syszio.c",
+    "//sys/src/9/port/taslock.c",
+    "//sys/src/9/port/tod.c",
+    "//sys/src/9/port/usbehci.c",
+    "//sys/src/9/port/watermarks.c",
+]
+
+IP_SRCS = [
+    "//sys/src/9/ip/arp.c",
+    "//sys/src/9/ip/chandial.c",
+    "//sys/src/9/ip/devip.c",
+    "//sys/src/9/ip/ethermedium.c",
+    "//sys/src/9/ip/gre.c",
+    "//sys/src/9/ip/icmp6.c",
+    "//sys/src/9/ip/icmp.c",
+    "//sys/src/9/ip/inferno.c",
+    "//sys/src/9/ip/ipaux.c",
+    "//sys/src/9/ip/ip.c",
+    "//sys/src/9/ip/ipifc.c",
+    "//sys/src/9/ip/ipmux.c",
+    "//sys/src/9/ip/iproute.c",
+    "//sys/src/9/ip/ipv6.c",
+    "//sys/src/9/ip/loopbackmedium.c",
+    "//sys/src/9/ip/netdevmedium.c",
+    "//sys/src/9/ip/netlog.c",
+    "//sys/src/9/ip/nullmedium.c",
+    "//sys/src/9/ip/pktmedium.c",
+    "//sys/src/9/ip/ptclbsum.c",
+    "//sys/src/9/ip/rudp.c",
+    "//sys/src/9/ip/tcp.c",
+    "//sys/src/9/ip/udp.c"
+]
+AMD64_SRCS = [
+    "amd64cpu.c",
+    "cga.c",
+    "devacpi.c",
+    "devusb.c",
+    "devvga.c",
+    "ether8139.c",
+    "ether82563.c",
+    "mouse.c",
+    "screen.c",
+    "sdata.c",
+    "usbehcipc.c",
+    "usbohci.c",
+    "usbuhci.c",
+    "vga.c",
+    "vgax.c",
+]
+# don't want to start with a number
+I386_SRCS = [
+    "//sys/src/9/386/devether.c",
+    "//sys/src/9/386/devrtc.c",
+    "//sys/src/9/386/ether8169.c",
+    "//sys/src/9/386/ether82557.c",
+    "//sys/src/9/386/etherigbe.c",
+    "//sys/src/9/386/etherm10g.c",
+    "//sys/src/9/386/i8042.c",
+    "//sys/src/9/386/pci.c",
+    "//sys/src/9/386/sdiahci.c",
+    "//sys/src/9/386/uarti8250.c",
+    "//sys/src/9/386/uartpci.c",
+    "//sys/src/9/386/vgavesa.c"
+]
+
+AMD64SRCS = AMD64_SRCS + CORE_SRCS + I386_SRCS + IP_SRCS + PORT_SRCS
+
+strip(
+    name="bind",
+    deps=[
+        "//sys/src/cmd:bind",
+    ],
+)
+
+strip(
+    name="prep",
+    deps=[
+        "//sys/src/cmd/disk/prep:prep",
+    ],
+)
+strip(
+    name="boot",
+    deps=[
+        "//sys/src/9/boot:bootamd64cpu",
+    ],
+)
+strip(
+    name="cat",
+    deps=[
+        "//sys/src/cmd:cat",
+    ],
+)
+strip(
+    name="date",
+    deps=[
+        "//sys/src/cmd:date",
+    ],
+)
+strip(
+    name="echo",
+    deps=[
+        "//sys/src/cmd:echo",
+    ],
+)
+strip(
+    name="factotum",
+    deps=[
+        "//sys/src/cmd/auth/factotum:factotum",
+    ],
+)
+strip(
+    name="fdisk",
+    deps=[
+        "//sys/src/cmd/disk/prep:fdisk",
+    ],
+)
+strip(
+    name="ipconfig",
+    deps=[
+        "//sys/src/cmd/ip/ipconfig:ipconfig",
+    ],
+)
+strip(
+    name="screenconsole",
+    deps=[
+        "//sys/src/cmd/aux/console:screenconsole",
+    ],
+)
+strip(
+    name="ls",
+    deps=[
+        "//sys/src/cmd:ls",
+    ],
+)
+strip(
+    name="mount",
+    deps=[
+        "//sys/src/cmd:mount",
+    ],
+)
+strip(
+    name="rc",
+    deps=[
+        "//sys/src/cmd/rc:rc",
+    ],
+)
+strip(
+    name="ps",
+    deps=[
+        "//sys/src/cmd:ps",
+    ],
+)
+strip(
+    name="ed",
+    deps=[
+        "//sys/src/cmd:ed",
+    ],
+)
+strip(
+    name="realemu",
+    deps=[
+        "//sys/src/cmd/aux/realemu:realemu",
+    ],
+)
+strip(
+    name="vga",
+    deps=[
+        "//sys/src/cmd/aux/vga:vga",
+    ],
+)
+strip(
+    name="srv",
+    deps=[
+        "//sys/src/cmd:srv",
+    ],
+)
+
+strip(
+    name="usbd",
+    deps=[
+        "//sys/src/cmd/usb/usbd:usbd",
+    ],
+)
+
+strip(
+    name="venti",
+    deps=[
+        "//sys/src/cmd/venti/srv:venti",
+    ],
+)
+
+strip(
+    name="fossil",
+    deps=[
+        "//sys/src/cmd/fossil:fossil",
+    ],
+)
+
+strip(
+    name="ratrace",
+    deps=[
+        "//sys/src/cmd:ratrace",
+    ],
+)
+mk_sys(
+    name="error",
+    mode="error.h",
+    arch="amd64",
+    sysconf="//sys/src/sysconf.json",
+)
+
+mk_sys(
+    name="sys",
+    mode="sys.h",
+    arch="amd64",
+    sysconf="//sys/src/sysconf.json",
+)
+
+mk_sys(
+    name="systab",
+    mode="systab.c",
+    arch="amd64",
+    sysconf="//sys/src/sysconf.json",
+)
+
+mk_sys(
+    name="errstr",
+    mode="errstr.h",
+    sysconf="//sys/src/sysconf.json",
+)
+
+
+cc_binary(
+    name="harvey",
+    copts=[
+        "-c",
+        "-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",
+        "-Werror",
+        "-fasm",
+    ],
+    srcs=AMD64SRCS,
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+        "//sys/src/9/amd64",
+    ],
+    deps=[
+        ":amd64cpu",
+        ":error",
+        ":errstr",
+        ":systab",
+        ":sys",
+        ":inith",
+        "//sys/src/libmemlayer:libkmemlayer",
+        "//sys/src/libmemdraw:libkmemdraw",
+        "//sys/src/libdraw:libkdraw",
+        "//sys/src/libc:libkc",
+        "//sys/src/libip:libkip",
+        "//sys/src/libsec:libksec",
+    ],
+    ld="kernel.ld",
+    linkopts=[
+        "-z",
+        "max-page-size=0x1000",
+        "-nostdlib",
+        "-g",
+        "-T",
+    ]
+)
+
+KERNEL_DEPS = [
+	":bind",
+	":boot",
+	":cat",
+	":date",
+	":echo",
+	":factotum",
+	":fdisk",
+	":fossil",
+	":ipconfig", 
+	":ls",
+	":mount",
+# nvram FILE ADDED
+	":prep",
+	":rc",
+	":ps",
+	":ed",
+# rcmain FILE ADDED
+	":screenconsole",
+	":realemu",
+	":vga",
+	":srv",
+# startdisk FILE ADDED
+	":usbd",
+	":venti",
+	":ratrace",
+]
+
+config(
+    name="amd64cpu",
+    deps=KERNEL_DEPS,
+    code=[
+        "int cpuserver = 1;",
+        "uint32_t kerndate = 1;",
+    ],
+    ramfiles=[
+	"//util/nvram",
+	"//rc/lib/rcmain",
+	"//sys/src/9/amd64/startdisk",
+    ],
+    dev=[
+        "acpi",
+        "arch",
+        "cap",
+        "cons",
+        "coreboot",
+        "draw",
+        "dup",
+        "env",
+        "ether",
+        "ip",
+        "kprof",
+        "mnt",
+        "mouse",
+        "pci",
+        "pipe",
+        "pmc",
+        "proc",
+        "regress",
+        "root",
+        "rtc",
+        "sd",
+        "segment",
+        "srv",
+        "ssl",
+        "tls",
+        "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",
+    ],
+    uart=[
+        "i8250",
+        "pci",
+    ],
+    vga=[
+        "vgavesa",
+    ],
+)
+
+elf_to_c(
+    name="inith",
+    deps=[
+        ":init",
+    ],
+    elf="bin/init",
+)
+
+cc_binary(
+    name="init",
+    copts=[
+        "-c",
+        "-g",
+        "-Wall",
+        "-Wno-missing-braces",
+        "-Wno-parentheses",
+        "-Wno-unknown-pragmas",
+        "-O0",
+        "-static",
+        "-fplan9-extensions",
+        "-mno-red-zone",
+        "-ffreestanding",
+        "-fno-builtin",
+        "-mcmodel=small",
+    ],
+    deps=[
+        "//sys/src/libc:libc"
+    ],
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    linkopts=[
+        "-e_main",
+        "-static",
+        "-Ttext=0x200020",
+    ],
+    srcs=[
+        "init9.c",
+        "//sys/src/9/port/initcode.c",
+    ]
+)

+ 82 - 0
sys/src/9/boot/BUILD

@@ -0,0 +1,82 @@
+load("//sys/src/FLAGS", "LIB_COMPILER_FLAGS")
+
+data_to_c(
+    name="amd64cpu",
+    bin="bin/bootamd64cpu",
+    prefix="ramfs_bootamd64cpu_",
+    deps=[
+        ":bootamd64cpu"
+    ]
+)
+
+cc_library(
+    name="libboot",
+    copts=[
+        "-g",
+        "-Wall",
+        "-Wno-missing-braces",
+        "-Wno-parentheses",
+        "-Wno-unknown-pragmas",
+        "-O0",
+        "-static",
+        "-fplan9-extensions",
+        "-mno-red-zone",
+        "-ffreestanding",
+        "-fno-builtin",
+        "-mcmodel=small"
+    ],
+    includes=[
+        "//sys/include",
+        "//sys/src/9/boot",
+        "//amd64/include",
+    ],
+    deps=[
+        ":bootamd64cpuc",
+    ],
+    srcs=[
+        "aux.c",
+        "bootauth.c",
+        "boot.c",
+        "bootcache.c",
+        "bootip.c",
+        "bootamd64cpu.c",
+        "bootrc.c",
+        "embed.c",
+        "local.c",
+        "paq.c",
+        "sac.c",
+        "settime.c"
+    ]
+)
+
+cc_binary(
+    name="bootamd64cpu",
+    copts=LIB_COMPILER_FLAGS,
+    includes=[
+        "//sys/include",
+        "//sys/src/9/boot",
+        "//amd64/include",
+    ],
+    srcs=[
+        "printstub.c",
+        "bootamd64cpu.c"
+    ],
+    deps=[
+        ":libboot",
+        ":bootamd64cpuc",
+        "//sys/src/libip:libip",
+        "//sys/src/libauth:libauth",
+        "//sys/src/libc:libc"
+    ],
+    linkopts=[
+        "-e_main",
+        "-static"
+    ]
+)
+
+mk_sys(
+    name="bootamd64cpuc",
+    mode="bootamd64cpu.c",
+    arch="amd64",
+    sysconf="//sys/src/sysconf.json",
+)

+ 57 - 0
sys/src/BUILD

@@ -0,0 +1,57 @@
+group(
+    name="klibs",
+    deps=[
+        "//sys/src/libc:libkc",
+        "//sys/src/libip:libkip",
+        "//sys/src/libdraw:libkdraw",
+        "//sys/src/libmemdraw:libkmemdraw",
+        "//sys/src/libmemlayer:libkmemlayer",
+        "//sys/src/libsec:libksec",
+    ]
+)
+group(
+    name="libs",
+    deps=[
+        "//sys/src/libc:libc",
+        "//sys/src/libip:libip",
+        "//sys/src/libdraw:libdraw",
+        "//sys/src/lib9p:lib9p",
+        "//sys/src/libString:libString",
+        "//sys/src/libauth:libauth",
+        "//sys/src/libauthsrv:libauthsrv",
+        "//sys/src/libbin:libbin",
+        "//sys/src/libbio:libbio",
+        "//sys/src/libcomplete:libcomplete",
+        "//sys/src/libcontrol:libcontrol",
+        "//sys/src/libdisk:libdisk",
+        "//sys/src/libflate:libflate",
+        "//sys/src/libframe:libframe",
+        "//sys/src/libgeometry:libgeometry",
+        "//sys/src/libhttpd:libhttpd",
+        "//sys/src/liblex:liblex",
+        "//sys/src/libmach:libmach",
+        "//sys/src/libmemdraw:libmemdraw",
+        "//sys/src/libmemlayer:libmemlayer",
+        "//sys/src/libmp:libmp",
+        "//sys/src/libndb:libndb",
+        "//sys/src/liboventi:liboventi",
+        "//sys/src/libplumb:libplumb",
+        "//sys/src/libregexp:libregexp",
+        "//sys/src/libsec:libsec",
+        "//sys/src/libstdio:libstdio",
+        "//sys/src/libsunrpc:libsunrpc",
+        "//sys/src/libthread:libthread",
+        "//sys/src/libusb:libusb",
+        "//sys/src/libventi:libventi",
+    ]
+)
+
+
+group(
+    name="all",
+    deps=[
+        ":klibs",
+        ":libs",
+        "//sys/src/cmd:cmds",
+    ]
+)

+ 193 - 0
sys/src/cmd/BUILD

@@ -0,0 +1,193 @@
+load('//sys/src/FLAGS', "LIB_COMPILER_FLAGS", "CMD_LINK_OPTS")
+
+# Order of libs
+# "/$ARCH/lib/libString.a",
+# "/$ARCH/lib/lib9p.a",
+# "/$ARCH/lib/libndb.a",
+# "/$ARCH/lib/libauth.a",
+# "/$ARCH/lib/libbio.a",
+# "/$ARCH/lib/libip.a",
+# "/$ARCH/lib/libc.a"
+
+group(
+    name="cmds",
+    deps=[
+        "//sys/src/cmd/acme:acme",
+        "//sys/src/cmd/rc:rc",
+        "//sys/src/cmd/ip/ipconfig:ipconfig",
+        ":echo",
+        ":mount",
+        ":date",
+        ":srv",
+        ":ls",
+        ":bind",
+    ]
+)
+
+cc_binary(
+    name="echo",
+    copts=LIB_COMPILER_FLAGS,
+    srcs=[
+        "echo.c"
+    ],
+    deps=[
+        "//sys/src/libc:libc",
+    ],
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    linkopts=CMD_LINK_OPTS
+)
+
+cc_binary(
+    name="mount",
+    copts=LIB_COMPILER_FLAGS,
+    srcs=[
+        "mount.c"
+    ],
+    deps=[
+        "//sys/src/libauth:libauth",
+        "//sys/src/libc:libc",
+    ],
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    linkopts=CMD_LINK_OPTS
+)
+
+cc_binary(
+    name="date",
+    copts=LIB_COMPILER_FLAGS,
+    srcs=[
+        "date.c"
+    ],
+    deps=[
+        "//sys/src/libc:libc",
+    ],
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    linkopts=CMD_LINK_OPTS
+)
+
+cc_binary(
+    name="cat",
+    copts=LIB_COMPILER_FLAGS,
+    srcs=[
+        "cat.c"
+    ],
+    deps=[
+        "//sys/src/libc:libc",
+    ],
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    linkopts=CMD_LINK_OPTS
+)
+
+cc_binary(
+    name="bind",
+    copts=LIB_COMPILER_FLAGS,
+    srcs=[
+        "bind.c"
+    ],
+    deps=[
+        "//sys/src/libc:libc",
+    ],
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    linkopts=CMD_LINK_OPTS
+)
+
+cc_binary(
+    name="srv",
+    copts=LIB_COMPILER_FLAGS,
+    srcs=[
+        "srv.c"
+    ],
+    deps=[
+        "//sys/src/libauth:libauth",
+        "//sys/src/libc:libc",
+    ],
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    linkopts=CMD_LINK_OPTS
+)
+
+cc_binary(
+    name="ls",
+    copts=LIB_COMPILER_FLAGS,
+    srcs=[
+        "ls.c"
+    ],
+    deps=[
+        "//sys/src/libbio:libbio",
+        "//sys/src/libc:libc",
+    ],
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    linkopts=CMD_LINK_OPTS
+)
+
+cc_binary(
+    name="ps",
+    copts=LIB_COMPILER_FLAGS,
+    srcs=[
+        "ps.c"
+    ],
+    deps=[
+        "//sys/src/libbio:libbio",
+        "//sys/src/libc:libc",
+    ],
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    linkopts=CMD_LINK_OPTS
+)
+
+cc_binary(
+    name="ed",
+    copts=LIB_COMPILER_FLAGS,
+    srcs=[
+        "ed.c"
+    ],
+    deps=[
+     	"//sys/src/libregexp:libregexp",
+        "//sys/src/libbio:libbio",
+        "//sys/src/libc:libc",
+    ],
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+        "//sys/src/libregexp",
+    ],
+    linkopts=CMD_LINK_OPTS
+)
+
+cc_binary(
+    name="ratrace",
+    copts=LIB_COMPILER_FLAGS,
+    srcs=[
+        "ratrace.c"
+    ],
+    deps=[
+	"//sys/src/libthread:libthread",
+	"//sys/src/libc:libc",
+    ],
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    linkopts=CMD_LINK_OPTS
+)

+ 42 - 0
sys/src/cmd/acme/BUILD

@@ -0,0 +1,42 @@
+load('//sys/src/FLAGS', "LIB_COMPILER_FLAGS", "CMD_LINK_OPTS")
+
+cc_binary(
+    name="acme",
+    copts=LIB_COMPILER_FLAGS,
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    deps=[
+        "//sys/src/libcomplete:libcomplete",
+        "//sys/src/libframe:libframe",
+        "//sys/src/libdraw:libdraw",
+        "//sys/src/libplumb:libplumb",
+        "//sys/src/libthread:libthread",
+        "//sys/src/libbio:libbio",
+        "//sys/src/libc:libc"
+    ],
+    srcs=[
+        "acme.c",
+        "addr.c",
+        "buff.c",
+        "cols.c",
+        "disk.c",
+        "ecmd.c",
+        "edit.c",
+        "elog.c",
+        "exec.c",
+        "file.c",
+        "fsys.c",
+        "look.c",
+        "regx.c",
+        "rows.c",
+        "scrl.c",
+        "text.c",
+        "time.c",
+        "util.c",
+        "wind.c",
+        "xfid.c"
+    ],
+    linkopts=CMD_LINK_OPTS
+)

+ 28 - 0
sys/src/cmd/auth/factotum/BUILD

@@ -0,0 +1,28 @@
+load("//sys/src/FLAGS", "LIB_COMPILER_FLAGS", "CMD_DEPS")
+
+cc_binary(
+    name="factotum",
+    copts=LIB_COMPILER_FLAGS,
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    deps=CMD_DEPS,
+    srcs=[
+        "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",
+    ],
+)

+ 79 - 0
sys/src/cmd/aux/console/BUILD

@@ -0,0 +1,79 @@
+load("//sys/src/FLAGS", "LIB_COMPILER_FLAGS")
+
+cc_binary(
+    name="consoles",
+    copts=LIB_COMPILER_FLAGS,
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    deps=[
+        "comconsole",
+        "pipeconsole",
+        "screenconsole",
+    ],
+)
+cc_binary(
+    name="console",
+    copts=LIB_COMPILER_FLAGS,
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    linkopts=[
+        "static",
+        "e_main",
+        "lc",
+    ],
+    srcs=[
+        "buffer.c",
+        "comconsole.c",
+        "passthrough.c",
+        "serve9p.c",
+        "utils.c",
+    ],
+)
+cc_binary(
+    name="pipeconsole",
+    copts=LIB_COMPILER_FLAGS,
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    srcs=[
+        "buffer.c",
+        "pipeconsole.c",
+        "passthrough.c",
+        "serve9p.c",
+        "utils.c",
+    ],
+    linkopts=[
+        "static",
+        "e_main",
+        "lc",
+    ],
+)
+cc_binary(
+    name="screenconsole",
+    copts=LIB_COMPILER_FLAGS,
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    deps=[
+        "//sys/src/libc:libc",
+    ],
+    linkopts=[
+        "-static",
+        "-e_main",
+    ],
+    srcs=[
+        "buffer.c",
+        "cga.c",
+        "screenconsole.c",
+        "keyboard.c",
+        "passthrough.c",
+        "serve9p.c",
+        "utils.c",
+    ],
+)

+ 23 - 0
sys/src/cmd/aux/realemu/BUILD

@@ -0,0 +1,23 @@
+load("//sys/src/FLAGS", "CMD_LINK_OPTS", "CMD_DEPS", "LIB_COMPILER_FLAGS")
+
+cc_binary(
+	name = "realemu",
+	copts =LIB_COMPILER_FLAGS,
+	includes=[
+		"//amd64/include",
+		"//sys/include",
+		"//sys/src/cmd/aux/realemu",
+	 	"//.",
+	],
+	deps=CMD_DEPS,
+	linkopts=CMD_LINK_OPTS,
+	srcs = [
+		"arg.c",
+		"debug.c",
+		"decode.c",
+		"fmt.c",
+		"main.c",
+		"pit.c",
+		"xec.c",
+	],
+)

+ 55 - 0
sys/src/cmd/aux/vga/BUILD

@@ -0,0 +1,55 @@
+load("//sys/src/FLAGS", "CMD_LINK_OPTS", "CMD_DEPS", "LIB_COMPILER_FLAGS")
+
+cc_binary(
+	name = "vga",
+	copts = LIB_COMPILER_FLAGS,
+    	includes=[
+		"//amd64/include",
+		"//sys/include",
+		"//.",
+	],
+	deps=CMD_DEPS,
+	linkopts=CMD_LINK_OPTS,
+	srcs = [
+		"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",
+	],
+)

+ 28 - 0
sys/src/cmd/disk/9660/BUILD

@@ -0,0 +1,28 @@
+load("//sys/src/FLAGS", "LIB_COMPILER_FLAGS", "CMD_DEPS", "CMD_LINK_OPTS")
+
+cc_binary(
+    name="dump9660",
+    copts=LIB_COMPILER_FLAGS,
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    deps=CMD_DEPS,
+    linkopts=CMD_LINK_OPTS,
+    srcs=[
+        "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",
+    ],
+)

+ 85 - 0
sys/src/cmd/disk/BUILD

@@ -0,0 +1,85 @@
+load("//sys/src/FLAGS", "LIB_COMPILER_FLAGS", "CMD_DEPS", "CMD_LINK_OPTS")
+
+cc_binary(
+    name="format",
+    copts=LIB_COMPILER_FLAGS,
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    deps=CMD_DEPS,
+    linkopts=CMD_LINK_OPTS,
+    srcs=[
+        "format.c",
+    ],
+)
+
+cc_binary(
+    name="exsort",
+    copts=LIB_COMPILER_FLAGS,
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    deps=CMD_DEPS,
+    linkopts=CMD_LINK_OPTS,
+    srcs=[
+        "exsort.c",
+    ],
+)
+
+cc_binary(
+    name="mbr",
+    copts=LIB_COMPILER_FLAGS,
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    deps=CMD_DEPS,
+    linkopts=CMD_LINK_OPTS,
+    srcs=[
+        "mbr.c",
+    ],
+)
+
+cc_binary(
+    name="mkext",
+    copts=LIB_COMPILER_FLAGS,
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    deps=CMD_DEPS,
+    linkopts=CMD_LINK_OPTS,
+    srcs=[
+        "mkext.c",
+    ],
+)
+
+cc_binary(
+    name="mkfs",
+    copts=LIB_COMPILER_FLAGS,
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    deps=CMD_DEPS,
+    linkopts=CMD_LINK_OPTS,
+    srcs=[
+        "mkfs.c",
+    ],
+)
+
+cc_binary(
+    name="partfs",
+    copts=LIB_COMPILER_FLAGS,
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    deps=CMD_DEPS,
+    linkopts=CMD_LINK_OPTS,
+    srcs=[
+        "partfs.c",
+    ],
+)

+ 52 - 0
sys/src/cmd/disk/prep/BUILD

@@ -0,0 +1,52 @@
+load("//sys/src/FLAGS", "LIB_COMPILER_FLAGS", "CMD_DEPS", "CMD_LINK_OPTS")
+CALC = [
+    ":calc"
+]
+
+PREP_DEPS = CALC + CMD_DEPS
+
+cc_binary(
+    name="fdisk",
+    copts=LIB_COMPILER_FLAGS,
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+        "//sys/src/cmd/disk/prep",
+    ],
+    deps=PREP_DEPS,
+    linkopts=CMD_LINK_OPTS,
+    srcs=[
+        "fdisk.c",
+        "edit.c",
+        "y.tab.c",
+    ],
+)
+cc_binary(
+    name="prep",
+    copts=LIB_COMPILER_FLAGS,
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+        "//sys/src/cmd/disk/prep",
+    ],
+    deps=PREP_DEPS,
+    linkopts=CMD_LINK_OPTS,
+    srcs=[
+        "prep.c",
+        "edit.c",
+        "y.tab.c",
+    ],
+)
+
+yacc(
+    name="calc",
+    yaccopts=[
+        "-d",
+    ],
+    srcs=[
+        "calc.y",
+    ],
+    exports=[
+        "y.tab.c",
+    ],
+)

+ 45 - 0
sys/src/cmd/ip/ipconfig/BUILD

@@ -0,0 +1,45 @@
+load("//sys/src/FLAGS", "CMD_LINK_OPTS", "LIB_COMPILER_FLAGS")
+
+CMD_DEPS = [
+    "//sys/src/libString:libString",
+    "//sys/src/lib9p:lib9p",
+    "//sys/src/libndb:libndb",
+    "//sys/src/libauth:libauth",
+    "//sys/src/libbio:libbio",
+    "//sys/src/libip:libip",
+    "//sys/src/libc:libc"
+]
+
+cc_binary(
+	name="ipconfig",
+	copts=[
+		"-c",
+		"-std=c11",
+		"-mcmodel=small",
+		"-O0",
+		"-fplan9-extensions",
+		"-mno-red-zone",
+		"-ffreestanding",
+		"-fno-builtin",
+		"-Wall",
+		"-Wno-missing-braces",
+		"-Wno-parentheses",
+		"-Wno-unknown-pragmas",
+		"-g",
+	],
+	includes=[
+		"//sys/include",
+		"//amd64/include",
+		"//sys/src/cmd/ip/ipconfig",
+	],
+	deps=CMD_DEPS,
+	linkopts=[
+		"-static",
+		"-e_main",
+	],
+	srcs=[
+		"ipv6.c",
+		"main.c",
+		"ppp.c",
+	],
+)

+ 61 - 0
sys/src/cmd/rc/BUILD

@@ -0,0 +1,61 @@
+load('//sys/src/FLAGS', "LIB_COMPILER_FLAGS")
+
+cc_binary(
+    name="rc",
+    copts=LIB_COMPILER_FLAGS,
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+        "//sys/src/cmd/rc"
+    ],
+    deps=[
+        ":syn",
+        "//sys/src/libip:libkip",
+        "//sys/src/libbio:libbio",
+        "//sys/src/libauth:libauth",
+        "//sys/src/libndb:libndb",
+        "//sys/src/libString:libString",
+        "//sys/src/lib9p:lib9p",
+        "//sys/src/libc:libc",
+    ],
+    linkopts=[
+        "-static",
+        "-e_main"
+    ],
+    srcs=[
+        "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",
+        "x.tab.c",
+    ]
+)
+
+yacc(
+    name="syn",
+    yaccopts=[
+        "-d",
+        "--file-prefix=x"
+    ],
+    srcs=[
+        "syn.y"
+    ],
+    hdrs=[
+        "x.tab.h"
+    ],
+    exports=[
+        "x.tab.c"
+    ]
+)

+ 30 - 0
sys/src/cmd/usb/usbd/BUILD

@@ -0,0 +1,30 @@
+load("//sys/src/FLAGS",  "CMD_DEPS", "CMD_LINK_OPTS", "LIB_COMPILER_FLAGS")
+
+DEPS =[
+	":devtab",
+	"//sys/src/libusb:libusb",
+]
+
+USBD_DEPS = DEPS+ CMD_DEPS 
+
+cc_binary(
+	name = "usbd",
+	copts = LIB_COMPILER_FLAGS,
+	includes=[
+		"//sys/include",
+		"//amd64/include",
+		"//sys/src/cmd/usb/usbd",
+	],
+	deps=USBD_DEPS,
+	srcs = [
+		"usbd.c",
+		"dev.c",
+		"devtab.c",
+	],
+	linkopts=CMD_LINK_OPTS,
+)
+
+usb(
+	name="devtab",
+	conf="usbdb.json",
+)

+ 138 - 0
sys/src/cmd/venti/BUILD

@@ -0,0 +1,138 @@
+load("//sys/src/FLAGS", "LIB_COMPILER_FLAGS", "CMD_DEPS", "CMD_LINK_OPTS")
+
+cc_binary(
+    name="copy",
+    copts=LIB_COMPILER_FLAGS,
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    deps=CMD_DEPS,
+    linkopts=CMD_LINK_OPTS,
+    srcs=[
+        "copy.c",
+    ],
+)
+cc_binary(
+    name="read",
+    copts=LIB_COMPILER_FLAGS,
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    deps=CMD_DEPS,
+    linkopts=CMD_LINK_OPTS,
+    srcs=[
+        "read.c",
+    ],
+)
+
+cc_binary(
+    name="ro",
+    copts=LIB_COMPILER_FLAGS,
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    deps=CMD_DEPS,
+    linkopts=CMD_LINK_OPTS,
+    srcs=[
+        "ro.c",
+    ],
+)
+
+cc_binary(
+    name="sync",
+    copts=LIB_COMPILER_FLAGS,
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    deps=CMD_DEPS,
+    linkopts=CMD_LINK_OPTS,
+    srcs=[
+        "sync.c",
+    ],
+)
+
+cc_binary(
+    name="write",
+    copts=LIB_COMPILER_FLAGS,
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    deps=CMD_DEPS,
+    linkopts=CMD_LINK_OPTS,
+    srcs=[
+        "write.c",
+    ],
+)
+
+cc_binary(
+    name="devnull",
+    copts=LIB_COMPILER_FLAGS,
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    deps=CMD_DEPS,
+    linkopts=CMD_LINK_OPTS,
+    srcs=[
+        "devnull.c",
+    ],
+)
+
+cc_binary(
+    name="mkroot",
+    copts=LIB_COMPILER_FLAGS,
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    deps=CMD_DEPS,
+    linkopts=CMD_LINK_OPTS,
+    srcs=[
+        "mkroot.c",
+    ],
+)
+
+cc_binary(
+    name="randtest",
+    copts=LIB_COMPILER_FLAGS,
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    deps=CMD_DEPS,
+    linkopts=CMD_LINK_OPTS,
+    srcs=[
+        "randtest.c",
+    ],
+)
+cc_binary(
+    name="readlist",
+    copts=LIB_COMPILER_FLAGS,
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    deps=CMD_DEPS,
+    linkopts=CMD_LINK_OPTS,
+    srcs=[
+        "readlist.c",
+    ],
+)
+cc_binary(
+    name="root",
+    copts=LIB_COMPILER_FLAGS,
+    includes=[
+        "//sys/include",
+        "//amd64/include",
+    ],
+    deps=CMD_DEPS,
+    linkopts=CMD_LINK_OPTS,
+    srcs=[
+        "root.c",
+    ],
+)

+ 68 - 0
sys/src/cmd/venti/srv/BUILD

@@ -0,0 +1,68 @@
+load("//sys/src/FLAGS", "LIB_COMPILER_FLAGS", "CMD_DEPS", "CMD_LINK_OPTS")
+
+cc_library(
+	name = "libvs",
+	copts = LIB_COMPILER_FLAGS,
+	includes=[
+		"//sys/include",
+		"//amd64/include",
+	],
+	srcs = [
+		"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",
+	],
+)
+DEPS = [
+	":libvs",
+]
+
+VENTI_DEPS =DEPS +CMD_DEPS 
+
+cc_binary(
+	name = "venti",
+	copts = LIB_COMPILER_FLAGS,
+	includes=[
+		"//sys/include",
+		"//amd64/include",
+	],
+	srcs=[
+		"venti.c"
+	],
+	linkopts = CMD_LINK_OPTS,
+	deps =VENTI_DEPS,
+)