summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xfw/btl/build.py29
-rw-r--r--fw/btl/meson.build11
-rw-r--r--web/layouts/home.html1
-rw-r--r--web/meson.build1
4 files changed, 42 insertions, 0 deletions
diff --git a/fw/btl/build.py b/fw/btl/build.py
new file mode 100755
index 0000000..6478701
--- /dev/null
+++ b/fw/btl/build.py
@@ -0,0 +1,29 @@
+#!/usr/bin/env python3
+
+
+import multiprocessing
+import shutil
+import subprocess
+import sys
+import pathlib
+
+
+build_tree = pathlib.Path(sys.argv[1])
+output_dir = build_tree.parent
+
+
+subprocess.run(
+ [
+ "make",
+ f"-j{multiprocessing.cpu_count()}",
+ "-C",
+ f"{str(build_tree)}",
+ ],
+ shell=False,
+ check=True,
+)
+
+shutil.copy(
+ build_tree / "zephyr" / "zephyr.bin",
+ output_dir / "bootloader.bin"
+)
diff --git a/fw/btl/meson.build b/fw/btl/meson.build
index b783191..37c8c25 100644
--- a/fw/btl/meson.build
+++ b/fw/btl/meson.build
@@ -12,3 +12,14 @@ bootloader_project = external_project.add_project('configure.py',
],
verbose: true,
)
+
+bootloader = custom_target('bootloader',
+ output: ['bootloader.bin'],
+ command: [
+ meson.current_source_dir() / 'build.py',
+ meson.current_build_dir() / 'build',
+ ],
+ build_by_default: true,
+ install: true,
+ install_dir: 'website/static',
+)
diff --git a/web/layouts/home.html b/web/layouts/home.html
index bf534cf..4f1f7fc 100644
--- a/web/layouts/home.html
+++ b/web/layouts/home.html
@@ -3,5 +3,6 @@
<ul>
<li><a href="static/bill-of-materials.csv">bill-of-materials.csv</a></li>
<li><a href="static/schematic.pdf">schematic.pdf</a></li>
+ <li><a href="static/bootloader.bin">bootloader.bin</a></li>
</ul>
{{- end -}}
diff --git a/web/meson.build b/web/meson.build
index 1526621..270b7c3 100644
--- a/web/meson.build
+++ b/web/meson.build
@@ -13,6 +13,7 @@ website = custom_target('website',
depends: [
schematic,
bom,
+ bootloader,
],
build_by_default: true,
install: true,