blob: 824f6a7af0b2c24d844a65335ca758a7ac1adad6 [file] [log] [blame]
Ben Chengdb4fc202013-10-04 16:02:59 -07001# 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
Colin Cross4f0eb7d2014-01-21 19:35:38 -080019TARGET_ARCH := arm64
Ben Chengdb4fc202013-10-04 16:02:59 -070020TARGET_ARCH_VARIANT := armv8-a
21TARGET_CPU_VARIANT := generic
Colin Cross4f0eb7d2014-01-21 19:35:38 -080022TARGET_CPU_ABI := arm64-v8a
Yahan Zhou12b53952018-02-21 15:41:51 -080023TARGET_BOOTLOADER_BOARD_NAME := goldfish_$(TARGET_ARCH)
Ben Chengdb4fc202013-10-04 16:02:59 -070024
Colin Cross930b5fb2014-01-28 14:35:16 -080025TARGET_2ND_ARCH := arm
Narayan Kamath24b78402014-08-19 13:03:01 +010026TARGET_2ND_CPU_ABI := armeabi-v7a
27TARGET_2ND_CPU_ABI2 := armeabi
Narayan Kamath8dc227f2014-08-18 19:20:07 +010028
Yabin Cui1fe7ac72017-10-24 12:44:13 -070029ifneq ($(TARGET_BUILD_APPS)$(filter cts sdk,$(MAKECMDGOALS)),)
Narayan Kamath8dc227f2014-08-18 19:20:07 +010030# DO NOT USE
31# DO NOT USE
32#
33# This architecture / CPU variant must NOT be used for any 64 bit
34# platform builds. It is the lowest common denominator required
Ying Wangb6f60d52014-10-21 21:20:41 -070035# to build an unbundled application or cts for all supported 32 and 64 bit
Narayan Kamath8dc227f2014-08-18 19:20:07 +010036# platforms.
37#
38# If you're building a 64 bit platform (and not an application) the
Isaac Chenf5af8502017-08-23 10:58:57 +000039# ARM-v8 specification allows you to assume all the features available in an
40# armv7-a-neon CPU. You should set the following as 2nd arch/cpu variant:
Narayan Kamath8dc227f2014-08-18 19:20:07 +010041#
Isaac Chenf5af8502017-08-23 10:58:57 +000042# TARGET_2ND_ARCH_VARIANT := armv8-a
43# TARGET_2ND_CPU_VARIANT := generic
Narayan Kamath8dc227f2014-08-18 19:20:07 +010044#
45# DO NOT USE
46# DO NOT USE
Narayan Kamath3930fbd2014-08-08 18:26:44 +010047TARGET_2ND_ARCH_VARIANT := armv7-a
Narayan Kamath8dc227f2014-08-18 19:20:07 +010048# DO NOT USE
49# DO NOT USE
Narayan Kamath3930fbd2014-08-08 18:26:44 +010050TARGET_2ND_CPU_VARIANT := generic
Narayan Kamath8dc227f2014-08-18 19:20:07 +010051# DO NOT USE
52# DO NOT USE
53else
Isaac Chenf5af8502017-08-23 10:58:57 +000054TARGET_2ND_ARCH_VARIANT := armv8-a
55TARGET_2ND_CPU_VARIANT := generic
Narayan Kamath8dc227f2014-08-18 19:20:07 +010056endif
Colin Cross930b5fb2014-01-28 14:35:16 -080057
Narayan Kamath24b78402014-08-19 13:03:01 +010058
Colin Cross930b5fb2014-01-28 14:35:16 -080059TARGET_USES_64_BIT_BINDER := true
60
Ben Chengdb4fc202013-10-04 16:02:59 -070061# no hardware camera
62USE_CAMERA_STUB := true
63
Lingfeng Yang450cd0b2017-03-17 10:47:19 -070064TARGET_USES_HWC2 := true
Lingfeng Yanga70b40f2017-05-09 15:33:26 -070065NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
Lingfeng Yang450cd0b2017-03-17 10:47:19 -070066
Ben Chengdb4fc202013-10-04 16:02:59 -070067# Build OpenGLES emulation host and guest libraries
68BUILD_EMULATOR_OPENGL := true
Bo Huf0d50bb2017-08-01 19:02:09 +000069BUILD_QEMU_IMAGES := true
Ben Chengdb4fc202013-10-04 16:02:59 -070070
Ben Chengdb4fc202013-10-04 16:02:59 -070071# Build and enable the OpenGL ES View renderer. When running on the emulator,
72# the GLES renderer disables itself if host GL acceleration isn't available.
73USE_OPENGL_RENDERER := true
74
75TARGET_USERIMAGES_USE_EXT4 := true
Isaac Chenf7154702018-04-19 14:18:54 +080076# Partition size is default 1.5GB (1536MB) for 64 bits projects
77BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1610612736
Colin Crossd46c7382014-04-02 09:16:37 -070078BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800
Yahan Zhou3afe69d2017-04-21 12:14:44 -070079TARGET_COPY_OUT_VENDOR := vendor
80# ~100 MB vendor image. Please adjust system image / vendor image sizes
81# when finalizing them.
82BOARD_VENDORIMAGE_PARTITION_SIZE := 100000000
83BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
Ben Chengdb4fc202013-10-04 16:02:59 -070084BOARD_FLASH_BLOCK_SIZE := 512
85TARGET_USERIMAGES_SPARSE_EXT_DISABLED := true
bohu813249b2017-08-10 00:20:01 -070086DEVICE_MATRIX_FILE := device/generic/goldfish/compatibility_matrix.xml
Stephen Smalley901d7922015-04-29 09:55:08 -040087
bohu4a6cc6a2017-06-22 22:03:32 -070088BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true
Stephen Smalley901d7922015-04-29 09:55:08 -040089BOARD_SEPOLICY_DIRS += build/target/board/generic/sepolicy
bohue9046cb2017-11-28 09:24:02 -080090
Isaac Chenf7154702018-04-19 14:18:54 +080091ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
92# GSI is always userdebug and needs a couple of properties taking precedence
93# over those set by the vendor.
94TARGET_SYSTEM_PROP := build/make/target/board/treble_system.prop
95endif
96BOARD_VNDK_VERSION := current
97
98# Emulator system image is going to be used as GSI and some vendor still hasn't
99# cleaned up all device specific directories under root!
100
101# TODO(jiyong) These might be SoC specific.
102BOARD_ROOT_EXTRA_FOLDERS += firmware firmware/radio persist
103BOARD_ROOT_EXTRA_SYMLINKS := /vendor/lib/dsp:/dsp
104
105# TODO(b/36764215): remove this setting when the generic system image
106# no longer has QCOM-specific directories under /.
107BOARD_SEPOLICY_DIRS += build/target/board/generic_arm64_ab/sepolicy
108
Bjoern Johansson12fd2d82017-05-04 10:51:02 -0700109# Wifi.
Bjoern Johansson275bdb02017-11-14 17:10:44 -0800110BOARD_WLAN_DEVICE := emulator
Bjoern Johansson12fd2d82017-05-04 10:51:02 -0700111BOARD_HOSTAPD_DRIVER := NL80211
112BOARD_WPA_SUPPLICANT_DRIVER := NL80211
113BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_simulated
114BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_simulated
115WPA_SUPPLICANT_VERSION := VER_0_8_X
116WIFI_DRIVER_FW_PATH_PARAM := "/dev/null"
117WIFI_DRIVER_FW_PATH_STA := "/dev/null"
118WIFI_DRIVER_FW_PATH_AP := "/dev/null"
119
bohue9046cb2017-11-28 09:24:02 -0800120# Enable A/B update
121TARGET_NO_RECOVERY := true
122BOARD_BUILD_SYSTEM_ROOT_IMAGE := true