NDK提供的变量
include $(CLEAR_VARS)
CLEAR_VARS清除所有除LOCAL_PATH以外的LOCAL_样式的变量BUILD_SHARED_LIBRARY跟include $(CLEAR_VARS)配套使用,声明一个module,生成动态库BUILD_STATIC_LIBRARYPREBUILT_SHARED_LIBRARYPREBUILT_STATIC_LIBRARYTARGET_ARCHTARGET_PLATFORMTARGET_ARCH_ABITARGET_ABI函数$(call <function>)
my-dirLOCAL_PATH := $(call my-dir)
Android.mk以这句开头,调用my-dir函数获得调用者的路径在include $(LOCAL_PATH)/foo/Android.mk之后调用LOCAL_PATH := $(call my-dir),此时LOCAL_PATH 的路径是foo所以include最好在Android.mk末尾
all-subdir-makefilesinclude子目录的Android.mk
this-makefile这个makefile的路径
parent-makefilegrand-parent-makefileimport-module其他module的路径,include这些Android.mk,路径相对于NDK_MODULE_PATHCOCOS2D-X中,NDK_MODULE_PATH在pro.android的build_native.sh里定义了,路径之间用:分开"NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DX_ROOT}/cocos2dx/platform/third_party/android/prebuilt"Module-description variables:
LOCAL_PATHLOCAL_MODULEmodule name,build system自动加prefix和suffixeg. LOCAL_MODULE := cocosdenshion_staticLOCAL_MODULE_FILENAMEoverride LOCAL_MODULE,system自动加后缀eg. LOCAL_MODULE_FILENAME := libcocosdenshionLOCAL_SRC_FILESsource file,用\分隔LOCAL_SRC_FILES := SimpleAudioEngine.cpp \ jni/SimpleAudioEngineJni.cpp \LOCAL_CPP_EXTENSION用来指定C++代码文件的扩展名,默认是'.cpp',但是你可以改变它,比如:
LOCAL_CPP_EXTENSION := .cxx
LOCAL_CPP_FEATURESLOCAL_C_INCLUDESLOCAL_CFLAGSLOCAL_CXXFLAGSLOCAL_CPPFLAGSLOCAL_STATIC_LIBRARIESLOCAL_SHARED_LIBRARIESLOCAL_WHOLE_STATIC_LIBRARIESLOCAL_LDLIBSLOCAL_ALLOW_UNDEFINED_SYMBOLSLOCAL_ARM_MODELOCAL_ARM_NEONLOCAL_DISABLE_NO_EXECUTELOCAL_DISABLE_RELROLOCAL_EXPORT_CFLAGSLOCAL_EXPORT_CPPFLAGSLOCAL_EXPORT_C_INCLUDESLOCAL_EXPORT_LDLIBSLOCAL_SHORT_COMMANDSLOCAL_FILTER_ASM