Ben Cheng | db4fc20 | 2013-10-04 16:02:59 -0700 | [diff] [blame] | 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. |
| 17 | TARGET_NO_BOOTLOADER := true |
| 18 | TARGET_NO_KERNEL := true |
Colin Cross | 4f0eb7d | 2014-01-21 19:35:38 -0800 | [diff] [blame] | 19 | TARGET_ARCH := arm64 |
Ben Cheng | db4fc20 | 2013-10-04 16:02:59 -0700 | [diff] [blame] | 20 | TARGET_ARCH_VARIANT := armv8-a |
| 21 | TARGET_CPU_VARIANT := generic |
Colin Cross | 4f0eb7d | 2014-01-21 19:35:38 -0800 | [diff] [blame] | 22 | TARGET_CPU_ABI := arm64-v8a |
Yahan Zhou | 12b5395 | 2018-02-21 15:41:51 -0800 | [diff] [blame] | 23 | TARGET_BOOTLOADER_BOARD_NAME := goldfish_$(TARGET_ARCH) |
Ben Cheng | db4fc20 | 2013-10-04 16:02:59 -0700 | [diff] [blame] | 24 | |
Colin Cross | 930b5fb | 2014-01-28 14:35:16 -0800 | [diff] [blame] | 25 | TARGET_2ND_ARCH := arm |
Narayan Kamath | 24b7840 | 2014-08-19 13:03:01 +0100 | [diff] [blame] | 26 | TARGET_2ND_CPU_ABI := armeabi-v7a |
| 27 | TARGET_2ND_CPU_ABI2 := armeabi |
Narayan Kamath | 8dc227f | 2014-08-18 19:20:07 +0100 | [diff] [blame] | 28 | |
Yabin Cui | 1fe7ac7 | 2017-10-24 12:44:13 -0700 | [diff] [blame] | 29 | ifneq ($(TARGET_BUILD_APPS)$(filter cts sdk,$(MAKECMDGOALS)),) |
Narayan Kamath | 8dc227f | 2014-08-18 19:20:07 +0100 | [diff] [blame] | 30 | # 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 Wang | b6f60d5 | 2014-10-21 21:20:41 -0700 | [diff] [blame] | 35 | # to build an unbundled application or cts for all supported 32 and 64 bit |
Narayan Kamath | 8dc227f | 2014-08-18 19:20:07 +0100 | [diff] [blame] | 36 | # platforms. |
| 37 | # |
| 38 | # If you're building a 64 bit platform (and not an application) the |
Isaac Chen | f5af850 | 2017-08-23 10:58:57 +0000 | [diff] [blame] | 39 | # 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 Kamath | 8dc227f | 2014-08-18 19:20:07 +0100 | [diff] [blame] | 41 | # |
Isaac Chen | f5af850 | 2017-08-23 10:58:57 +0000 | [diff] [blame] | 42 | # TARGET_2ND_ARCH_VARIANT := armv8-a |
| 43 | # TARGET_2ND_CPU_VARIANT := generic |
Narayan Kamath | 8dc227f | 2014-08-18 19:20:07 +0100 | [diff] [blame] | 44 | # |
| 45 | # DO NOT USE |
| 46 | # DO NOT USE |
Narayan Kamath | 3930fbd | 2014-08-08 18:26:44 +0100 | [diff] [blame] | 47 | TARGET_2ND_ARCH_VARIANT := armv7-a |
Narayan Kamath | 8dc227f | 2014-08-18 19:20:07 +0100 | [diff] [blame] | 48 | # DO NOT USE |
| 49 | # DO NOT USE |
Narayan Kamath | 3930fbd | 2014-08-08 18:26:44 +0100 | [diff] [blame] | 50 | TARGET_2ND_CPU_VARIANT := generic |
Narayan Kamath | 8dc227f | 2014-08-18 19:20:07 +0100 | [diff] [blame] | 51 | # DO NOT USE |
| 52 | # DO NOT USE |
| 53 | else |
Isaac Chen | f5af850 | 2017-08-23 10:58:57 +0000 | [diff] [blame] | 54 | TARGET_2ND_ARCH_VARIANT := armv8-a |
| 55 | TARGET_2ND_CPU_VARIANT := generic |
Narayan Kamath | 8dc227f | 2014-08-18 19:20:07 +0100 | [diff] [blame] | 56 | endif |
Colin Cross | 930b5fb | 2014-01-28 14:35:16 -0800 | [diff] [blame] | 57 | |
Narayan Kamath | 24b7840 | 2014-08-19 13:03:01 +0100 | [diff] [blame] | 58 | |
Colin Cross | 930b5fb | 2014-01-28 14:35:16 -0800 | [diff] [blame] | 59 | TARGET_USES_64_BIT_BINDER := true |
| 60 | |
Ben Cheng | db4fc20 | 2013-10-04 16:02:59 -0700 | [diff] [blame] | 61 | # no hardware camera |
| 62 | USE_CAMERA_STUB := true |
| 63 | |
Lingfeng Yang | 450cd0b | 2017-03-17 10:47:19 -0700 | [diff] [blame] | 64 | TARGET_USES_HWC2 := true |
Lingfeng Yang | a70b40f | 2017-05-09 15:33:26 -0700 | [diff] [blame] | 65 | NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3 |
Lingfeng Yang | 450cd0b | 2017-03-17 10:47:19 -0700 | [diff] [blame] | 66 | |
Ben Cheng | db4fc20 | 2013-10-04 16:02:59 -0700 | [diff] [blame] | 67 | # Build OpenGLES emulation host and guest libraries |
| 68 | BUILD_EMULATOR_OPENGL := true |
Bo Hu | f0d50bb | 2017-08-01 19:02:09 +0000 | [diff] [blame] | 69 | BUILD_QEMU_IMAGES := true |
Ben Cheng | db4fc20 | 2013-10-04 16:02:59 -0700 | [diff] [blame] | 70 | |
Ben Cheng | db4fc20 | 2013-10-04 16:02:59 -0700 | [diff] [blame] | 71 | # 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. |
| 73 | USE_OPENGL_RENDERER := true |
| 74 | |
| 75 | TARGET_USERIMAGES_USE_EXT4 := true |
Isaac Chen | f715470 | 2018-04-19 14:18:54 +0800 | [diff] [blame] | 76 | # Partition size is default 1.5GB (1536MB) for 64 bits projects |
| 77 | BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1610612736 |
Colin Cross | d46c738 | 2014-04-02 09:16:37 -0700 | [diff] [blame] | 78 | BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800 |
Yahan Zhou | 3afe69d | 2017-04-21 12:14:44 -0700 | [diff] [blame] | 79 | TARGET_COPY_OUT_VENDOR := vendor |
| 80 | # ~100 MB vendor image. Please adjust system image / vendor image sizes |
| 81 | # when finalizing them. |
| 82 | BOARD_VENDORIMAGE_PARTITION_SIZE := 100000000 |
| 83 | BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 |
Ben Cheng | db4fc20 | 2013-10-04 16:02:59 -0700 | [diff] [blame] | 84 | BOARD_FLASH_BLOCK_SIZE := 512 |
| 85 | TARGET_USERIMAGES_SPARSE_EXT_DISABLED := true |
bohu | 813249b | 2017-08-10 00:20:01 -0700 | [diff] [blame] | 86 | DEVICE_MATRIX_FILE := device/generic/goldfish/compatibility_matrix.xml |
Stephen Smalley | 901d792 | 2015-04-29 09:55:08 -0400 | [diff] [blame] | 87 | |
bohu | 4a6cc6a | 2017-06-22 22:03:32 -0700 | [diff] [blame] | 88 | BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true |
Stephen Smalley | 901d792 | 2015-04-29 09:55:08 -0400 | [diff] [blame] | 89 | BOARD_SEPOLICY_DIRS += build/target/board/generic/sepolicy |
bohu | e9046cb | 2017-11-28 09:24:02 -0800 | [diff] [blame] | 90 | |
Isaac Chen | f715470 | 2018-04-19 14:18:54 +0800 | [diff] [blame] | 91 | ifneq (,$(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. |
| 94 | TARGET_SYSTEM_PROP := build/make/target/board/treble_system.prop |
| 95 | endif |
| 96 | BOARD_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. |
| 102 | BOARD_ROOT_EXTRA_FOLDERS += firmware firmware/radio persist |
| 103 | BOARD_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 /. |
| 107 | BOARD_SEPOLICY_DIRS += build/target/board/generic_arm64_ab/sepolicy |
| 108 | |
Bjoern Johansson | 12fd2d8 | 2017-05-04 10:51:02 -0700 | [diff] [blame] | 109 | # Wifi. |
Bjoern Johansson | 275bdb0 | 2017-11-14 17:10:44 -0800 | [diff] [blame] | 110 | BOARD_WLAN_DEVICE := emulator |
Bjoern Johansson | 12fd2d8 | 2017-05-04 10:51:02 -0700 | [diff] [blame] | 111 | BOARD_HOSTAPD_DRIVER := NL80211 |
| 112 | BOARD_WPA_SUPPLICANT_DRIVER := NL80211 |
| 113 | BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_simulated |
| 114 | BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_simulated |
| 115 | WPA_SUPPLICANT_VERSION := VER_0_8_X |
| 116 | WIFI_DRIVER_FW_PATH_PARAM := "/dev/null" |
| 117 | WIFI_DRIVER_FW_PATH_STA := "/dev/null" |
| 118 | WIFI_DRIVER_FW_PATH_AP := "/dev/null" |
| 119 | |
bohu | e9046cb | 2017-11-28 09:24:02 -0800 | [diff] [blame] | 120 | # Enable A/B update |
| 121 | TARGET_NO_RECOVERY := true |
| 122 | BOARD_BUILD_SYSTEM_ROOT_IMAGE := true |