• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
2# Copyright (C) 2018 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 handheld device.
18$(call inherit-product, $(SRC_TARGET_DIR)/product/handheld_system.mk)
19$(call inherit-product, $(SRC_TARGET_DIR)/product/telephony_system.mk)
20$(call inherit-product, $(SRC_TARGET_DIR)/product/languages_default.mk)
21# Add adb keys to debuggable AOSP builds (if they exist)
22$(call inherit-product-if-exists, vendor/google/security/adb/vendor_key.mk)
23
24# Enable updating of APEXes
25$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk)
26
27# Shared java libs
28PRODUCT_PACKAGES += \
29    com.android.nfc_extras \
30
31# Applications
32PRODUCT_PACKAGES += \
33    LiveWallpapersPicker \
34    PartnerBookmarksProvider \
35    preinstalled-packages-platform-generic-system.xml \
36    Stk \
37    Tag \
38
39# OTA support
40PRODUCT_PACKAGES += \
41    recovery-refresh \
42    update_engine \
43    update_verifier \
44
45# Wrapped net utils for /vendor access.
46PRODUCT_PACKAGES += netutils-wrapper-1.0
47
48# Charger images
49PRODUCT_PACKAGES += charger_res_images
50
51# system_other support
52PRODUCT_PACKAGES += \
53    cppreopts.sh \
54    otapreopt_script \
55
56# For ringtones that rely on forward lock encryption
57PRODUCT_PACKAGES += libfwdlockengine
58
59# System libraries commonly depended on by things on the system_ext or product partitions.
60# These lists will be pruned periodically.
61PRODUCT_PACKAGES += \
62    android.hardware.biometrics.fingerprint@2.1 \
63    android.hardware.radio@1.0 \
64    android.hardware.radio@1.1 \
65    android.hardware.radio@1.2 \
66    android.hardware.radio@1.3 \
67    android.hardware.radio@1.4 \
68    android.hardware.radio.config@1.0 \
69    android.hardware.radio.deprecated@1.0 \
70    android.hardware.secure_element@1.0 \
71    android.hardware.wifi \
72    libaudio-resampler \
73    libaudiohal \
74    libdrm \
75    liblogwrap \
76    liblz4 \
77    libminui \
78    libnl \
79    libprotobuf-cpp-full \
80
81# These libraries are empty and have been combined into libhidlbase, but are still depended
82# on by things off /system.
83# TODO(b/135686713): remove these
84PRODUCT_PACKAGES += \
85    libhidltransport \
86    libhwbinder \
87
88PRODUCT_PACKAGES_DEBUG += \
89    avbctl \
90    bootctl \
91    tinycap \
92    tinyhostless \
93    tinymix \
94    tinypcminfo \
95    tinyplay \
96    update_engine_client \
97
98PRODUCT_HOST_PACKAGES += \
99    tinyplay
100
101# Enable configurable audio policy
102PRODUCT_PACKAGES += \
103    libaudiopolicyengineconfigurable \
104    libpolicy-subsystem
105
106# Include all zygote init scripts. "ro.zygote" will select one of them.
107PRODUCT_COPY_FILES += \
108    system/core/rootdir/init.zygote32.rc:system/etc/init/hw/init.zygote32.rc \
109    system/core/rootdir/init.zygote64.rc:system/etc/init/hw/init.zygote64.rc \
110    system/core/rootdir/init.zygote64_32.rc:system/etc/init/hw/init.zygote64_32.rc \
111
112# Enable dynamic partition size
113PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true
114
115PRODUCT_ENFORCE_RRO_TARGETS := *
116
117PRODUCT_NAME := generic_system
118PRODUCT_BRAND := generic
119
120# Define /system partition-specific product properties to identify that /system
121# partition is generic_system.
122PRODUCT_SYSTEM_NAME := mainline
123PRODUCT_SYSTEM_BRAND := Android
124PRODUCT_SYSTEM_MANUFACTURER := Android
125PRODUCT_SYSTEM_MODEL := mainline
126PRODUCT_SYSTEM_DEVICE := generic
127
128_base_mk_allowed_list :=
129
130_my_allowed_list := $(_base_mk_allowed_list)
131
132# For mainline, system.img should be mounted at /, so we include ROOT here.
133_my_paths := \
134  $(TARGET_COPY_OUT_ROOT)/ \
135  $(TARGET_COPY_OUT_SYSTEM)/ \
136
137$(call require-artifacts-in-path, $(_my_paths), $(_my_allowed_list))
138