| name | rebrgen-build |
| description | rebrgen のビルド・再生成手順を提示する。ビルドエラー、EBM構造変更、ebmcodegen の再生成、新言語ジェネレーター追加時に参照する。 |
通常のビルド
python script/build.py
初回セットアップ時:
python script/auto_setup.py
設定は build_config.json(build_config.template.json からコピー)にある。親 brgen のツールと futils を自動セットアップする場合は、それぞれ AUTO_SETUP_BRGEN と AUTO_SETUP_FUTILS を有効にする。言語ジェネレーターは設定で個別選択せず、src/ebmcg/ と src/ebmip/ から列挙される。
EBM 構造変更後の再生成
extended_binary_module.bgn を変更したら必ず実行:
python script/update_ebm.py
このスクリプトが行うこと:
src/ebm/ebm.py で .hpp/.cpp を再生成
script/build.py でビルド
ebmcodegen --mode subset → src/ebmcodegen/body_subset.cpp
ebmcodegen --mode json-conv-header/source → src/ebmgen/json_conv.hpp/.cpp
- 変更があれば再ビルド
- テスト用 hex データ生成
ebmcodegen 自体が壊れているとき
export CODEGEN_ONLY=1
python script/build.py
export CODEGEN_ONLY=0
python script/ebmcodegen.py all
python script/build.py
新しい言語ジェネレーターを追加するとき
python script/ebmcodegen.py <lang_name>
python script/build.py
python script/unictest.py --target-runner ebm2<lang_name>
開発サイクルの優先順序
コードを変更したら次の編集に進む前に確認する (数字が小さいほど優先):
python script/unictest.py --target-runner <lang> — 最優先
python script/build.py native Debug
- 新規ファイルを追加した場合のみ:
python script/ebmcodegen.py <lang>
- EBM 構造変更時のみ:
python script/update_ebm.py