android编译分析之3—pathmap.mk
来源:互联网 发布:盟军苏军将领知乎 编辑:程序博客网 时间:2024/06/05 07:29
pathmap.mk就是集中定义path的地方,为了避免在Android.mk中的hard code,在这里hard code了一些目录路径。
## A central place to define mappings to paths, to avoid hard-coding# them in Android.mk files.## TODO: Allow each project to define stuff like this before the per-module# Android.mk files are included, so we don't need to have a big central# list.#
## A mapping from shorthand names to include directories.#pathmap_INCL := \ camera:system/media/camera/include \ frameworks-base:frameworks/base/include \ frameworks-native:frameworks/native/include \ libc:bionic/libc/include \ libhardware:hardware/libhardware/include \ libhardware_legacy:hardware/libhardware_legacy/include \ libhost:build/libs/host/include \ libm:bionic/libm/include \ libnativehelper:libnativehelper/include \ libpagemap:system/extras/libpagemap/include \ libril:hardware/ril/include \ libstdc++:bionic/libstdc++/include \ mkbootimg:system/core/mkbootimg \ opengl-tests-includes:frameworks/native/opengl/tests/include \ recovery:bootable/recovery \ system-core:system/core/include \ audio:system/media/audio/include \ audio-effects:system/media/audio_effects/include \ audio-utils:system/media/audio_utils/include \ audio-route:system/media/audio_route/include \ wilhelm:frameworks/wilhelm/include \ wilhelm-ut:frameworks/wilhelm/src/ut \ mediandk:frameworks/av/media/ndk/ \ speex:external/speex/include
上面定义了一些头文件目录和相关名称的映射。
## Returns the path to the requested module's include directory,# relative to the root of the source tree. Does not handle external# modules.## $(1): a list of modules (or other named entities) to find the includes for#define include-path-for$(foreach n,$(1),$(patsubst $(n):%,%,$(filter $(n):%,$(pathmap_INCL))))endef
通过上面pathmap_INCL映射表中的名称找对应的目录的函数。
## Many modules expect to be able to say "#include <jni.h>",# so make it easy for them to find the correct path.#JNI_H_INCLUDE := $(call include-path-for,libnativehelper)/nativehelper
JNI的头文件jni.h。
## A list of all source roots under frameworks/base, which will be# built into the android.jar.#FRAMEWORKS_BASE_SUBDIRS := \ $(addsuffix /java, \ core \ graphics \ location \ media \ media/mca/effect \ media/mca/filterfw \ media/mca/filterpacks \ drm \ opengl \ sax \ telecomm \ telephony \ wifi \ keystore \ rs \ )## A version of FRAMEWORKS_BASE_SUBDIRS that is expanded to full paths from# the root of the tree. This currently needs to be here so that other libraries# and apps can find the .aidl files in the framework, though we should really# figure out a better way to do this.#FRAMEWORKS_BASE_JAVA_SRC_DIRS := \ $(addprefix frameworks/base/,$(FRAMEWORKS_BASE_SUBDIRS))## A list of all source roots under frameworks/support.#FRAMEWORKS_SUPPORT_SUBDIRS := \ annotations \ v4 \ v7/gridlayout \ v7/cardview \ v7/mediarouter \ v7/palette \ v8/renderscript \ v13 \ v17/leanback \ design \ percent \ recommendation \ v7/preference \ v14/preference \ v17/preference-leanback \ customtabs## A list of all source roots under frameworks/multidex.#FRAMEWORKS_MULTIDEX_SUBDIRS := \ multidex/library/src \ multidex/instrumentation/src## A version of FRAMEWORKS_SUPPORT_SUBDIRS that is expanded to full paths from# the root of the tree.#FRAMEWORKS_SUPPORT_JAVA_SRC_DIRS := \ $(addprefix frameworks/support/,$(FRAMEWORKS_SUPPORT_SUBDIRS)) \ $(addprefix frameworks/,$(FRAMEWORKS_MULTIDEX_SUBDIRS)) \ frameworks/support/v7/appcompat/src \ frameworks/support/v7/recyclerview/src## A list of support library modules.# # 将FRAMEWORKS_SUPPORT_SUBDIRS中的路径分割符换成-,然后这些就是FRAMEWORKS_SUPPORT_JAVA_LIBRARIESFRAMEWORKS_SUPPORT_JAVA_LIBRARIES := \ $(foreach dir,$(FRAMEWORKS_SUPPORT_SUBDIRS),android-support-$(subst /,-,$(dir))) \ android-support-v7-appcompat \ android-support-v7-recyclerview \ android-support-multidex \ android-support-multidex-instrumentation## A list of all documented source roots under frameworks/data-binding.#FRAMEWORKS_DATA_BINDING_SUBDIRS := \ baseLibrary/src/main \ library/src/main \ library/src/doc## A version of FRAMEWORKS_DATA_BINDING_SUBDIRS that is expanded to full paths from# the root of the tree.#FRAMEWORKS_DATA_BINDING_JAVA_SRC_DIRS := \ $(addprefix frameworks/data-binding/,$(FRAMEWORKS_DATA_BINDING_SUBDIRS))
上面变量都是frameworks中一些目录,到目前为止,我们还看不出来frameworks中这么多的目录到底是干嘛的。
0 0
- android编译分析之3—pathmap.mk
- android编译系统 - pathmap.mk
- android编译系统 - pathmap.mk
- android编译分析之5—node_fns.mk
- android编译分析之4—product.mk
- android编译分析之6—device.mk
- android编译分析之7—product_config.mk
- android编译分析之8—envsetup.mk
- android编译分析之10—config.mk
- android编译分析之9—dumpvar.mk
- android编译之mk脚本
- JPEG源码Android编译之Android.mk
- Android编译之Android.mk语法规范
- Android编译系统之andrloid.mk文件
- android编译之解析main.mk
- cygwin 编译ffmpeg 之android.mk
- cocos2dx交叉编译之Android.mk修改
- 四、Android.mk之编译生成可执行文件
- Kalman滤波的多种实现方式浅析
- ORA-14037: 分区 "P8" 的分区界限过高
- SQL注入原理
- Android_ViewDragHelper
- PropertyPlaceholderConfigurer获取属性文件指定key的value值
- android编译分析之3—pathmap.mk
- 在项目中使用AngularJS+UI-Grid
- web开发乱码问题
- OracleOraDb11g_home1TNSListener服务启动后停止
- 剑指Offer-31-连续子数组的最大和
- 顺序折线遍历二维数组
- jQuery Mobile 学习四
- 绕过CONFIG_MODVERSIONS
- Axialis IconWorkshop破解版不能用了?看这个替换品