envsetup.mk

2018-08-29  本文已影响0人  gbmaotai
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.(USER).(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)/node_fns.mk include(BUILD_SYSTEM)/product.mk
include $(BUILD_SYSTEM)/device.mk
这三个文件主要是定义了一些函数来相互调用或供product_config.mk文件调用

  1. 根据要编译的目标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。

上一篇 下一篇

猜你喜欢

热点阅读