android.mk中常用的构建变量

参考自:https://developer.android.google.cn/ndk/guides/android_mk

LOCAL_PATH

此变量用于指定当前文件的路径。必须在 Android.mk 文件的开头定义它。 以下示例向您展示如何操作:

 

LOCAL_PATH := $(call my-dir)

CLEAR_VARS 指向的脚本不会清除此变量。因此,即使您的 Android.mk 文件描述了多个模块,您也只需定义它一次。

LOCAL_MODULE

此变量用于存储模块的名称。它在所有模块名称之间必须唯一,并且不得包含任何空格。 必须在包含任何脚本(用于 CLEAR_VARS 的脚本除外)之前定义它。 无需添加 lib 前缀或者 .so 或 .a 文件扩展名;构建系统会自动进行这些修改。 在整个 Android.mk 和 Application.mk 文件中,请通过未修改的名称引用模块。 例如,以下行会导致生成名为 libfoo.so 的共享库模块:

 

LOCAL_MODULE := "foo"

如果希望生成的模块使用 lib 以外的名称和 LOCAL_MODULE 以外的值,可以使用 LOCAL_MODULE_FILENAME 变量为生成的模块指定自己选择的名称。

 

LOCAL_LDLIBS

此变量包含在构建共享库或可执行文件时要使用的其他链接器标志列表。 它可让您使用 -l 前缀传递特定系统库的名称。 例如,以下示例指示链接器生成在加载时链接到 /system/lib/libz.so 的模块:

 

LOCAL_LDLIBS := -lz

如需了解此 NDK 版本中可以链接的已公开系统库列表,请参阅 Android NDK 原生 API

注: 如果为静态库定义此变量,构建系统会忽略它,并且 ndk-build 会显示一则警告。

 

LOCAL_LDFLAGS

构建共享库或可执行文件时供构建系统使用的其他链接器标志列表。 例如,以下示例在 ARM/X86 GCC 4.6+ 上使用 ld.bfd 链接器,该系统上的默认链接器是 ld.gold

 

LOCAL_LDFLAGS += -fuse-ld=bfd

注:如果为静态库定义此变量,构建系统会忽略它,并且 ndk-build 会显示一则警告。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值