标签:
转自:http://nfer-zhuang.iteye.com/blog/1752387
一、说明
上文我们对acp的Android.mk文件做了一个大致的描述,使得大家对Android.mk文件有了一个初步的认识,下面我们就重点分析下第一行: LOCAL_PATH:= $(call my-dir)
<span style="font-size: small;"># Figure out where we are. define my-dir $(strip \ $(eval md_file_ := $$(lastword $$(MAKEFILE_LIST))) \ $(if $(filter $(CLEAR_VARS),$(md_file_)), \ $(error LOCAL_PATH must be set before including $$(CLEAR_VARS)) \ , \ $(patsubst %/,%,$(dir $(md_file_))) \ ) \ ) endef</span>
Makefile代码
$(if $(filter $(CLEAR_VARS),$(md_file_))
这个判断语句是个关键,我们先看看CLEAR_VARS变量的定义
Makefile代码
CLEAR_VARS:= $(BUILD_SYSTEM)/clear_vars.mk
BUILD_SYSTEM := $(TOPDIR)build/core
Makefile代码
BUILD_SYSTEM := $(TOPDIR)build/core
Makefile代码
TOPDIR :=
即TOPDIR为android源码的根目录, BUILD_SYSTEM= build/core, 所以CLEAR_VARS变量的值就为build/core/clear_vars.mk,当然这个也是相对于Android源码根路径。
深入浅出Android makefile(2)--LOCAL_PATH(转载)
标签:
原文地址:http://www.cnblogs.com/lance-ehf/p/4184596.html