以下の表は irisSDK ツリーのビルド条件を変更するための環境変数の一覧です.これらの値は通常の環境変数で設定するほかに make コマンドの引数として make IRIS_DEBUG=True などと受け渡すことや Makefile などで IRIS_DEBUG=True などと記述することで設定可能です.無設定時は初期値が使用されます.
| CWFolder_IRIS または CWFOLDER_IRIS |
CodeWarrior のインストールされているディレクトリです. CodeWarrior for IRIS をインストールすると自動的に設定されます. cygwin の bash で設定するときは
とシングルクウォートで囲む必要があります.Windows の環境変数で設定するときは
となります.パスの区切り文字として / と \ の両方が使用できます.初期値: C:\Program Files\Metrowerks\CodeWarrior for IRIS V0.1 |
||||||
|---|---|---|---|---|---|---|---|
| LM_LICENSE_FILE | CodeWarrior のライセンスファイルが入っているディレクトリ. 初期値:なし.通常は必要ありません |
||||||
| IRISSDK_ROOT ★重要 |
IRISSDK がインストールされているディレクトリであり、 $cvsroot/irisSDK が展開されているディレクトリです. パスの区切り文字として / と \ の両方が使用できますが、CodeWarrior の IDE では \ であることが望まれる場合が多いため \ を使うほうことをお勧めします. 初期値:C:\irisSDK |
||||||
| IRIS_PLATFORM | IRISのコンパイルターゲットを以下のように指定します.
|
||||||
| IRIS_MEMSIZE | IRISのコンパイルターゲットのメインメモリサイズを指定します.
|
||||||
| IRIS_CCTYPE | コンパイラの指定. ただし現状では CodeWarrior のみサポートします.
|
||||||
| IRIS_DEBUG IRIS_RELEASE IRIS_FINALROM ★重要 |
ターゲットのコンパイルターゲットを DEBUG 版か RELEASE 版か FINALROM 版から選べます.この設定によって
make コマンド実行時にコンパイルオプションやリンクされるライブラリが変わります.この変数は他の変数と異なり3つのうちのどれかひとつに適当な値を設定することで有効になります. 初期値:IRIS_RELEASE |
||||||
| IRIS_LINK_ISD | IS IRIS EMULATOR ライブラリをリンクしたいときに何か値を設定します. 初期値: 値なし (=リンクせず) |
||||||
| IS_IRIS_DIR | IS IRIS EMULATOR 関連ファイルのインストールされているディレクトリです. IS IRIS EMULATOR をインストールすると自動的に設定されます. IRIS_LINK_ISD が定義されているときのみ意味を持ちます. 初期値: C:/Program Files/INTELLIGENT SYSTEMS/IS-IRIS-EMULATOR |
以下の表は irisSDK ツリーのビルド条件を #ifdef 〜 #endif 構文などによってソース側から知るためのマクロ変数の一覧です.基本的には前項での環境変数による設定によってコントロールされます.
すべての名称が SDK_ で始まります.
| SDK_BB SDK_TEG SDK_TS |
IRISのコンパイルターゲットの指定(環境変数 IRIS_PLATFORM) に応じてどれか一つが定義されます.
|
||||||||
|---|---|---|---|---|---|---|---|---|---|
| SDK_4M SDK_8M |
IRISのコンパイルターゲットのメインメモリサイズの指定(環境変数 IRIS_MEMSIZE)に応じてどちらかが定義される.
|
||||||||
| SDK_ARM9 SDK_ARM7 |
どちらのプロセッサ向けのコンパイル・アセンブルが行われているかによってどちらかが定義される.
|
||||||||
| SDK_CODE_ARM SDK_CODE_THUMB |
コンパイラオプションで ARM コードか Thumb コードのどちらを生成するように設定されているかを示します. これはあくまで「初期設定」を示すものです.実際にどちらのコードの生成が行われているかはコンパイラに組み込まれている定義マクロを参照する必要があります.(CW の場合 __thumb__) pragma を使いソースの一部の範囲で明示的にでコードの生成を切り換えた場合、その範囲の終了時にはコード生成をこの値で示される設定に戻しておくことを推奨します.
|
||||||||
| SDK_CW SDK_ADS SDK_GCC |
使用されているコンパイラに応じてどれか一つが定義される.
|
||||||||
| SDK_ASM | アセンブラによってアセンブルされている場合に定義されます. Cのヘッダファイルを共用する場合にアセンブラではエラーになる記述を書きたいときに利用できる. |
||||||||
| SDK_DEBUG SDK_RELEASE SDK_FINALROM ★重要 |
ターゲットのコンパイルターゲットを DEBUG 版か RELEASE 版か FINALROM 版かどれするかという指定に応じてどれか一つが定義されます.
|
||||||||
| その他 | その他以下のような一時的なコンパイルスイッチが準備されています.これらのユーザによるコンパイルの切り替えについての汎用的な方法は現状では用意されていません.検索時のキーワードとしてご使用ください.
|
以下の表は irisSDK の Makefile において各ディレクトリごとのビルド条件を設定するためのものです.ソースの場所や連鎖する Makefile の指定を行ないます.
| SUBDIRS ★重要 |
make 処理を連鎖させたいディレクトリを列挙します. 初期値:なし |
||||||||
|---|---|---|---|---|---|---|---|---|---|
| SRCS ★重要 |
コンパイル/アセンブルしたいソースファイルを列挙します. make はそれぞれのファイルの拡張子に応じて以下の表で示したプログラミング言語のコンパイラ/アセンブラでオブジェクトファイルを生成しようと試みます.
|
||||||||
| SRCDIR | ソースファイルのディレクトリを指定します. 初期値:./src この初期値は make を行ったディレクトリから相対パス src で指定されたディレクトリを意味します. |
||||||||
| INCDIR |
プライベートインクルードファイル(モジュール固有のインクルードファイル)がある場合はそのディレクトリを指定します.必要がなければ使用する必要はありません. 初期値:./include |
||||||||
| OBJDIR BINDIR LIBDIR 書き換え禁止 |
make によって各一時ファイルが出力されるディレクトリです. ソースツリーの都合で変更することがあるので個別のディレクトリのMakefile 内で上書きすることは避けてください. |
||||||||
| LCFILE | 独自のリンクコマンドファイル(.lcf)を使いたい場合は指定します. 初期値:$irisSDK/include/iris/arm9.$(IRIS_PLATFORM).lcf |
||||||||
| TARGET_BIN ★重要 |
.bin 形式または .axf 形式のターゲットファイルを指定します. SRCS で指定されたソースファイルをコンパイル/アセンブルしてできたオブジェクトファイルをリンクしターゲットファイルとします. .bin ファイルをターゲットに指定した場合は .axf ファイルも自動的に作成されます. |
||||||||
| TARGET_LIB | ライブラリファイルを作成したいときに指定します. SRCS で指定されたソースファイルをコンパイル/アセンブルしてできたオブジェクトファイルを連結しライブラリとします. 通常 TARGET_BIN と TARGET_LIB は同時に設定しません. |
||||||||
| TARGET_OBJ | オブジェクトファイルをターゲットとして作成したいときに指定します. これは通常はあまり使うことはありません.ライブラリでは crt0.s をコンパイルし、ライブラリとしてインストールするときに使用しています. |
||||||||
| CODEGEN_PROC ★ARM7 で重要 |
メインプロセッサとサブプロセッサのどちらのコードを生成するのかを切り替えるスイッチです.
|
||||||||
| CODEGEN_CC CODEGEN_AS |
コンパイラおよびアセンブラに ARM コードか Thumb コードのどちらを生成するかのデフォルト値を与えます.無論ソース内で明示的に指定がなければこの設定に添ってコードが生成されます.
CODEGEN_PROC が ARM9 のとき CODEGEN_CC/ CODEGEN_AS 共に ARM CODEGEN_PROC が ARM7 のとき CODEGEN_CC は THUMB、CODEGEN_AS は ARM |
||||||||
| TARGETS 書き換え禁止 |
TARGET_BIN と TARGET_LIB に相対パスが付いたものが自動的に設定されます..bin/.a ファイルは IRIS_PLATFORM およびIRIS_DEBUG/ IRIS_RELEASE/ IRIS_FINALROM の設定により格納されるディレクトリが変化します.この変化を吸収するためにこのマクロが用意されています. | ||||||||
| INSTALL_TARGETS | インストールしたいファイルを列挙します.この設定に上記の TARGETS が有効に機能します. 初期値:なし |
||||||||
| INSTALL_DIR | ファイルのインストール先を設定します. 初期値:なし |
||||||||
| LINCLUDES | 他のインクルードファイルがある場合はそのディレクトリを指定します. | ||||||||
| LLIBRARY_DIRS LLIBRARIES |
他のライブラリファイルがある場合はそのディレクトリを LLIBRARY_DIRS、ライブラリファイルを LLIBRARIES でそれぞれ列挙します. |