1# 2# Copyright (C) 2020 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# This makefile is the basis of a generic system image for a TV device. 18$(call inherit-product, device/google/atv/products/atv_system.mk) 19$(call inherit-product, $(SRC_TARGET_DIR)/product/languages_default.mk) 20# Add adb keys to debuggable AOSP builds (if they exist) 21$(call inherit-product-if-exists, vendor/google/security/adb/vendor_key.mk) 22 23# Enable updating of APEXes 24$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk) 25 26# OTA support 27PRODUCT_PACKAGES += \ 28 recovery-refresh \ 29 update_engine \ 30 update_verifier \ 31 32# Wrapped net utils for /vendor access. 33PRODUCT_PACKAGES += netutils-wrapper-1.0 34 35# system_other support 36PRODUCT_PACKAGES += \ 37 cppreopts.sh \ 38 otapreopt_script 39 40# Bluetooth libraries 41PRODUCT_PACKAGES += \ 42 audio.a2dp.default 43 44# System libraries commonly depended on by things on the system_ext or product partitions. 45# These lists will be pruned periodically. 46PRODUCT_PACKAGES += \ 47 android.hardware.wifi@1.0 \ 48 libaudio-resampler \ 49 libaudiohal \ 50 libdrm \ 51 liblogwrap \ 52 liblz4 \ 53 libminui \ 54 libnl \ 55 libprotobuf-cpp-full 56 57# These libraries are empty and have been combined into libhidlbase, but are still depended 58# on by things off /system. 59# TODO(b/135686713): remove these 60PRODUCT_PACKAGES += \ 61 libhidltransport \ 62 libhwbinder 63 64PRODUCT_PACKAGES_DEBUG += \ 65 avbctl \ 66 bootctl \ 67 tinyplay \ 68 tinycap \ 69 tinymix \ 70 tinypcminfo \ 71 update_engine_client 72 73PRODUCT_HOST_PACKAGES += \ 74 tinyplay 75 76# Enable configurable audio policy 77PRODUCT_PACKAGES += \ 78 libaudiopolicyengineconfigurable \ 79 libpolicy-subsystem 80 81# Include all zygote init scripts. "ro.zygote" will select one of them. 82PRODUCT_COPY_FILES += \ 83 system/core/rootdir/init.zygote32.rc:system/etc/init/hw/init.zygote32.rc \ 84 system/core/rootdir/init.zygote64.rc:system/etc/init/hw/init.zygote64.rc \ 85 system/core/rootdir/init.zygote64_32.rc:system/etc/init/hw/init.zygote64_32.rc 86 87# Enable dynamic partition size 88PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true 89 90PRODUCT_ENFORCE_RRO_TARGETS := * 91 92PRODUCT_NAME := atv_generic_system 93PRODUCT_BRAND := generic 94 95# Define /system partition-specific product properties to identify that /system 96# partition is atv_generic_system. 97PRODUCT_SYSTEM_NAME := atv_generic 98PRODUCT_SYSTEM_BRAND := Android 99PRODUCT_SYSTEM_MANUFACTURER := Android 100PRODUCT_SYSTEM_MODEL := atv_generic 101PRODUCT_SYSTEM_DEVICE := generic 102 103_base_mk_whitelist := 104 105_my_whitelist := $(_base_mk_whitelist) 106 107# For mainline, system.img should be mounted at /, so we include ROOT here. 108_my_paths := \ 109 $(TARGET_COPY_OUT_ROOT)/ \ 110 $(TARGET_COPY_OUT_SYSTEM)/ \ 111 112$(call require-artifacts-in-path, $(_my_paths), $(_my_whitelist)) 113