Updating wscripts to use custom tasks

This commit is contained in:
Justin C. Miller
2018-05-09 10:16:44 -07:00
parent 7ded9fe219
commit 87e7c5f00a
3 changed files with 80 additions and 30 deletions

View File

@@ -19,10 +19,25 @@ 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}",
)
from waflib.Task import Task
class objdump(Task):
color = 'PINK'
def keyword(self):
return "Dumping"
def __str__(self):
node = self.outputs[0]
return node.path_from(node.ctx.launch_node())
def run(self):
from subprocess import check_output
args = self.env.objdump + ["-D", self.inputs[0].abspath()]
with file(self.outputs[0].abspath(), 'w') as output:
output.write(check_output(args))
out = bld.path.get_bld()
dump = objdump(env=bld.env)
dump.set_inputs([out.make_node(bld.env.KERNEL_FILENAME)])
dump.set_outputs([out.make_node("kernel.dump")])
bld.add_to_group(dump)
# vim: ft=python et