2013-10-04 23:02:59 +00:00
|
|
|
# Copyright (C) 2013 The Android Open Source Project
|
|
|
|
#
|
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
# you may not use this file except in compliance with the License.
|
|
|
|
# You may obtain a copy of the License at
|
|
|
|
#
|
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
#
|
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
# See the License for the specific language governing permissions and
|
|
|
|
# limitations under the License.
|
|
|
|
#
|
|
|
|
|
|
|
|
# The generic product target doesn't have any hardware-specific pieces.
|
|
|
|
TARGET_NO_BOOTLOADER := true
|
|
|
|
TARGET_NO_KERNEL := true
|
2014-01-22 03:35:38 +00:00
|
|
|
TARGET_ARCH := arm64
|
2013-10-04 23:02:59 +00:00
|
|
|
TARGET_ARCH_VARIANT := armv8-a
|
|
|
|
TARGET_CPU_VARIANT := generic
|
2014-01-22 03:35:38 +00:00
|
|
|
TARGET_CPU_ABI := arm64-v8a
|
2018-02-21 23:41:51 +00:00
|
|
|
TARGET_BOOTLOADER_BOARD_NAME := goldfish_$(TARGET_ARCH)
|
2013-10-04 23:02:59 +00:00
|
|
|
|
2014-01-28 22:35:16 +00:00
|
|
|
TARGET_2ND_ARCH := arm
|
2014-08-19 12:03:01 +00:00
|
|
|
TARGET_2ND_CPU_ABI := armeabi-v7a
|
|
|
|
TARGET_2ND_CPU_ABI2 := armeabi
|
2014-08-18 18:20:07 +00:00
|
|
|
|
2017-10-24 19:44:13 +00:00
|
|
|
ifneq ($(TARGET_BUILD_APPS)$(filter cts sdk,$(MAKECMDGOALS)),)
|
2014-08-18 18:20:07 +00:00
|
|
|
# DO NOT USE
|
|
|
|
# DO NOT USE
|
|
|
|
#
|
|
|
|
# This architecture / CPU variant must NOT be used for any 64 bit
|
|
|
|
# platform builds. It is the lowest common denominator required
|
2014-10-22 04:20:41 +00:00
|
|
|
# to build an unbundled application or cts for all supported 32 and 64 bit
|
2014-08-18 18:20:07 +00:00
|
|
|
# platforms.
|
|
|
|
#
|
|
|
|
# If you're building a 64 bit platform (and not an application) the
|
2017-08-23 10:58:57 +00:00
|
|
|
# ARM-v8 specification allows you to assume all the features available in an
|
|
|
|
# armv7-a-neon CPU. You should set the following as 2nd arch/cpu variant:
|
2014-08-18 18:20:07 +00:00
|
|
|
#
|
2017-08-23 10:58:57 +00:00
|
|
|
# TARGET_2ND_ARCH_VARIANT := armv8-a
|
|
|
|
# TARGET_2ND_CPU_VARIANT := generic
|
2014-08-18 18:20:07 +00:00
|
|
|
#
|
|
|
|
# DO NOT USE
|
|
|
|
# DO NOT USE
|
2014-08-08 17:26:44 +00:00
|
|
|
TARGET_2ND_ARCH_VARIANT := armv7-a
|
2014-08-18 18:20:07 +00:00
|
|
|
# DO NOT USE
|
|
|
|
# DO NOT USE
|
2014-08-08 17:26:44 +00:00
|
|
|
TARGET_2ND_CPU_VARIANT := generic
|
2014-08-18 18:20:07 +00:00
|
|
|
# DO NOT USE
|
|
|
|
# DO NOT USE
|
|
|
|
else
|
2017-08-23 10:58:57 +00:00
|
|
|
TARGET_2ND_ARCH_VARIANT := armv8-a
|
|
|
|
TARGET_2ND_CPU_VARIANT := generic
|
2014-08-18 18:20:07 +00:00
|
|
|
endif
|
2014-01-28 22:35:16 +00:00
|
|
|
|
2014-08-19 12:03:01 +00:00
|
|
|
|
2014-01-28 22:35:16 +00:00
|
|
|
TARGET_USES_64_BIT_BINDER := true
|
2018-06-27 17:25:33 +00:00
|
|
|
TARGET_USES_MKE2FS := true
|
2014-01-28 22:35:16 +00:00
|
|
|
|
2013-10-04 23:02:59 +00:00
|
|
|
# no hardware camera
|
|
|
|
USE_CAMERA_STUB := true
|
|
|
|
|
2017-03-17 17:47:19 +00:00
|
|
|
TARGET_USES_HWC2 := true
|
2017-05-09 22:33:26 +00:00
|
|
|
NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
|
2017-03-17 17:47:19 +00:00
|
|
|
|
2013-10-04 23:02:59 +00:00
|
|
|
# Build OpenGLES emulation host and guest libraries
|
|
|
|
BUILD_EMULATOR_OPENGL := true
|
2017-08-01 19:02:09 +00:00
|
|
|
BUILD_QEMU_IMAGES := true
|
2013-10-04 23:02:59 +00:00
|
|
|
|
|
|
|
# Build and enable the OpenGL ES View renderer. When running on the emulator,
|
|
|
|
# the GLES renderer disables itself if host GL acceleration isn't available.
|
|
|
|
USE_OPENGL_RENDERER := true
|
|
|
|
|
|
|
|
TARGET_USERIMAGES_USE_EXT4 := true
|
2018-04-19 06:18:54 +00:00
|
|
|
# Partition size is default 1.5GB (1536MB) for 64 bits projects
|
|
|
|
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1610612736
|
2014-04-02 16:16:37 +00:00
|
|
|
BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800
|
2017-04-21 19:14:44 +00:00
|
|
|
TARGET_COPY_OUT_VENDOR := vendor
|
|
|
|
# ~100 MB vendor image. Please adjust system image / vendor image sizes
|
|
|
|
# when finalizing them.
|
|
|
|
BOARD_VENDORIMAGE_PARTITION_SIZE := 100000000
|
|
|
|
BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
|
2013-10-04 23:02:59 +00:00
|
|
|
BOARD_FLASH_BLOCK_SIZE := 512
|
|
|
|
TARGET_USERIMAGES_SPARSE_EXT_DISABLED := true
|
2017-08-10 07:20:01 +00:00
|
|
|
DEVICE_MATRIX_FILE := device/generic/goldfish/compatibility_matrix.xml
|
2015-04-29 13:55:08 +00:00
|
|
|
|
2018-05-30 08:52:22 +00:00
|
|
|
# Android generic system image always create metadata partition
|
|
|
|
BOARD_USES_METADATA_PARTITION := true
|
|
|
|
|
2018-05-09 13:57:49 +00:00
|
|
|
# Set this to create /cache mount point for non-A/B devices that mounts /cache.
|
|
|
|
# The partition size doesn't matter, just to make build pass.
|
|
|
|
BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
|
|
|
|
BOARD_CACHEIMAGE_PARTITION_SIZE := 16777216
|
|
|
|
|
2017-06-23 05:03:32 +00:00
|
|
|
BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true
|
2018-06-13 17:18:07 +00:00
|
|
|
BOARD_SEPOLICY_DIRS += device/generic/goldfish/sepolicy/common
|
2017-11-28 17:24:02 +00:00
|
|
|
|
2018-05-08 09:04:08 +00:00
|
|
|
# Android Verified Boot (AVB):
|
|
|
|
# Builds a special vbmeta.img that disables AVB verification.
|
|
|
|
# Otherwise, AVB will prevent the device from booting the generic system.img.
|
|
|
|
# Also checks that BOARD_AVB_ENABLE is not set, to prevent adding verity
|
|
|
|
# metadata into system.img.
|
|
|
|
ifeq ($(BOARD_AVB_ENABLE),true)
|
|
|
|
$(error BOARD_AVB_ENABLE cannot be set for GSI)
|
|
|
|
endif
|
|
|
|
BOARD_BUILD_DISABLED_VBMETAIMAGE := true
|
|
|
|
|
2018-04-19 06:18:54 +00:00
|
|
|
ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
|
|
|
|
# GSI is always userdebug and needs a couple of properties taking precedence
|
|
|
|
# over those set by the vendor.
|
2018-04-26 05:19:53 +00:00
|
|
|
TARGET_SYSTEM_PROP := build/make/target/board/gsi_system.prop
|
2018-04-19 06:18:54 +00:00
|
|
|
endif
|
|
|
|
BOARD_VNDK_VERSION := current
|
|
|
|
|
|
|
|
# Emulator system image is going to be used as GSI and some vendor still hasn't
|
|
|
|
# cleaned up all device specific directories under root!
|
|
|
|
|
|
|
|
# TODO(jiyong) These might be SoC specific.
|
|
|
|
BOARD_ROOT_EXTRA_FOLDERS += firmware firmware/radio persist
|
|
|
|
BOARD_ROOT_EXTRA_SYMLINKS := /vendor/lib/dsp:/dsp
|
|
|
|
|
|
|
|
# TODO(b/36764215): remove this setting when the generic system image
|
|
|
|
# no longer has QCOM-specific directories under /.
|
|
|
|
BOARD_SEPOLICY_DIRS += build/target/board/generic_arm64_ab/sepolicy
|
|
|
|
|
2017-05-04 17:51:02 +00:00
|
|
|
# Wifi.
|
2017-11-15 01:10:44 +00:00
|
|
|
BOARD_WLAN_DEVICE := emulator
|
2017-05-04 17:51:02 +00:00
|
|
|
BOARD_HOSTAPD_DRIVER := NL80211
|
|
|
|
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
|
|
|
|
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_simulated
|
|
|
|
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_simulated
|
|
|
|
WPA_SUPPLICANT_VERSION := VER_0_8_X
|
|
|
|
WIFI_DRIVER_FW_PATH_PARAM := "/dev/null"
|
|
|
|
WIFI_DRIVER_FW_PATH_STA := "/dev/null"
|
|
|
|
WIFI_DRIVER_FW_PATH_AP := "/dev/null"
|
|
|
|
|
2017-11-28 17:24:02 +00:00
|
|
|
# Enable A/B update
|
|
|
|
TARGET_NO_RECOVERY := true
|
|
|
|
BOARD_BUILD_SYSTEM_ROOT_IMAGE := true
|
2018-03-15 20:13:26 +00:00
|
|
|
|
|
|
|
BOARD_VNDK_VERSION := current
|
2018-04-06 21:00:17 +00:00
|
|
|
|
|
|
|
BUILD_BROKEN_DUP_RULES := false
|