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