[meson] Add disassembly output as a target
diff --git a/meson.build b/meson.build
index 1df4b00..279b5ad 100644
--- a/meson.build
+++ b/meson.build
@@ -41,6 +41,7 @@
 
 # Common program references.
 prog_python = import('python').find_installation('python3')
+prog_objdump = find_program('objdump')
 prog_objcopy = find_program('objcopy')
 prog_srec_cat = find_program('srec_cat')
 prog_git = find_program('git')
@@ -55,9 +56,9 @@
 
 # Additional arguments for utility in charge of generating bin and vmem outputs
 # These variables are expected to be used in custom_target rules.
-embedded_target_output = ['@BASENAME@.bin', '@BASENAME@.vmem']
+embedded_target_output = ['@BASENAME@.bin', '@BASENAME@.dis', '@BASENAME@.vmem']
 embedded_target_args = [prog_python, '../util/embedded_target.py',
-  '--objcopy', prog_objcopy, '--srec_cat', prog_srec_cat,
+  '--objcopy', prog_objcopy, '--srec_cat', prog_srec_cat, '--objdump', prog_objdump,
   '--input', '@INPUT@', '--basename', '@BASENAME@', '--outdir', '@OUTDIR@']
 
 # Hardware register headers. These are generated from HJSON files, and accesible
diff --git a/util/embedded_target.py b/util/embedded_target.py
index fc32d36..280cbe6 100644
--- a/util/embedded_target.py
+++ b/util/embedded_target.py
@@ -14,6 +14,14 @@
 import sys
 
 
+def run_objdump(objdump, input, basename, outdir):
+    filename = basename + '.dis'
+    output = os.path.join(outdir, filename)
+    f = open(output, "w")
+    cmd = [objdump, '-SD', input, ]
+    subprocess.run(cmd, stdout=f, check=True)
+    return output
+
 def run_objcopy(objcopy, input, basename, outdir):
     filename = basename + '.bin'
     output = os.path.join(outdir, filename)
@@ -52,6 +60,11 @@
         required=True,
         help='Absolute path to objcopy tool.')
     parser.add_argument(
+        '--objdump',
+        '-p',
+        required=True,
+        help='Absolute path to objdump tool.')
+    parser.add_argument(
         '--outdir',
         '-d',
         required=True,
@@ -67,6 +80,7 @@
         os.makedirs(args.outdir)
 
     bin_file = run_objcopy(args.objcopy, args.input, args.basename, args.outdir)
+    run_objdump(args.objdump, args.input, args.basename, args.outdir)
     run_srec_cat(args.srec_cat, bin_file, args.basename, args.outdir)