android NDK的android.mk文件详解

本文介绍了 Android.mk 文件的基本写法及其在 Android 编译系统中的作用。文章详细解释了 LOCAL_PATH、LOCAL_MODULE、LOCAL_SRC_FILES 等关键变量的用途,并通过一个具体的示例展示了如何使用这些变量来编译共享库。

android编译系统的makefile文件Android.mk写法如下
(1)Android.mk文件首先需要指定LOCAL_PATH变量,用于查找源文件。由于一般情况下Android.mk和需要编译的源文件在同一

    目录下,所以定义成如下形式:LOCAL_PATH:=$(call my-dir)
(2)Android.mk中可以定义多个编译模块,每个编译模块都是以include $(CLEAR_VARS)开始,以include $(BUILD_XXX)结束。
     include $(CLEAR_VARS)CLEAR_VARS由编译系统提供,指定让GNU MAKEFILE为你清除除LOCAL_PATH以外的所有

     LOCAL_XXX变量,如LOCAL_MODULE,LOCAL_SRC_FILES,LOCAL_SHARED_LIBRARIES, 

     LOCAL_STATIC_LIBRARIES等。

include $(CLEAR_VARS)的作用是清除一些变量的值,但是LOCAL_PATH除外。

LOCAL_MODULE是用来指定当前待编译模块的名称

LOCAL_SRC_FILES是用来指定参与编译的源代码文件

LOCAL_C_INCLUDES 是头文件路径

include $(BUILD_SHARED_LIBRARY)是用来指示将当前模块编译为共享库,前缀为lib,后缀为.so

 

include $(BUILD_STATIC_LIBRARY)表示编译成静态库
include $(BUILD_SHARED_LIBRARY)表示编译成动态库。
include $(BUILD_EXECUTABLE)表示编译成可执行程序

简单的例子:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_C_INCLUDES := $(LOCAL_PATH)/include

LOCAL_MODULE    := sipstack
LOCAL_SRC_FILES := src/test.c \
       src/fun.c

include $(BUILD_SHARED_LIBRARY)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值