android_device_samsung_a20/universal7885-common/universal7885-common.mk
2023-12-01 20:07:31 +09:00

393 lines
17 KiB
Makefile

# Call proprietary blob setup
ifeq ($(TARGET_LOCAL_ARCH),arm64)
$(call inherit-product, vendor/samsung/universal7885-common/universal7885-common-vendor.mk)
endif
# Client Id base
PRODUCT_GMS_CLIENTID_BASE := android-samsung
# Allow Copying of apks.
PRODUCT_BROKEN_VERIFY_USES_LIBRARIES := true
# Disable Postrender Cleanup
TARGET_DISABLE_POSTRENDER_CLEANUP := true
# For *_auto_generated_rro_vendor.apk
PRODUCT_ENFORCE_RRO_TARGETS := framework-res SystemUI Bluetooth
PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS := # leave it empty
PRODUCT_PACKAGES += \
android.hardware.audio@7.1-impl \
android.hardware.audio.service \
android.hardware.audio.effect@7.0-impl \
libtinycompress \
audio.r_submix.default \
audio.usb.default
# Audio (BT)
PRODUCT_PACKAGES += \
android.hardware.bluetooth.audio-impl \
audio.bluetooth.default
# Audio Configs
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/audio/bluetooth_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
$(LOCAL_PATH)/configs/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
$(LOCAL_PATH)/configs/audio/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml
# Bluetooth
PRODUCT_PACKAGES += \
android.hardware.bluetooth@1.1-service \
libbt-vendor
PRODUCT_COPY_FILES += \
hardware/samsung_slsi/libbt/conf/bt_did.conf:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth/bt_did.conf \
hardware/samsung_slsi/libbt/conf/bt_vendor.conf:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth/bt_vendor.conf
# Set the Bluetooth Class of Device
# Service Field: 0x5A -> 90
# Bit 17: Networking
# Bit 19: Capturing
# Bit 20: Object Transfer
# Bit 22: Telephony
# MAJOR_CLASS: 0x02 -> 2 (Phone)
# MINOR_CLASS: 0x0C -> 12 (Smart Phone)
PRODUCT_PRODUCT_PROPERTIES += \
bluetooth.device.class_of_device=90,2,12
# Set supported Bluetooth profiles to enabled
PRODUCT_PRODUCT_PROPERTIES += \
bluetooth.profile.asha.central.enabled=true \
bluetooth.profile.a2dp.source.enabled=true \
bluetooth.profile.avrcp.target.enabled=true \
bluetooth.profile.bap.broadcast.assist.enabled=true \
bluetooth.profile.bap.unicast.server.enabled=true \
bluetooth.profile.bas.client.enabled=true \
bluetooth.profile.csip.set_coordinator.enabled=true \
bluetooth.profile.gatt.enabled=true \
bluetooth.profile.hap.client.enabled=true \
bluetooth.profile.hfp.ag.enabled=true \
bluetooth.profile.hid.device.enabled=true \
bluetooth.profile.hid.host.enabled=true \
bluetooth.profile.map.server.enabled=true \
bluetooth.profile.mcp.server.enabled=true \
bluetooth.profile.opp.enabled=true \
bluetooth.profile.pan.nap.enabled=true \
bluetooth.profile.pan.panu.enabled=true \
bluetooth.profile.pbap.server.enabled=true \
bluetooth.profile.sap.server.enabled=true \
bluetooth.profile.tbs.server.enabled=true \
bluetooth.profile.vc.server.enabled=true
# Camera
TARGET_BOARD_CAMERA_COUNT ?= 3
ifeq ($(TARGET_BOARD_CAMERA_COUNT), 3)
PRODUCT_PACKAGES += \
android.hardware.camera.provider@2.5-service.exynos7885
else
PRODUCT_PACKAGES += \
android.hardware.camera.provider@2.5-service
endif
PRODUCT_PACKAGES += \
libGrallocWrapper \
libacryl
# Camera app
PRODUCT_PACKAGES += \
Aperture
# Charger
PRODUCT_PACKAGES += \
libsuspend
# Debug
$(call inherit-product, hardware/samsung-ext/interfaces/debug-tools/debug.mk)
# DRM
PRODUCT_PACKAGES += \
android.hardware.drm-service.clearkey \
android.hardware.drm@1.3.vendor
# Fingerprint
TARGET_BOARD_HAS_FP ?= true
ifeq ($(TARGET_BOARD_HAS_FP), true)
PRODUCT_PACKAGES += \
android.hardware.biometrics.fingerprint@2.3-service.samsung
endif
# Gatekeeper
PRODUCT_PACKAGES += \
android.hardware.gatekeeper@1.0-impl \
android.hardware.gatekeeper@1.0-service
# GPS
PRODUCT_PACKAGES += \
android.hardware.gnss@2.1.vendor
# Graphics
PRODUCT_PACKAGES += \
android.hardware.graphics.allocator@2.0-impl \
android.hardware.graphics.allocator@2.0-service \
android.hardware.graphics.mapper@2.0-impl \
libgui_vendor
PRODUCT_PACKAGES += \
android.hardware.composer.hwc3-service.slsi \
gralloc.$(TARGET_SOC) \
libion_exynos
# Health
PRODUCT_PACKAGES += \
android.hardware.health@2.1-impl \
android.hardware.health@2.1-impl.recovery \
android.hardware.health@2.1-service
# HIDL
PRODUCT_PACKAGES += \
libhidltransport \
libhidltransport.vendor \
libhwbinder \
libhwbinder.vendor \
libunwindstack.vendor
# Init
PRODUCT_PACKAGES += \
fstab.$(TARGET_SOC) \
fstab.enableswap \
init.exynos7885.rc \
init.exynos7885.usb.rc \
wifi_sec.rc \
init.target.rc \
init.baseband.rc
ifeq ($(TARGET_HAS_UDFPS),true)
PRODUCT_PACKAGES += \
init.udfps.rc
endif
# Lights
PRODUCT_PACKAGES += \
android.hardware.light-service.samsung
# Keylayout
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/keylayout/Codec3035_Headset_Events.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/Codec3035_Headset_Events.kl \
$(LOCAL_PATH)/configs/keylayout/uinput-sec-fp.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/uinput-sec-fp.kl
# Keymaster
PRODUCT_PACKAGES += \
android.hardware.keymaster@4.0-service.samsung \
libkeymaster4_1support.vendor
# Media
PRODUCT_COPY_FILES += \
frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml
# Memtrack
PRODUCT_PACKAGES += \
android.hardware.memtrack-service.samsung-mali
# NFC
PRODUCT_PACKAGES += \
android.hardware.nfc@1.2-service.samsung \
com.android.nfc_extras \
libnfc-nci \
libnfc_nci_jni \
NfcNci \
Tag
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/nfc/libnfc-sec-vendor.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-sec-vendor.conf
# Overlays
DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay
# DEVICE_PACAKGE_OVERLAYS += $(LOCAL_PATH)/overlay-rom
# OMX
PRODUCT_PACKAGES += \
libstagefrighthw \
libExynosOMX_Core \
libExynosOMX_Resourcemanager \
libOMX.Exynos.AVC.Decoder \
libOMX.Exynos.AVC.Encoder \
libOMX.Exynos.HEVC.Decoder \
libOMX.Exynos.HEVC.Encoder \
libOMX.Exynos.MPEG4.Decoder \
libOMX.Exynos.MPEG4.Encoder \
libOMX.Exynos.VP8.Decoder \
libOMX.Exynos.VP8.Encoder \
libOMX.Exynos.VP9.Decoder \
libOMX.Exynos.WMV.Decoder
# Permissions
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml \
frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml \
frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml \
frameworks/native/data/etc/android.hardware.camera.ar.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.ar.xml \
frameworks/native/data/etc/android.hardware.camera.autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.autofocus.xml \
frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml \
frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \
frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml \
frameworks/native/data/etc/android.hardware.camera.raw.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.raw.xml \
frameworks/native/data/etc/android.hardware.camera.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.xml \
frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \
frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_NFC/android.hardware.nfc.hce.xml \
frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_NFC/android.hardware.nfc.hcef.xml \
frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_NFC/android.hardware.nfc.uicc.xml \
frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_NFC/android.hardware.nfc.xml \
frameworks/native/data/etc/android.hardware.location.gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.location.gps.xml \
frameworks/native/data/etc/android.hardware.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.xml \
frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \
frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \
frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \
frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml \
frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \
frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml \
frameworks/native/data/etc/android.hardware.telephony.gsm.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.gsm.xml \
frameworks/native/data/etc/android.hardware.telephony.ims.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.ims.xml \
frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \
frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \
frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \
frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute.xml \
frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \
frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \
frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \
frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
frameworks/native/data/etc/android.software.ipsec_tunnels.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnels.xml \
frameworks/native/data/etc/android.software.app_widgets.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.app_widgets.xml \
frameworks/native/data/etc/android.software.device_id_attestation.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_id_attestation.xml \
frameworks/native/data/etc/android.software.freeform_window_management.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.freeform_window_management.xml \
frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml \
frameworks/native/data/etc/android.software.picture_in_picture.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.picture_in_picture.xml \
frameworks/native/data/etc/android.software.sip.voip.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.sip.voip.xml \
frameworks/native/data/etc/android.software.vulkan.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \
frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml
# Power
PRODUCT_PACKAGES += \
android.hardware.power-service.samsung-libperfmgr
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/power/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json
# Power Stats impl
PRODUCT_PACKAGES += \
android.hardware.power.stats-service.exynos7
# Protobuf
PRODUCT_PACKAGES += \
libprotobuf-cpp-full-vendorcompat \
libprotobuf-cpp-lite-vendorcompat
# Public Libraries
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/public.libraries.txt:$(TARGET_COPY_OUT_VENDOR)/etc/public.libraries.txt
# RIL
PRODUCT_PACKAGES += \
android.hardware.radio@1.4.vendor \
android.hardware.radio@1.0 \
android.hardware.radio.config@1.2.vendor \
android.hardware.radio.deprecated@1.0.vendor
PRODUCT_PACKAGES += \
secril_config_svc
# Ueventd
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/rootdir/etc/ueventd.rc:$(TARGET_COPY_OUT_VENDOR)/etc/ueventd.rc
# Screen density
PRODUCT_AAPT_CONFIG := normal
PRODUCT_AAPT_PREF_CONFIG := xxhdpi
# DAP
PRODUCT_PACKAGES += \
SamsungDAP
# Samsung Ext Flash
PRODUCT_PACKAGES += \
FlashControl \
SmartCharge
PRODUCT_PACKAGES += \
vendor.lineage.touch@1.0-service.samsung \
vendor.lineage.touch@1.0-service.ss \
vendor.lineage.fastcharge@1.0-service.samsung
# Sensors
PRODUCT_PACKAGES += \
android.hardware.sensors@1.0-impl.samsung \
libsensorndkbridge
# Shims
PRODUCT_PACKAGES += \
libshim_sensorndkbridge
# Skip Mount
PRODUCT_PACKAGES += \
gsi_skip_mount.cfg
# Soong namespaces
PRODUCT_SOONG_NAMESPACES += \
$(LOCAL_PATH) \
hardware/google/interfaces \
hardware/google/pixel \
hardware/samsung \
hardware/samsung/aidl/power-libperfmgr
# Speed profile services and wifi-service to reduce RAM and storage
PRODUCT_SYSTEM_SERVER_COMPILER_FILTER := speed-profile
PRODUCT_USE_PROFILE_FOR_BOOT_IMAGE := true
PRODUCT_DEX_PREOPT_BOOT_IMAGE_PROFILE_LOCATION := frameworks/base/config/boot-image-profile.txt
# Task profiles
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/tasks/task_profiles.json:$(TARGET_COPY_OUT_VENDOR)/etc/task_profiles.json
# Thermal
PRODUCT_PACKAGES += \
android.hardware.thermal@1.0-impl \
android.hardware.thermal@1.0-service
# Vibrator
PRODUCT_PACKAGES += \
android.hardware.vibrator-service.samsung
# Workaround for vintf issues...
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/vintf/compatibility_matrix.3.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/vintf/compatibility_matrix.3.xml
# Wifi
PRODUCT_PACKAGES += \
android.hardware.wifi@1.0-service \
hostapd \
WifiOverlay \
wpa_supplicant
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/wifi/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf \
$(LOCAL_PATH)/configs/wifi/wpa_supplicant.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant.conf \
$(LOCAL_PATH)/configs/wifi/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf
PRODUCT_CFI_INCLUDE_PATHS += hardware/samsung_slsi/scsc_wifibt/wpa_supplicant_lib
# Extra Command-Line Tools
PRODUCT_PACKAGES += \
sgdisk \
strace
# Forcefully add messaging to build list
PRODUCT_PACKAGES += \
messaging