1# Copyright (C) 2013 The Android Open Source Project 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14# 15 16# The generic product target doesn't have any hardware-specific pieces. 17TARGET_NO_BOOTLOADER := true 18TARGET_NO_KERNEL := true 19TARGET_ARCH := arm64 20TARGET_ARCH_VARIANT := armv8-a 21TARGET_CPU_VARIANT := generic 22TARGET_CPU_ABI := arm64-v8a 23 24TARGET_2ND_ARCH := arm 25TARGET_2ND_CPU_ABI := armeabi-v7a 26TARGET_2ND_CPU_ABI2 := armeabi 27 28ifneq ($(TARGET_BUILD_APPS)$(filter cts,$(MAKECMDGOALS)),) 29# DO NOT USE 30# DO NOT USE 31# 32# This architecture / CPU variant must NOT be used for any 64 bit 33# platform builds. It is the lowest common denominator required 34# to build an unbundled application or cts for all supported 32 and 64 bit 35# platforms. 36# 37# If you're building a 64 bit platform (and not an application) the 38# ARM-v8 specification allows you to assume NEON and all the features 39# available in a cortex-A15 CPU. You should be able to set : 40# 41# TARGET_2ND_ARCH_VARIANT := armv7-a-neon 42# TARGET_2ND_CPU_VARIANT := cortex-a15 43# 44# DO NOT USE 45# DO NOT USE 46TARGET_2ND_ARCH_VARIANT := armv7-a 47# DO NOT USE 48# DO NOT USE 49TARGET_2ND_CPU_VARIANT := generic 50# DO NOT USE 51# DO NOT USE 52else 53TARGET_2ND_ARCH_VARIANT := armv7-a-neon 54TARGET_2ND_CPU_VARIANT := cortex-a15 55endif 56 57 58TARGET_USES_64_BIT_BINDER := true 59 60# no hardware camera 61USE_CAMERA_STUB := true 62 63# Enable dex-preoptimization to speed up the first boot sequence 64# of an SDK AVD. Note that this operation only works on Linux for now 65ifeq ($(HOST_OS),linux) 66 ifeq ($(WITH_DEXPREOPT),) 67 WITH_DEXPREOPT := true 68 WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY := false 69 endif 70endif 71 72TARGET_USES_HWC2 := true 73NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3 74 75# Build OpenGLES emulation host and guest libraries 76BUILD_EMULATOR_OPENGL := true 77BUILD_QEMU_IMAGES := true 78 79# Build and enable the OpenGL ES View renderer. When running on the emulator, 80# the GLES renderer disables itself if host GL acceleration isn't available. 81USE_OPENGL_RENDERER := true 82 83TARGET_USERIMAGES_USE_EXT4 := true 84BOARD_SYSTEMIMAGE_PARTITION_SIZE := 2684354560 # 2.5 GB 85BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800 86TARGET_COPY_OUT_VENDOR := vendor 87# ~100 MB vendor image. Please adjust system image / vendor image sizes 88# when finalizing them. 89BOARD_VENDORIMAGE_PARTITION_SIZE := 100000000 90BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 91BOARD_CACHEIMAGE_PARTITION_SIZE := 69206016 92BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4 93BOARD_FLASH_BLOCK_SIZE := 512 94TARGET_USERIMAGES_SPARSE_EXT_DISABLED := true 95DEVICE_MATRIX_FILE := device/generic/goldfish/compatibility_matrix.xml 96 97BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true 98BOARD_SEPOLICY_DIRS += build/target/board/generic/sepolicy 99