最終更新:2019-09-24 (火) 14:34:59 (322d)  

Android.mk
Top / Android.mk

Android NDKで使うMakefile

<project>/jni/Android.mk
  • にあり、ファイルやライブラリの情報を定義

http://developer.android.com/ndk/guides/android_mk.html

基本情報

内容

  • ソースコード、モジュール名、ライブラリなどの依存関係

Android.mk/変数

インクルード変数

ターゲット情報変数

モジュール記述変数

  • LOCAL_PATHパスを指定(最初に定義しなければならない)
    LOCAL_MODULE生成されるモジュール名
    LOCAL_MODULE_FILENAME?ビルドシステムがデフォルトで付ける名前をオーバーライド
    LOCAL_SRC_FILESモジュールの元となるソースコードを指定
    LOCAL_CPP_EXTENSION?C++の拡張子を指定
    LOCAL_CPP_FEATURES?コードが特定の C++ 機能に依存していることを示す
    LOCAL_C_INCLUDESCのインクルードファイルのパスを指定する
    LOCAL_CFLAGSCとC++のソースコードをビルドする際のオプションを指定する
    LOCAL_CPPFLAGS?C++のソースコードをビルドする際のオプションを指定する
    LOCAL_STATIC_LIBRARIESリンクする静的ライブラリを指定。(BUILD_STATIC_LIBRARYで指定したモジュール)
    LOCAL_SHARED_LIBRARIESリンクする共有ライブラリを指定
    LOCAL_LDLIBSリンカに渡すオプション
    LOCAL_LDFLAGS
    LOCAL_ALLOW_UNDEFINED_SYMBOLS?
    LOCAL_ARM_MODE
    LOCAL_ARM_NEON?
    LOCAL_DISABLE_FORMAT_STRING_CHECKS?
    LOCAL_EXPORT_CFLAGS?
    LOCAL_EXPORT_CPPFLAGS?
    LOCAL_EXPORT_C_INCLUDES?
    LOCAL_EXPORT_LDFLAGS?
    LOCAL_EXPORT_LDLIBS?
    LOCAL_SHORT_COMMANDS?
    LOCAL_THIN_ARCHIVE?
    LOCAL_FILTER_ASM?
    LOCAL_PRELINK_MODULE?

Android.mk/関数

Android NDK

  • LOCAL_PATH := $(call my-dir)
    
    include $(CLEAR_VARS)
    
    LOCAL_MODULE    := hello
    LOCAL_SRC_FILES := hello.cpp
    
    include $(BUILD_SHARED_LIBRARY)

OpenCV/Android

  • include $(CLEAR_VARS)
    
    # OpenCV
    OPENCV_CAMERA_MODULES:=on
    OPENCV_INSTALL_MODULES:=on
    include ../../sdk/native/jni/OpenCV.mk

メモ

  • ビルド時にMakefileに一部として取り込まれる

関連

参考