Android Makefile and build system 分析
2010-05-14 16:57:00 来源:WEB开发网核心提示:Main.mk 文件471行: include $(subdir_makefiles)subdir_makefiles为TOP目录下所有Android.mk文件的集合,语句虽短,Android Makefile and build system 分析(3),可确是整个build system中最为重要的一条语句,无论有
Main.mk 文件471行: include $(subdir_makefiles)
subdir_makefiles为TOP目录下所有Android.mk文件的集合。语句虽短,可确是整个build system中最为重要的一条语句。无论有多少子模块,无论构建模块的目标类型,无论它是什么语言所写,就这一条语句,完成了这些纷繁复杂的工作。
是否似曾相识?Android.mk 就类似于build system提供的基类,LOCAL_MODULE,LOCAL_SRC_FILES,include构建类型文件等类似于基类提供的虚函数。通过继承基类(Android.mk),重写虚函数(重新定义LOCAL_等变量),遍历子类集合调用虚函数(include $(subdir_makefiles)),完美的解决了本节开头的问题。为Android build system提供了良好的可扩展性。
后记:
设计模式,架构并不仅存于OO的语言中(Java/C++)。即便如Makefile的类脚本语言,也可写出如此之架构。设计的思想在于人,而不取决于他所用的工具。
更多精彩
赞助商链接