diff options
| author | xengineering <me@xengineering.eu> | 2025-04-06 14:24:06 +0200 | 
|---|---|---|
| committer | xengineering <me@xengineering.eu> | 2025-04-06 14:24:06 +0200 | 
| commit | 5376b67a9df63d2b30cac415cb827e6b4c1674e9 (patch) | |
| tree | c679795279cadf7e5b5902edf5edf33370028cfa /fw/btl | |
| parent | e28796985d5f605fbdb1f5043618b1f570e747af (diff) | |
| download | iot-contact-5376b67a9df63d2b30cac415cb827e6b4c1674e9.tar iot-contact-5376b67a9df63d2b30cac415cb827e6b4c1674e9.tar.zst iot-contact-5376b67a9df63d2b30cac415cb827e6b4c1674e9.zip  | |
Build bootloader and add to website
Meson makes this relatively easy. The current approach is nevertheless a
bit hacky. For the first attempt it is still way better than CMake
ExternalProject.
Diffstat (limited to 'fw/btl')
| -rwxr-xr-x | fw/btl/build.py | 29 | ||||
| -rw-r--r-- | fw/btl/meson.build | 11 | 
2 files changed, 40 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', +)  | 
