From 3a86e89116b896e9410670192a6f64b4fe664fdb Mon Sep 17 00:00:00 2001 From: "Justin C. Miller" Date: Sat, 5 May 2018 11:01:34 -0700 Subject: [PATCH] Update wscripts --- src/kernel/wscript | 6 ++++++ wscript | 47 ++++++++++++++++++++-------------------------- 2 files changed, 26 insertions(+), 27 deletions(-) diff --git a/src/kernel/wscript b/src/kernel/wscript index e0a04bd..3cc343e 100644 --- a/src/kernel/wscript +++ b/src/kernel/wscript @@ -19,4 +19,10 @@ def build(bld): linkflags = "-T {}".format(lds), ) + bld( + source = bld.env.KERNEL_FILENAME, + target = "{}/kernel.dump".format(bld.out_dir), + rule = "objdump -D ${SRC} > ${TGT}", + ) + # vim: ft=python et diff --git a/wscript b/wscript index 313e6e5..f4585f6 100644 --- a/wscript +++ b/wscript @@ -161,28 +161,6 @@ def build(bld): out = bld.root.make_node(bld.out_dir) kernel_name = bld.env.KERNEL_FILENAME - boot = out.make_node(join("efi", "boot", "bootx64.efi")) - kernel = out.make_node(kernel_name) - font = out.make_node("screenfont.psf") - - bld( - source = out.make_node(join("src", "boot", "boot.efi")), - target = boot, - rule = "mkdir -p $(dirname ${TGT}) && cp ${SRC} ${TGT}" - ) - - bld( - source = out.make_node(join("src", "kernel", kernel_name)), - target = kernel, - rule = "mkdir -p $(dirname ${TGT}) && cp ${SRC} ${TGT}" - ) - - bld( - source = src.make_node(join("assets", "fonts", bld.env.FONT_NAME)), - target = font, - rule = "mkdir -p $(dirname ${TGT}) && cp ${SRC} ${TGT}" - ) - bld( source = src.make_node(join("assets", "floppy.img")), target = out.make_node("popcorn.img"), @@ -195,9 +173,18 @@ def build(bld): rule = "cp ${SRC} ${TGT}", ) - for node in (boot, kernel, font): - bld.add_group() - bld(source = node, rule = "${mcopy} -i popcorn.img ${SRC} ::${SRC}") + bld( + source = [ + out.make_node(join("src", "boot", "boot.efi")), + out.make_node(join("src", "kernel", kernel_name)), + src.make_node(join("assets", "fonts", bld.env.FONT_NAME)), + ], + rule = "; ".join([ + "${mcopy} -i popcorn.img ${SRC[0]} ::/efi/boot/bootx64.efi", + "${mcopy} -i popcorn.img ${SRC[1]} ::/", + "${mcopy} -i popcorn.img ${SRC[2]} ::/screenfont.psf", + ]), + ) def qemu(ctx): @@ -217,8 +204,14 @@ def qemu(ctx): ]) -def listen(ctx): - subprocess.call("nc -l -p 5555", shell=True) +def vbox(ctx): + import os + from shutil import copy + from subprocess import call + + dest = os.getenv("VBOX_DEST") + copy("{}/popcorn.img".format(out), "{}/popcorn.img".format(dest)) + call("nc -l -p 5555", shell=True) # vim: ft=python et