blob: 7aff62c39fc67c4b2ae762d5950b521a0d232710 [file] [log] [blame]
#
# Copyright (C) 2018 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.
#
# This makefile is the basis of a generic system image for a handheld device.
$(call inherit-product, $(SRC_TARGET_DIR)/product/handheld_system.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/telephony_system.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/languages_default.mk)
# Add adb keys to debuggable AOSP builds (if they exist)
$(call inherit-product-if-exists, vendor/google/security/adb/vendor_key.mk)
# Enable updating of APEXes
$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk)
# Shared java libs
PRODUCT_PACKAGES += \
com.android.nfc_extras \
# Applications
PRODUCT_PACKAGES += \
LiveWallpapersPicker \
PartnerBookmarksProvider \
preinstalled-packages-platform-generic-system.xml \
Stk \
Tag \
ifeq ($(RELEASE_AVATAR_PICKER_APP),true)
PRODUCT_PACKAGES += \
AvatarPicker
endif
# OTA support
PRODUCT_PACKAGES += \
recovery-refresh \
update_engine \
update_verifier \
# Wrapped net utils for /vendor access.
PRODUCT_PACKAGES += netutils-wrapper-1.0
# Charger images
PRODUCT_PACKAGES += charger_res_images
# system_other support
PRODUCT_PACKAGES += \
cppreopts.sh \
otapreopt_script \
# For ringtones that rely on forward lock encryption
PRODUCT_PACKAGES += libfwdlockengine
# System libraries commonly depended on by things on the system_ext or product partitions.
# These lists will be pruned periodically.
PRODUCT_PACKAGES += \
android.hardware.biometrics.fingerprint@2.1 \
android.hardware.radio@1.0 \
android.hardware.radio@1.1 \
android.hardware.radio@1.2 \
android.hardware.radio@1.3 \
android.hardware.radio@1.4 \
android.hardware.radio.config@1.0 \
android.hardware.radio.deprecated@1.0 \
android.hardware.secure_element@1.0 \
libaudio-resampler \
libaudiohal \
libdrm \
liblogwrap \
liblz4 \
libminui \
libnl \
libprotobuf-cpp-full \
# These libraries are empty and have been combined into libhidlbase, but are still depended
# on by things off /system.
# TODO(b/135686713): remove these
PRODUCT_PACKAGES += \
libhidltransport \
libhwbinder \
PRODUCT_PACKAGES_DEBUG += \
avbctl \
bootctl \
tinycap \
tinyhostless \
tinymix \
tinypcminfo \
tinyplay \
update_engine_client \
PRODUCT_HOST_PACKAGES += \
tinyplay
# Enable configurable audio policy
PRODUCT_PACKAGES += \
libaudiopolicyengineconfigurable \
libpolicy-subsystem
# Add all of the packages used to support older/upgrading devices
# These can be removed as we drop support for the older API levels
PRODUCT_PACKAGES += \
$(PRODUCT_PACKAGES_SHIPPING_API_LEVEL_29) \
$(PRODUCT_PACKAGES_SHIPPING_API_LEVEL_33) \
$(PRODUCT_PACKAGES_SHIPPING_API_LEVEL_34)
# Include all zygote init scripts. "ro.zygote" will select one of them.
PRODUCT_COPY_FILES += \
system/core/rootdir/init.zygote32.rc:system/etc/init/hw/init.zygote32.rc \
system/core/rootdir/init.zygote64.rc:system/etc/init/hw/init.zygote64.rc \
system/core/rootdir/init.zygote64_32.rc:system/etc/init/hw/init.zygote64_32.rc \
# Enable dynamic partition size
PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true
PRODUCT_ENFORCE_RRO_TARGETS := *
PRODUCT_NAME := generic_system
PRODUCT_BRAND := generic
# Define /system partition-specific product properties to identify that /system
# partition is generic_system.
PRODUCT_SYSTEM_NAME := mainline
PRODUCT_SYSTEM_BRAND := Android
PRODUCT_SYSTEM_MANUFACTURER := Android
PRODUCT_SYSTEM_MODEL := mainline
PRODUCT_SYSTEM_DEVICE := generic
_base_mk_allowed_list :=
_my_allowed_list := $(_base_mk_allowed_list)
# For mainline, system.img should be mounted at /, so we include ROOT here.
_my_paths := \
$(TARGET_COPY_OUT_ROOT)/ \
$(TARGET_COPY_OUT_SYSTEM)/ \
$(call require-artifacts-in-path, $(_my_paths), $(_my_allowed_list))