Android.mk文件语法规范
2010-05-28 15:51:00 来源:WEB开发网TARGET_ABI
目标平台和abi的组合,它事实上被定义成$(TARGET_PLATFORM)-$(TARGET_ARCH_ABI)
在你想要在真实的设备中针对一个特别的目标系统进行测试时,会有用。
在默认的情况下,它会是'android-1.5-arm'
\\\\\\\\\\\\\\\\\\\
NDK-提供的功能宏
-
- - - - - - - - - - - - - -
下面是GNU Make ‘功能’宏,必须通过使用'$(call
my-dir
返回当前 Android.mk所在的目录路径,相对于NDK编译系统的顶层。这是有用的,在Android.mk文件的开头如此定义:
LOCAL_PATH := $(call my-dir)
all-subdir-makefiles
返回一个位于当前'my-dir'路径的子目录列表。例如,看下面的目录层次:
sources/foo/Android.mk
sources/foo/lib1/Android.mk
sources/foo/lib2/Android.mk
如果 sources/foo/Android.mk包含一行:
include $(call all-subdir-makefiles)
那么它就会自动包含 sources/foo/lib1/Android.mk and
sources/foo/lib2/Android.mk
这项功能用于向编译系统提供深层次嵌套的代码目录层次。注意,在默认情况下,NDK将会只搜索在 sources/*/Android.mk中的文件。
this-makefile
返回当前 Makefile的路径(即这个函数调用的地方)
parent-makefile
返回调用树中父Makefile路径。即包含当前Makefile的Makefile路径。
grand-parent-makefile
猜猜看...
模块描述变量:
-
- - - - - - - - - - - - - -
下面的变量用于向编译系统描述你的模块。你应该定义在 'include $(CLEAR_VARS)'和'include $(BUILD_XXXXX)'之间定义。正如前面描写的那样,$(CLEAR_VARS是一个脚本,清除所有这些变量,除非在描述中显式注明。
LOCAL_PATH
这个变量用于给出当前文件的路径。你必须在Android.mk的开头定义,可以这样使用:
LOCAL_PATH := $(call my-dir)
这个变量不会被$(CLEAR_VARS)清除,因此每个Android.mk只需要定义一次(在你在一个文件中定义了几个模块的情况下)。
更多精彩
赞助商链接