# LOCAL_PATH

LOCAL_PATH 每个模块都在Android.mk里定义，表示模块所在目录。

LOCAL_PATH := $(call my-dir)  CLEAR_VARS 所指向的脚本不会清除此变量。因此，即使 Android.mk 文件描述了多个模块，您也只需定义此变量一次。 ## LOCAL_PATH的作用 有人就问了，在本Android.mk中又没有使用到LOCAL_PATH，为什么先 要定义这么一个变量呢？为什么规定必须放在所有的include$(CLEAR_VARS)之前呢？

### 哪里在使用LOCAL_PATH

This is a list of source files that will be built for your module. Only list the files that will be passed to a compiler, since the build system automatically computes dependencies for you.
Note that source files names are all relative to LOCAL_PATH and you can use path components.

### 为什么必须在$(CLEAR_VARS)之前 我们接着看看为什么LOCAL_PATH的定义必须要放到所有的include$(CLEAR_VARS)之前。

LOCAL_PATH通过调用my-dir函数来获取当前的路径，my-dir函数的定义位于core/definitions.mk文件：

$(if$(filter $(CLEAR_VARS),$(md_file_))


CLEAR_VARS:= $(BUILD_SYSTEM)/clear_vars.mk  而BUILD_SYSTEM的定义在build/core/main.mk文件中： BUILD_SYSTEM :=$(TOPDIR)build/core


TOPDIR :=


• 回顶