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

Android.mk 文件语法规范

 2010-07-20 13:26:00 来源:WEB开发网   
核心提示:sources/foo/lib2/Android.mk如果sources/foo/Android.mk包含一行:include $(call all-subdir-makefiles)那么它就会自动包含sources/foo/lib1/Android.mk 和sources/foo/lib2/Android.mk,这项

sources/foo/lib2/Android.mk

如果sources/foo/Android.mk包含一行:

include $(call all-subdir-makefiles)

那么它就会自动包含sources/foo/lib1/Android.mk 和sources/foo/lib2/Android.mk。这项功能用于向编译系统提供深层次嵌套的代码目录层次。注意,在默认情况下,NDK将会只搜索在sources/*/Android.mk中的文件。

(19) this-makefile: 返回当前Makefile的路径(即这个函数调用的地方)

(20) parent-makefile: 返回调用树中父Makefile路径。即包含当前Makefile的Makefile路径。

(21) grand-parent-makefile 猜猜看...

3. Android.mk使用模板

在一个Android.mk中可以生成多个可执行程序、动态库和静态库。

(1) 编译应用程序的模板:

#Test Exe

LOCAL_PATH := $(call my-dir)

#include $(CLEAR_VARS)

LOCAL_SRC_FILES:= main.c

LOCAL_MODULE:= test_exe

#LOCAL_C_INCLUDES :=

#LOCAL_STATIC_LIBRARIES :=

#LOCAL_SHARED_LIBRARIES :=

include $(BUILD_EXECUTABLE)

(菜鸟级别解释::=是赋值的意思,$是引用某变量的值)LOCAL_SRC_FILES中加入源文件路径,LOCAL_C_INCLUDES 中加入所需要包含的头文件路径,LOCAL_STATIC_LIBRARIES加入所需要链接的静态库(*.a)的名称,LOCAL_SHARED_LIBRARIES中加入所需要链接的动态库(*.so)的名称,LOCAL_MODULE表示模块最终的名称,BUILD_EXECUTABLE表示以一个可执行程序的方式进行编译。

(2) 编译静态库的模板:

#Test Static Lib

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_SRC_FILES:=

helloworld.c

LOCAL_MODULE:= libtest_static

#LOCAL_C_INCLUDES :=

#LOCAL_STATIC_LIBRARIES :=

#LOCAL_SHARED_LIBRARIES :=

include $(BUILD_STATIC_LIBRARY)

一般的和上面相似,BUILD_STATIC_LIBRARY表示编译一个静态库。

(3) 编译动态库的模板:

#Test Shared Lib

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_SRC_FILES:=

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

Tags:Android mk 文件

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