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