ビルド定義 Makefile
Makefileはbuild/Makefileに格納されています。makeコマンドを実行することで、アクトをビルドするよう予め定義されています。
プロジェクトディレクトリを他の環境からコピーしたあとには、必ずbuild/objs_???ディレクトリを削除してください。他の環境での中間ファイルが残っているとmakeがエラーになります。
(MWSDK 2020-04) USE_APPDEPS=0 を付加して clean してから、改めて make コマンドを実行することでエラーを回避できます。
$ make USE_APPDEPS=0 TWELITE=BLUE clean
...
$ make TWELITE=BLUE
makeのパラメータ
TWELITE=
ビルド対象をBLUEまたはREDで指定します。TWELITE BLUEならmake TWELITE=BLUEと指定します。
all
ビルドを実行します。通常は省略してmake TWELITE=BLUEのように実行します。
clean
ビルドの中間ファイルを削除します。make TWELITE=BLUE cleanのように実行します。
cleanall
すべての中間ファイルを削除します。make cleanallのように実行します。buildディレクトリのobjs_???ディレクトリをすべて削除するのと同じです。
USE_APPDEPS=0 または 1
1 (デフォルト) を設定すると、ファイルの依存関係をもとに、ビルドファイルを決定します。例えば、ヘッダファイルに変更があった場合に関連するソースファイルが再コンパイル対象となります。
0 では依存関係を評価しません。0 に設定した場合、矛盾ある中間ファイルが残っていても makefile がエラーになりません。
Makefile 定義
アクトの規模に応じて、また、ビヘイビアの定義をする場合には、通常はソースファイルを分割してビルドします。
ビルドファイルの一つは{プロジェクトフォルダ名.cpp}です。
他にファイルを定義する場合は、プロジェクトフォルダのbuild/Makefileを編集します。
上記はサンプルPAL_AMB-bihaviorでのMakefileの例です。
VERSION_???
バージョン番号を指定します。ビルド結果ファイル名に反映されます。
コンパイル中は -DVERSION_MAIN=0 -DVERSION_SUB=1 -DVERSION_VAR=0のように定義として渡されます。
ソースファイルの追加
(MWSDK 2020-04) サブディレクトリにファイルを配置しない場合は、追加指定は不要になりました。プロジェクトファイルにある .c .cpp ファイルがすべて追加されます。
ソースファイルを追加する際に必要なのはAPPSRC_CXXとAPP_COMMON_SRC_DIR_ADD?です。
ソースファイル名をAPPSRC_CXXに追記します。このファイル名にはディレクトリ名が含まれてはいけません。サブディレクトリにあるものもディレクトリなしで指定します(つまり同じファイル名がサブディレクトリにある場合は、ビルドが失敗します)
次にソースファイルがプロジェクトディレクトリ以外の場所に格納されている場合の検索パスを指定します。最大4つまで設定できます。
ディレクトリの指定はMakefileからの相対パスになります。
コンパイル・リンカオプション
その他にもいくつかのオプションをコンパイラ・リンカに渡すことができます。
指定
内容
CXXFLAGS
C++ソースファイルに対してコンパイルオプションを指定します。
CFLAGS
C/C++ソースファイルに対してコンパイルオプションを指定します。
INCFLAGS
ヘッダファイルのインクルードファイル指定をします。
OPTFLAGS
特別な理由があって-Os以外のコンパイルオプションを適用したい場合に定義します。
LDFLAGS
リンカオプションを指定します。(上記Makefileのコメントには記述はありませんが指定は可能です)
最終更新