ubuntu 在 R40e 上 還有 Debian 在 Sempron 2600 上

2011年6月13日 星期一

Android Makefile : findleaves.py

Android 的 make system 由 build/ 下的 Makefile 處理各 subproject 自己的 Android.mk。

build 的 Makefile 處理各 project 的 Android.mk 的方法是:

build/core/main.mk:
subdir_makefiles := \ $(shell build/tools/findleaves.py --prune=out --prune=.repo --prune=.git $(subdirs) Android.mk) #include $(subdir_makefiles) 看看 build/tools/findleaves.py ,就是把所有目錄的 Android.mk 找出來。

所以之後的 include .. 就把所有的 makefile include 進來..

也就是說..整個 android project makefile 被合併成一個大的 Makefile。

所以...

invoke make 時很慢.. 因為要 run findleaves.py, 還要把所有 Android.mk read 進來。
.... findleaves.py 應該不是主因..

但是

也就是說,所有的 project dep 都在 Makefile 中,所以可以自行 build 任一個 project target.
例如:
$make rild 就會 build hardware/ril/rild



另外,因為各 Project 的 Android.mk 是 Makefile 的一部分,所以可以直接寫 dep rule,不用管 Android build system 的 變數與 script。

沒有留言:

標籤

網誌存檔