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

Android.mk 文件语法规范

 2010-07-20 13:26:00 来源:WEB开发网   
核心提示:2. 模块描述变量下面的变量用于向编译系统描述你的模块,你应该定义在'include $(CLEAR_VARS)'和'include $(BUILD_XXXXX)'之间,Android.mk 文件语法规范(4),正如前面描写的那样,$(CLEAR_VARS是一个脚本,就会自动地为你处理这

2. 模块描述变量

下面的变量用于向编译系统描述你的模块。你应该定义在'include $(CLEAR_VARS)'和'include $(BUILD_XXXXX)'之间。正如前面描写的那样,$(CLEAR_VARS是一个脚本,清除所有这些变量,除非在描述中显式注明。

(1) LOCAL_PATH: 这个变量用于给出当前文件的路径。你必须在Android.mk的开头定义,可以这样使用:

LOCAL_PATH := $(call my-dir)

这个变量不会被$(CLEAR_VARS)清除,因此每个Android.mk只需要定义一次(即使你在一个文件中定义了几个模块的情况下)。

(2) LOCAL_MODULE: 这是你模块的名字,它必须是唯一的,而且不能包含空格。你必须在包含任一的$(BUILD_XXXX)脚本之前定义它。模块的名字决定了生成文件的名字,例如,如果一个一个共享库模块的名字是,那么生成文件的名字就是lib.so。但是,在你的NDK生成文件中(或者Android.mk或者Application.mk),你应该只涉及(引用)有正常名字的其他模块。

(3) LOCAL_SRC_FILES: 这是要编译的源代码文件列表。只要列出要传递给编译器的文件,因为编译系统自动为你计算依赖。注意源代码文件名称都是相对于LOCAL_PATH的,你可以使用路径部分,例如:

LOCAL_SRC_FILES := foo.c

toto/bar.c

注意:在生成文件中都要使用UNIX风格的斜杠(/).windows风格的反斜杠不会被正确的处理。

(4) LOCAL_CPP_EXTENSION: 这是一个可选变量,用来指定C++代码文件的扩展名,默认是'.cpp',但是你可以改变它,比如:

LOCAL_CPP_EXTENSION := .cxx

(5) LOCAL_C_INCLUDES : 路径的可选配置,是从根目录开始的,

all sources (C, C++ and Assembly). For example:

LOCAL_C_INCLUDES := sources/foo

Or even:

LOCAL_C_INCLUDES := $(LOCAL_PATH)/../foo

需要在任何包含LOCAL_CFLAGS / LOCAL_CPPFLAGS标志之前。

(6) LOCAL_CFLAGS: 可选的编译器选项,在编译C代码文件的时候使用。这可能是有用的,指定一个附加的包含路径(相对于NDK的顶层目录),宏定义,或者编译选项。

重要信息:不要在Android.mk中改变 optimization/debugging级别,只要在Application.mk中指定合适的信息,就会自动地为你处理这个问题,在调试期间,会让NDK自动生成有用的数据文件。

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

Tags:Android mk 文件

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