Files
tactility/Buildscripts/build-all.py
T
Ken Van Hoeylandt 19b11eb9a8 Remove TactilityC and Firmware subprojects (#638)
- Removed TactilityC, moved its symbols to existing modules and several new ones (pthread-module, c-symbols-module, cpp-symbols-module, posix-symbols-module, freertos-module).
- Removed Firmware subproject and moved main() into Tactility subproject.
- Strengthened application archive, path, version, stack-size, and device validation.
- Moved symbol resolution for elf_loader to app-esp32-module.
- Improved `struct Module` declarations and made module and symbol definitions in modules more consistent.
- Removed old http download code from Tactility subproject.
- Rename app-module's source files for consistency.
- Add missing pthread symbols.
- Kernel module symbols are now resolvable on all platforms.
2026-08-29 21:06:43 +02:00

38 lines
1.1 KiB
Python

import os
import subprocess
import shutil
import time
def build(device: str) -> bool:
print(f"Building {device}...")
result = subprocess.run(['python', 'device.py', device], capture_output=True, text=True)
if result.returncode != 0:
print(f"Failed to select device {device}")
return False
result = subprocess.run(['idf.py', f"-Bbuild-all-{device}", 'build'], capture_output=True, text=True)
if result.returncode != 0:
print(f"Build failed for {device}:")
print(result.stdout)
print(result.stderr)
return result.returncode == 0
def main():
start_time = time.time()
buildscripts_dir = 'Devices'
if not os.path.exists(buildscripts_dir):
print(f"Directory '{buildscripts_dir}' not found.")
return
for item in os.listdir(buildscripts_dir):
item_path = os.path.join(buildscripts_dir, item)
if os.path.isdir(item_path) and item != 'simulator':
if not build(item):
return
print("All builds succeeded.")
end_time = time.time()
print(f"Elapsed time: {end_time - start_time:.2f} seconds")
if __name__ == "__main__":
main()