WEB开发网
开发学院手机开发Android 开发 Android.mk文件语法规范 阅读

Android.mk文件语法规范

 2010-05-28 15:51:00 来源:WEB开发网   
核心提示:-小写名字(内部使用,例如’my-dir’)如果您为了方便在Android.mk中定义自己的变量,Android.mk文件语法规范(3),我们建议使用MY_前缀,一个小例子:-- cut here --MY_SOURCES := foo.cifneq ($(MY_CONFIG_BAR),)MY_SOURCES += b

-小写名字(内部使用,例如’my-dir’)

如果您为了方便在Android.mk中定义自己的变量,我们建议使用MY_前缀,一个小例子:

---------- cut here ------------------

MY_SOURCES := foo.c

ifneq ($(MY_CONFIG_BAR),)

MY_SOURCES += bar.c

endif

LOCAL_SRC_FILES += $(MY_SOURCES)

---------- cut here ------------------

这样,我们就达到目的了。

NDK提供的变量:

-

- - - - - - - - - - -

这些GNU Make 变量在你的Android.mk文件解析之前,就由编译系统定义好了。

注意在某些情况下,NDK可能分析Android.mk几次,每一次某些变量的定义会有不同。

CLEAR_VARS

指向一个编译脚本,几乎所有未定义的LOCAL_XXX变量都在"Module-description"节中列出。你必须在开始一个新模块之前包含这个脚本。

include $(CLEAR_VARS)

BUILD_SHARED_LIBRARY

指向编译脚本,收集所有的你在LOCAL_XXX变量中提供的信息,并且决定如何把你列出的源代码文件编译成一个共享库。注意,你必须至少在包含这个文件之前定义 LOCAL_MODULE和LOCAL_SRC_FILES,使用例子:

include $(BUILD_SHARED_LIBRARY)

注意这将生成一个名为lib$(LOCAL_MODULE).so的文件。

BUILD_STATIC_LIBRARY

一个 BUILD_SHARED_LIBRARY变量用于编译一个静态库。静态库不会复制到你的project/packages中,诞生能够用于编译共享库,(看下面描述的LOCAL_STATIC_LIBRARIES and LOCAL_STATIC_WHOLE_LIBRARIES)

使用例子:

include $(BUILD_STATIC_LIBRARY)

注意,这将会生成一个名为lib$(LOCAL_MODULE).a 的文件。

TARGET_ARCH

目标CPU平台的名字,如同在Android开放源码中指定的那样。如果是’arm’,表示要生成ARM兼容的指令,与CPU架构的修订版无关。

TARGET_PLATFORM

Android.mk解析的时候,目标Android平台的名字,现在只支持'android-1.5'。

TARGET_ARCH_ABI

CPU+ABI的名字,只支持’arm’,它的含义是:

ARMv5TE或更高级CPU,并且具有'softfloat'浮点支持。

其他的ABI将在以后的NDK版本中介绍,它们会有不同的名字。注意所有基于ARM的ABI都会把'TARGET_ARCH'定义成‘arm’,但是会有不同的‘TARGET_ARCH_ABI’

上一页  1 2 3 4 5 6  下一页

Tags:Android mk 文件

编辑录入:coldstar [复制链接] [打 印]
赞助商链接