关于Android.mk文件编写
常用LOCAL变量,构建系统变量介绍
LOCAL_PATH ,Android.mk文件的路径,它不会被$(CLEAR_VARS)清除
LOCAL_MODULE ,编译后的模块名,唯一
LOCAL_MODULE_FILENAME ,模块文件名,可选,用来重新定义生成的输出文件名称,可以覆盖LOCAL_MODULE的值
LOCAL_LDLIBS ,链接标志的可选列表,常用来添加系统库,党对目标文件进行链接以生成输出文件时该标志将被传送给链接器,如-llog 引入NDK提供的动态库
LOCAL_CPPFLAGS ,如-DEBUG 为cpp源文件定义了一个宏,打开log开关
LOCAL_CPP_EXTENSION ,C++源文件的默认扩展名是.cpp,这个变量可以用来为C++源码指定一个或多个文件扩展名
LOCAL_CPP_EXTENSION := .cpp .cxx
LOCAL_CPP_FEATURES ,可选变量,用来指明模块所依赖的具体C++特性,如RTTI、execptions等
LOCAL_CPP_FEATURES := rtti
LOCAL_C_INCLUDES ,可选目录列表,默认NDK安装目录的相对路径,用来搜索头文件。
LOCAL_C_INCLUDES := sources/shared-module
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
LOCAL_CFLAGS ,一组可选的编辑器标志,在编译C和C++源文件的时候会被传送给编译器
LOCAL_CFLAGS := -DNDEBUG -DPORT=1234
LOCAL_CFLAGS := -l //指定include目录,这个方法比使用LOCAL_C_INCLUDES好
LOCAL_SRC_FILES ,
LOCAL_ARM_MODE ,ARM机器体系结构特有变量,用于指定要生成的ARM二进制类型,默认情况下,构建系统的拇指模式下用16位指令,可以改为arm来指定使用32位指令
LOCAL_ARM_NEON ,可选参数,设置为true时,会将浮点编译成neon指令,极大加快浮点运算(前提硬件支持,只有target为armeabi-v7a才可以)
LOCAL_STATIC_LIBRARIES