# 環境変数について

TWELITE STAGE APP では、内部的に環境変数を設定して make などのビルドプログラムの動作を行います。事前に環境変数の設定は不要です。

### 内部的に設定される環境変数

| 環境変数                                       | 解説                                                                                                                                                                                                                                                                                          |
| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `MWSDK_ROOT`                               | 標準では TWELITE STAGE APP の実行形式が格納されるフォルダにある `MWSDK` フォルダ(つまり`../MWSTAGE/MWSDK`)が指定されます。 `MWSDK.ini`が指定される場合は、指定されたフォルダ名を採用します。                                                                                                                                                                |
| `MWSDK_TWENET_LIBSRC`                      | <p>サンプルコードやTWELITE APPSのソースコードフォルダには、Microsoft社の Visual Studio Code (VS Code) 用の定義ファイルを予め作成しています。この定義ファイル中にVS Codeエディタ中でコード解釈を行う目的でライブラリソースコードの参照先を指定しますが、この環境変数を用いています。<br><code>MWSDK\_TWENET\_LIBSRC</code>環境変数が適切に指定されると、MWSDK以下ではないプロジェクトフォルダでもコード解釈が行われ、ライブラリ関数名の補完などが機能します。（参考１）</p> |
| `LANG=C`                                   | ツールチェインのメッセージを規定の言語(英語)にするため、明示的に設定しています。                                                                                                                                                                                                                                                   |
| `PATH`                                     | Windowsでは、SDK添付のmsysユーティリティへのPATHを追加します                                                                                                                                                                                                                                                     |
| `MWSDK_MAKE_JOBS` `MWSDK_MAKE_DISABLE_LTO` | <p>VS Codeの設定定義で利用します。<br><code>JOBS</code> : STAGE APPで設定された並列ビルド数を渡します<br><code>DISABLE\_LTO</code> : LTOを無効化します(<code>Windows</code>)</p>                                                                                                                                                |

#### 参考１

`.vscode/settings.json` の設定例（抜粋）

```
    "C_Cpp.default.includePath": [
        "${env:MWSDK_TWENET_LIBSRC}/include/**",
        "${env:MWSDK_TWENET_LIBSRC}/src/**"
    ],
    "C_Cpp.default.browse.path": [
        "${env:MWSDK_TWENET_LIBSRC}/include/**",
        "${env:MWSDK_TWENET_LIBSRC}/src/**"
    ],
```

"`../../`"で始まる定義は、TWELITE STAGEアプリからプロジェクトを開く場合は不要です。環境変数`MWSDK_TWENET_LIBSRC`を設定しない場合に、既定のフォルダ構成の時にソース参照先を指定しています。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://stage.twelite.info/misc/envvars.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
