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 32ifeq ($(PRODUCT_REQUIRES_PAI_STUB),true) 33PRODUCT_PACKAGES += \ 34 AtomPlayAutoInstallStub 35endif 36 37# Wrapped net utils for /vendor access. 38PRODUCT_PACKAGES += netutils-wrapper-1.0 39 40# system_other support 41PRODUCT_PACKAGES += \ 42 cppreopts.sh \ 43 otapreopt_script 44 45# System libraries commonly depended on by things on the system_ext or product partitions. 46# These lists will be pruned periodically. 47PRODUCT_PACKAGES += \ 48 android.hardware.wifi \ 49 libaudio-resampler \ 50 libaudiohal \ 51 libdrm \ 52 liblogwrap \ 53 liblz4 \ 54 libminui \ 55 libnl \ 56 libprotobuf-cpp-full 57 58# These libraries are empty and have been combined into libhidlbase, but are still depended 59# on by things off /system. 60# TODO(b/135686713): remove these 61PRODUCT_PACKAGES += \ 62 libhidltransport \ 63 libhwbinder 64 65PRODUCT_PACKAGES_DEBUG += \ 66 avbctl \ 67 bootctl \ 68 tinycap \ 69 tinyhostless \ 70 tinymix \ 71 tinypcminfo \ 72 tinyplay \ 73 update_engine_client 74 75PRODUCT_HOST_PACKAGES += \ 76 tinyplay 77 78# Enable configurable audio policy 79PRODUCT_PACKAGES += \ 80 libaudiopolicyengineconfigurable \ 81 libpolicy-subsystem 82 83# Include all zygote init scripts. "ro.zygote" will select one of them. 84PRODUCT_PACKAGES += \ 85 init.zygote32.rc \ 86 init.zygote64.rc \ 87 init.zygote64_32.rc 88 89# Enable dynamic partition size 90PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true 91 92PRODUCT_ENFORCE_RRO_TARGETS := * 93 94PRODUCT_NAME := atv_generic_system 95PRODUCT_BRAND := generic 96 97# Define /system partition-specific product properties to identify that /system 98# partition is atv_generic_system. 99PRODUCT_SYSTEM_NAME := atv_generic 100PRODUCT_SYSTEM_BRAND := Android 101PRODUCT_SYSTEM_MANUFACTURER := Android 102PRODUCT_SYSTEM_MODEL := atv_generic 103PRODUCT_SYSTEM_DEVICE := generic 104 105_base_mk_whitelist := 106 107_my_whitelist := $(_base_mk_whitelist) 108 109# For mainline, system.img should be mounted at /, so we include ROOT here. 110_my_paths := \ 111 $(TARGET_COPY_OUT_ROOT)/ \ 112 $(TARGET_COPY_OUT_SYSTEM)/ \ 113 114$(call require-artifacts-in-path, $(_my_paths), $(_my_whitelist)) 115