最近在研究android 的build系统,就是那个Makefile的详细组成,得知Android 的主Makefile文件是在main.mk这个文件下,并且知道droid是它的默认目标,但是,我看了下droid,这就是个空目标啊,啥都木有,木有依赖,木有命令,这怎么能生成整个整个android系统呢?源代码如下:# This is the default target. It must be the first declared target.
.PHONY: droid
DEFAULT_GOAL := droid
$(DEFAULT_GOAL):# Used to force goals to build. Only use for conditionally defined goals.
.PHONY: FORCE
FORCE:# Set up various standard variables based on configuration
# and host information.
include $(BUILD_SYSTEM)/config.mk这个droid目标后就是个什么FORCE目标了,它根本木有什么依赖啊,为什么网上会说依赖个什么800多行的droidcore目标?它怎么依赖上的啊?
.PHONY: droid
DEFAULT_GOAL := droid
$(DEFAULT_GOAL):# Used to force goals to build. Only use for conditionally defined goals.
.PHONY: FORCE
FORCE:# Set up various standard variables based on configuration
# and host information.
include $(BUILD_SYSTEM)/config.mk这个droid目标后就是个什么FORCE目标了,它根本木有什么依赖啊,为什么网上会说依赖个什么800多行的droidcore目标?它怎么依赖上的啊?
解决方案 »
- android 4.2 havlenapetr-FFMpeg编译 找不到 libsurfaceflinger-client.so ,如何显示?
- 雅虎天气的城市WOEID的获取
- 跪求,一个简单的手机模拟器解决方案及源码!!!
- 音乐播放器播放列表中的部分歌曲消失了!!!!!!!!
- Android JAVA层与低层通讯问题
- android中listview问题
- 请教各位大神怎么用代码更换system/lib里面的文件啊。
- Google登录SDK 自带的登录按钮图标 怎么改 求大神
- 关于同一个应用两个不相关的activity实时通信的问题
- 我想让Andrioid输出HelloWorld但却无法显示
- 解压dex文件出了好多问题
- android可以自由摆放控件位置吗?
你可能误解我的意思了,envsetup.sh和lunch做的是一些配置工作,而droid的确是makefile的第一个目标,也就是说make=make droid,我现在就想知道droid这个目标没有依赖它怎么工作的,我也知道droid目标事实上就是依赖了droidcore这个目标,因为我公司把makefile文件改过,就是直接在冒号后显式依赖droidcore目标。但是android的正规源码就不这样做,这好像是涉及makefile语法,我现在就想知道它怎么跳过去的。
你推荐那本书我粗略看了下那章,没有想要的东西。
BUILD_HOST_STATIC_LIBRARY:= $(BUILD_SYSTEM)/host_static_library.mk
BUILD_HOST_SHARED_LIBRARY:= $(BUILD_SYSTEM)/host_shared_library.mk
BUILD_STATIC_LIBRARY:= $(BUILD_SYSTEM)/static_library.mk
BUILD_RAW_STATIC_LIBRARY := $(BUILD_SYSTEM)/raw_static_library.mk
BUILD_SHARED_LIBRARY:= $(BUILD_SYSTEM)/shared_library.mk
BUILD_EXECUTABLE:= $(BUILD_SYSTEM)/executable.mk
BUILD_RAW_EXECUTABLE:= $(BUILD_SYSTEM)/raw_executable.mk
BUILD_HOST_EXECUTABLE:= $(BUILD_SYSTEM)/host_executable.mk
BUILD_PACKAGE:= $(BUILD_SYSTEM)/package.mk
....剩下的全部都是在这展开的,包括device/xxx下面的配置文件你一同研究一下么