1.缺省值 包含:include$(BUILD_SYSTEM)/version_defaults.mk
设置那些我们需要设置的变量的缺省值。这个文件我们不因该改动,改动应该在build_id.mk里。
VAR | VALUE |
---|---|
PLATFORM_VERSION | 2.2.1 |
PLATFORM_SDK_VERSION | 8 |
PLATFORM_VERSION_CODENAME | REL |
DEFAULT_APP_TARGET_SDK | PLATFORM_SDK_VERSION |
BUILD_ID | MASTER |
BUILD_NUMBER | eng.(date) |
2.设置在文件buildspec.mk里或通过envsetup.sh设置的变量的缺省值。
VAR | VALUE |
---|---|
TARGET_PRODUCT | generic(TARGET_SIMULATOR := false)sim(TARGET_SIMULATOR:=false) |
TARGET_BUILD_VARIANT | eng |
HOST_OS | windows/linux/darwin |
HOST_ARCH | x86/ppc |
HOST_BUILD_TYPE | release |
TARGET_OS | linux |
TARGET_ARCH | arm |
TARGET_BUILD_TYPE | release |
3.包含:include$(BUILD_SYSTEM)/product_config.mk。
1)定义两种命令形式:
make PRODUCT-<prodname>-<goal>
TARGET_PRODUCT := prodname TARGET_BUILD_VARIANT := goal
make APP-<appnames>
TARGET_BUILD_APPS := appnames
2)包含:include(BUILD_SYSTEM)/product.mk
include $(BUILD_SYSTEM)/device.mk
这三个文件主要是定义了一些函数来相互调用或供product_config.mk文件调用
- 根据要编译的目标TARGET_PRODUCT,通过调用resolve-short-product-name得到mk文件,结果存放在INTERNAL_PRODUCT变量里。再将PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_xxx的值赋值给PRODUCT_xxx。ADDITIONAL_BUILD_PROPERTIES追加PRODUCT_PROPERTY_OVERRIDES。这些PRODUCT_变量都在product下的mk文件里定义。如下:
TARGET_DEVICE,PRODUCT_LOCALES ,PRODUCT_BRAND, PRODUCT_MODEL, PRODUCT_MANUFACTURER, PRODUCT_DEFAULT_WIFI_CHANNELS, PRODUCT_POLICY,PRODUCT_COPY_FILES, PRODUCT_PROPERTY_OVERRIDES, PRODUCT_PACKAGE_OVERLAYS, DEVICE_PACKAGE_OVERLAYS, PRODUCT_TAGS,PRODUCT_OTA_PUBLIC_KEYS
4.设置一些列路径变量。
主机路径以HOST_OUT_* 或HOST_OUT形式,目标机路径以TARGET_OUT_* 或TARGET_OUT形式。
5.打印
生成一个以dumpvar-%或dumpvar-abs-%命名的make目标。实现是打印出%所表示的变量的值。这个变量必须要在这之前已经定义了,后一种在前面还打印出当前的路径。这两种情况必须要先设置CALLED_FROM_SETUP=true。
网友评论