Androidアプリケーションはmakeするのにmkファイルを書く。
NDKはデフォルトで /jni/Android.mk を探しにいくようだ。どうりで設定ファイルらしき
ものが無かった。
jni 配下の別の場所にAndroid.mlを作成した場合は、以下の用に設定して、サブディレクトリ
を検索させる。
include $(call all-subdir-makefiles)
1つのAndroid.mkファイルに複数のモジュールを登録可能だし、
複数のAndroid.mlを使用することも可能。
ヘッダーリストや生成されたファイルの依存関係については、Android.mkに
記述しない。これは、NDKがアップデートされても、Android.mkはそのままで
良いというメリットにつながる。
以下、Native Support を Androidプロジェクトに設定すると、以下の用なmkファイルが
作成される。
- LOCAL_PATH := $(call my-dir) ← Android.mkは必ずこの宣言からはじまる。my-dirはNDKコードで定義されたマクロであり、カレントディレクトリを示す。
- include $(CLEAR_VARS) ← 必須項目。CLEAR_VARS は NDKシステムにより提供される変数である、特別なGNU Makefileを指している。LOCAL_PATHを除いたいくつかのLOCAL_~変数をクリアする。1つのGNU Makeによりパースされ、全変数はglobalとして扱われる。
- LOCAL_MODULE := IRClientAndroid ← 必須。一意のモジュール名。ホワイトスペースは使えない。libXXX.soのXXXに入る名前を決定する部分である。
- LOCAL_SRC_FILES := IRClientAndroid.cpp ← モジュールに含めるC++ソースリストの定義。ヘッダファイルやインクルードファイルは含めないこと。
- include $(BUILD_SHARED_LIBRARY) ← 動的共有ライブラリを作成する場合に指定。
次はそれについて。
0 件のコメント:
コメントを投稿