1# 2# Copyright (C) 2019 The Android Open-Source Project 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15# 16 17# 18# The makefile contains the special settings for GSI releasing. 19# This makefile is used for the build targets which used for releasing GSI. 20# 21# For example: 22# - Released GSI contains skip_mount.cfg to skip mounting prodcut paritition 23# - Released GSI contains more VNDK packages to support old version vendors 24# - etc. 25# 26# See device/generic/common/README.md for more details. 27# 28 29BUILDING_GSI := true 30 31# Exclude all files under system/product and system/system_ext 32PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \ 33 system/product/% \ 34 system/system_ext/% 35 36# GSI should always support up-to-date platform features. 37# Keep this value at the latest API level to ensure latest build system 38# default configs are applied. 39PRODUCT_SHIPPING_API_LEVEL := 34 40 41# Enable dynamic partitions to facilitate mixing onto Cuttlefish 42PRODUCT_USE_DYNAMIC_PARTITIONS := true 43 44# Enable dynamic partition size 45PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true 46 47# Disable the build-time debugfs restrictions on GSI builds 48PRODUCT_SET_DEBUGFS_RESTRICTIONS := false 49 50# GSI targets should install "unflattened" APEXes in /system 51TARGET_FLATTEN_APEX := false 52 53# GSI targets should install "flattened" APEXes in /system_ext as well 54PRODUCT_INSTALL_EXTRA_FLATTENED_APEXES := true 55 56# The flattened version of com.android.apex.cts.shim.v1 should be explicitly installed 57# because the shim apex is prebuilt one and PRODUCT_INSTALL_EXTRA_FLATTENED_APEXES is not 58# supported for prebuilt_apex modules yet. 59PRODUCT_PACKAGES += com.android.apex.cts.shim.v1_with_prebuilts.flattened 60 61# GSI specific tasks on boot 62PRODUCT_PACKAGES += \ 63 gsi_skip_mount.cfg \ 64 init.gsi.rc \ 65 init.vndk-nodef.rc \ 66 67# Overlay the GSI specific SystemUI setting 68PRODUCT_PACKAGES += gsi_overlay_systemui 69PRODUCT_COPY_FILES += \ 70 device/generic/common/overlays/overlay-config.xml:$(TARGET_COPY_OUT_SYSTEM_EXT)/overlay/config/config.xml 71 72# Support additional VNDK snapshots 73PRODUCT_EXTRA_VNDK_VERSIONS := \ 74 29 \ 75 30 \ 76 31 \ 77 32 \ 78 33 \ 79 80# Do not build non-GSI partition images. 81PRODUCT_BUILD_CACHE_IMAGE := false 82PRODUCT_BUILD_DEBUG_BOOT_IMAGE := false 83PRODUCT_BUILD_DEBUG_VENDOR_BOOT_IMAGE := false 84PRODUCT_BUILD_USERDATA_IMAGE := false 85PRODUCT_BUILD_VENDOR_IMAGE := false 86PRODUCT_BUILD_SUPER_PARTITION := false 87PRODUCT_BUILD_SUPER_EMPTY_IMAGE := false 88PRODUCT_BUILD_SYSTEM_DLKM_IMAGE := false 89PRODUCT_EXPORT_BOOT_IMAGE_TO_DIST := true 90 91# Additional settings used in all GSI builds 92PRODUCT_PRODUCT_PROPERTIES += \ 93 ro.crypto.metadata_init_delete_all_keys.enabled=false \ 94 95# Window Extensions 96$(call inherit-product, $(SRC_TARGET_DIR)/product/window_extensions.mk)