invoke コマンドによる簡易代替makefile ======================================== 概要 ------- * Python タスクランナ :blue:`invoke` で、簡易に :blue:`makefileの代替` が作成可能. * :blue:`ビルド・実行・ポスト処理・クリーンアップ` などを簡易にコマンド化. `invoke` のインストール --------------------------- .. code-block:: bash pip install invoke | 使用方法 -------------------------- * カレントディレクトリに :blue:`tasks.py` ファイルを用意. * 各種コマンドを実行. ( e.g. ``$ invoke build`` , etc. ) | 代表構成コマンド -------------------- 1. **ビルド(build)** * 指定されたファイル(または任意のソース)をコンパイル. .. code-block:: bash invoke build --file=input.src - Makefileとは異なり、依存関係は見れない. 2. **実行(run)** * コンパイル済みのバイナリを実行します。 .. code-block:: bash invoke run - 何を実行するかは **tasks.py** に記載. 3. **ポスト処理(post)** 実行結果に対して、ポスト処理スクリプトを実行. .. code-block:: bash invoke post - 実行内容は、 **tasks.py** に記載する. 4. **クリーン(clean)** ビルドで生成した中間ファイルやバイナリ等を削除. .. code-block:: bash invoke clean | サンプル tasks.py ---------------------- .. literalinclude:: codes/tasks.py :language: python | ファイル構成例 ------------------ .. code-block:: none project/ ├── tasks.py # invoke タスク定義 ├── input.f90 # コンパイル対象ソース(例: Fortran) └── post.py # ポスト処理用スクリプト(任意) | 補足 --------- * コマンド一覧確認. .. code-block:: bash invoke --list