为了账号安全,请及时绑定邮箱和手机立即绑定

Android.mk(零)

标签:
Android

Android.mk可以生产的基本文件

LOCAL_PATH:P=$(call my-dir)   //返回该Android.mk所在目录的路径,必须放在第一行 定义了当前模块的相对路径

include $(CLEAR_VARS) //清除变量  清空当前环境变量

LOCAL_MODULE:=test  //生产目标文件 编译生成的目标名称

LOCAL_SRC_FILES:=test.c  //源文件 编译该模块需要的源文件

LOCAL_MODULE_PATH:= $(LOCAL_PATH) //把目标文件生成在当前目录下

include $(BUILD_EXECUTABLE) //生成目标格式  编译所生成的目标文件格式

使用连接符来编译多个文件
LOCAL_SRC_FILES:=test.c
test2.c

my-dir的定义
build/core/definitions.mk

define my-dir
$(strip \
 $(eval LOCAL_MODULE_MAKEFILE := $$(lastword $$(MAKEFILE_LIST))) \
 $(if $(filter $(BUILD_SYSTEM)/% $(OUT_DIR)/%,$(LOCAL_MODULE_MAKEFILE)), \
   $(error my-dir must be called before including any other makefile.) \
  , \
   $(patsubst %/,%,$(dir $(LOCAL_MODULE_MAKEFILE))) \
  ) \
)
endef

MAKEFILE_LIST :在编译的时候,把当前目录下的所有Android.mk加载到这个里面
lastword:取最后的MAKEFILE
这个环境变量中是否包含LOCAL_MODULE_MAKEFILE,如果包含,则Android.mk有问题,打印错误:error my-dir must be called before including any other makefile,没有错误,则返回当前Android.mk的所在目录。

2.清空所有的环境变量:build/core/clear_vars.mk  这个目录下的所有环境变量

3.生产格式,二进制文件

编程中我们会遇到多少挫折?表放弃,沙漠尽头必是绿洲。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消