此处为笔记. 详细内容参见
相关部分.
一. 目录结构
DROID_ROOT
DROID_ROOT/vendor/${MANUFACTURE}
DROID_ROOT/vendor/${MANUFACTURE}/products
AndroidProducts.mk
product_specific make files
DROID_ROOT/vendor/${MANUFACTURE}/$(BOARD)
AndroidBoard.mk
BoardConfig.mk
system.prop/...
二. 文件内容说明
1. AndroidProducts.mk
核心内容:
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/$(PRODUCT_NAME).mk \
指定一系列产品mk 文件
2.$(PRODUCT_NAME).mk
$(call inherit-product, $(SRC_TARGET_DIR)/product/generic.mk) #从某一默认配置开始派生
余下内容参考派生起点.
一般要指定PRODUCT_NAME/PRODUCT_DEVICE,PRODUCT_DEVICE被指定值即第一部分目录结构中之$(BOARD).
3. BoardConfig.mk
指定board 相关特性,一定要包含:
TARGET_CPU_ABI := armeabi/...
其他属性参见其他board样例.(build/target/board/XXX.
4. AndroidBoard.mk
如其他android.mk语法, 指定本Board特定的文件 操作等
4. AndroidBoard.mk
三. 编译方式
#croot
#make PRODUCT-$(PRODUCT_NAME)-$(BUILD_VARIANT)
或编辑
DROID_ROOT/vendor/$(MANUFACTURE)/vendorsetup.sh, 在其中加入
addcombo $(PRODUCT_NAME)-$(BUILD_VARIANT), 这将在执行build/envsetup.sh时自动执行,然后可以通过lunch 选单进行选择.
四. Further Information
(more to be coming.. see source code and sample files)
阅读(1214) | 评论(1) | 转发(0) |