lift_indicator_suite/Justfile

56 lines
2.4 KiB
Makefile
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# =============================================================================
# Корневой justfile — точка входа для всех команд
# Может выполняться на хосте или внутри devcontainer
#
# Быстрый старт:
# just # показать все доступные команды
# just bootstrap # первая настройка после git clone (на хосте)
# just build ... # сборка (внутри devcontainer)
# just host::flash # прошивка (на хосте)
# =============================================================================
# === Глобальные настройки ===
# Все модули наследуют эти настройки
# Bash вместо sh; -e прерывает при ошибке, -u — при необъявленной переменной,
# -o pipefail — при ошибке в любом элементе пайпа
set shell := ["bash", "-euo", "pipefail", "-c"]
# экспортируем все just-переменные в окружение
set export
# автоматически загружать .env
set dotenv-load
# === Общие переменные (доступны во всех модулях через export) ===
BOARD := env('BOARD', 'MIMXRT1052')
BUILD_DIR := env('BUILD_DIR', justfile_directory() / 'build')
TOOLS_DIR := env('TOOLS_DIR', justfile_directory() / 'tools/host')
CACHE_DIR := justfile_directory() / '.cache'
# === Модули ===
# Каждый модуль — это namespace с изолированными рецептами
# host.just — операции на хост-машине
mod host 'just/host.just'
# build.just — сборка в DevContainer
mod build 'just/build.just'
# ci.just — CI/CD сценарии
mod ci 'just/ci.just'
# === Default рецепт ===
# Вызывается при `just` без аргументов
# Показывает полное дерево команд из всех модулей
default:
@just --list --list-submodules
# === Популярные алиасы ===
[doc('Первичная настройка окружения после git clone (на хосте)')]
init:
@just host::bootstrap
[doc('Собрать все HAB-образы в Release')]
build-all:
@just build::hab-all-release
[doc('Запустить CI pipeline')]
run-ci:
@just ci::pipeline