b6b3421188
Change-Id: Ib166a6218d18cf192aa314477e4044892b068e97
377 lines
12 KiB
Makefile
377 lines
12 KiB
Makefile
# Allow vendor/extra to override any property by setting it first
|
|
$(call inherit-product-if-exists, vendor/extra/product.mk)
|
|
|
|
PRODUCT_BRAND ?= LineageOS
|
|
|
|
PRODUCT_BUILD_PROP_OVERRIDES += BUILD_UTC_DATE=0
|
|
|
|
ifeq ($(PRODUCT_GMS_CLIENTID_BASE),)
|
|
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
|
ro.com.google.clientidbase=android-google
|
|
else
|
|
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
|
ro.com.google.clientidbase=$(PRODUCT_GMS_CLIENTID_BASE)
|
|
endif
|
|
|
|
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
|
ro.build.selinux=1
|
|
|
|
# Default notification/alarm sounds
|
|
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
|
ro.config.notification_sound=Argon.ogg \
|
|
ro.config.alarm_alert=Hassium.ogg
|
|
|
|
ifneq ($(TARGET_BUILD_VARIANT),user)
|
|
# Thank you, please drive thru!
|
|
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += persist.sys.dun.override=0
|
|
endif
|
|
|
|
ifeq ($(TARGET_BUILD_VARIANT),eng)
|
|
# Disable ADB authentication
|
|
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += ro.adb.secure=0
|
|
else
|
|
# Enable ADB authentication
|
|
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += ro.adb.secure=1
|
|
endif
|
|
|
|
# Backup Tool
|
|
PRODUCT_COPY_FILES += \
|
|
vendor/lineage/prebuilt/common/bin/backuptool.sh:install/bin/backuptool.sh \
|
|
vendor/lineage/prebuilt/common/bin/backuptool.functions:install/bin/backuptool.functions \
|
|
vendor/lineage/prebuilt/common/bin/50-lineage.sh:system/addon.d/50-lineage.sh \
|
|
vendor/lineage/prebuilt/common/bin/blacklist:system/addon.d/blacklist
|
|
|
|
ifeq ($(AB_OTA_UPDATER),true)
|
|
PRODUCT_COPY_FILES += \
|
|
vendor/lineage/prebuilt/common/bin/backuptool_ab.sh:system/bin/backuptool_ab.sh \
|
|
vendor/lineage/prebuilt/common/bin/backuptool_ab.functions:system/bin/backuptool_ab.functions \
|
|
vendor/lineage/prebuilt/common/bin/backuptool_postinstall.sh:system/bin/backuptool_postinstall.sh
|
|
endif
|
|
|
|
# Backup Services whitelist
|
|
PRODUCT_COPY_FILES += \
|
|
vendor/lineage/config/permissions/backup.xml:system/etc/sysconfig/backup.xml
|
|
|
|
# Lineage-specific broadcast actions whitelist
|
|
PRODUCT_COPY_FILES += \
|
|
vendor/lineage/config/permissions/lineage-sysconfig.xml:system/etc/sysconfig/lineage-sysconfig.xml
|
|
|
|
# init.d support
|
|
PRODUCT_COPY_FILES += \
|
|
vendor/lineage/prebuilt/common/etc/init.d/00banner:system/etc/init.d/00banner \
|
|
vendor/lineage/prebuilt/common/bin/sysinit:system/bin/sysinit
|
|
|
|
ifneq ($(TARGET_BUILD_VARIANT),user)
|
|
# userinit support
|
|
PRODUCT_COPY_FILES += \
|
|
vendor/lineage/prebuilt/common/etc/init.d/90userinit:system/etc/init.d/90userinit
|
|
endif
|
|
|
|
# Copy all Lineage-specific init rc files
|
|
$(foreach f,$(wildcard vendor/lineage/prebuilt/common/etc/init/*.rc),\
|
|
$(eval PRODUCT_COPY_FILES += $(f):system/etc/init/$(notdir $f)))
|
|
|
|
# Copy over added mimetype supported in libcore.net.MimeUtils
|
|
PRODUCT_COPY_FILES += \
|
|
vendor/lineage/prebuilt/common/lib/content-types.properties:system/lib/content-types.properties
|
|
|
|
# Enable SIP+VoIP on all targets
|
|
PRODUCT_COPY_FILES += \
|
|
frameworks/native/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml
|
|
|
|
# Enable wireless Xbox 360 controller support
|
|
PRODUCT_COPY_FILES += \
|
|
frameworks/base/data/keyboards/Vendor_045e_Product_028e.kl:system/usr/keylayout/Vendor_045e_Product_0719.kl
|
|
|
|
# This is Lineage!
|
|
PRODUCT_COPY_FILES += \
|
|
vendor/lineage/config/permissions/org.lineageos.android.xml:system/etc/permissions/org.lineageos.android.xml \
|
|
vendor/lineage/config/permissions/privapp-permissions-lineage.xml:system/etc/permissions/privapp-permissions-lineage.xml \
|
|
vendor/lineage/config/permissions/privapp-permissions-cm-legacy.xml:system/etc/permissions/privapp-permissions-cm-legacy.xml
|
|
|
|
# Enforce privapp-permissions whitelist
|
|
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
|
ro.control_privapp_permissions=enforce
|
|
|
|
# Hidden API whitelist
|
|
PRODUCT_COPY_FILES += \
|
|
vendor/lineage/config/permissions/lineage-hiddenapi-package-whitelist.xml:system/etc/permissions/lineage-hiddenapi-package-whitelist.xml
|
|
|
|
# Power whitelist
|
|
PRODUCT_COPY_FILES += \
|
|
vendor/lineage/config/permissions/lineage-power-whitelist.xml:system/etc/sysconfig/lineage-power-whitelist.xml
|
|
|
|
# Include AOSP audio files
|
|
include vendor/lineage/config/aosp_audio.mk
|
|
|
|
# Include Lineage audio files
|
|
include vendor/lineage/config/lineage_audio.mk
|
|
|
|
ifneq ($(TARGET_DISABLE_LINEAGE_SDK), true)
|
|
# Lineage SDK
|
|
include vendor/lineage/config/lineage_sdk_common.mk
|
|
endif
|
|
|
|
# TWRP
|
|
ifeq ($(WITH_TWRP),true)
|
|
include vendor/lineage/config/twrp.mk
|
|
endif
|
|
|
|
# Do not include art debug targets
|
|
PRODUCT_ART_TARGET_INCLUDE_DEBUG_BUILD := false
|
|
|
|
# Strip the local variable table and the local variable type table to reduce
|
|
# the size of the system image. This has no bearing on stack traces, but will
|
|
# leave less information available via JDWP.
|
|
PRODUCT_MINIMIZE_JAVA_DEBUG_INFO := true
|
|
|
|
# Bootanimation
|
|
PRODUCT_PACKAGES += \
|
|
bootanimation.zip
|
|
|
|
# Required Lineage packages
|
|
PRODUCT_PACKAGES += \
|
|
LineageParts \
|
|
Development \
|
|
Profiles
|
|
|
|
# Optional packages
|
|
PRODUCT_PACKAGES += \
|
|
LiveWallpapersPicker \
|
|
PhotoTable \
|
|
Terminal
|
|
|
|
# Custom Lineage packages
|
|
PRODUCT_PACKAGES += \
|
|
AudioFX \
|
|
Backgrounds \
|
|
LineageSettingsProvider \
|
|
LineageSetupWizard \
|
|
Eleven \
|
|
ExactCalculator \
|
|
Jelly \
|
|
LockClock \
|
|
TrebuchetQuickStep \
|
|
Updater \
|
|
WeatherProvider
|
|
|
|
# Exchange support
|
|
PRODUCT_PACKAGES += \
|
|
Exchange2
|
|
|
|
# Berry styles
|
|
PRODUCT_PACKAGES += \
|
|
LineageBlackTheme \
|
|
LineageDarkTheme \
|
|
LineageBlackAccent \
|
|
LineageBlueAccent \
|
|
LineageBrownAccent \
|
|
LineageCyanAccent \
|
|
LineageGreenAccent \
|
|
LineageOrangeAccent \
|
|
LineagePinkAccent \
|
|
LineagePurpleAccent \
|
|
LineageRedAccent \
|
|
LineageYellowAccent
|
|
|
|
# Extra tools in Lineage
|
|
PRODUCT_PACKAGES += \
|
|
7z \
|
|
awk \
|
|
bash \
|
|
bzip2 \
|
|
curl \
|
|
getcap \
|
|
htop \
|
|
lib7z \
|
|
libsepol \
|
|
pigz \
|
|
powertop \
|
|
setcap \
|
|
unrar \
|
|
unzip \
|
|
vim \
|
|
wget \
|
|
zip
|
|
|
|
# Charger
|
|
PRODUCT_PACKAGES += \
|
|
charger_res_images
|
|
|
|
# Custom off-mode charger
|
|
ifeq ($(WITH_LINEAGE_CHARGER),true)
|
|
PRODUCT_PACKAGES += \
|
|
lineage_charger_res_images \
|
|
font_log.png \
|
|
libhealthd.lineage
|
|
endif
|
|
|
|
# Filesystems tools
|
|
PRODUCT_PACKAGES += \
|
|
fsck.exfat \
|
|
fsck.ntfs \
|
|
mke2fs \
|
|
mkfs.exfat \
|
|
mkfs.ntfs \
|
|
mount.ntfs
|
|
|
|
# Openssh
|
|
PRODUCT_PACKAGES += \
|
|
scp \
|
|
sftp \
|
|
ssh \
|
|
sshd \
|
|
sshd_config \
|
|
ssh-keygen \
|
|
start-ssh
|
|
|
|
# rsync
|
|
PRODUCT_PACKAGES += \
|
|
rsync
|
|
|
|
# Storage manager
|
|
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
|
ro.storage_manager.enabled=true
|
|
|
|
# Media
|
|
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
|
media.recorder.show_manufacturer_and_model=true
|
|
|
|
# These packages are excluded from user builds
|
|
PRODUCT_PACKAGES_DEBUG += \
|
|
micro_bench \
|
|
procmem \
|
|
procrank \
|
|
strace
|
|
|
|
# Conditionally build in su
|
|
ifneq ($(TARGET_BUILD_VARIANT),user)
|
|
ifeq ($(WITH_SU),true)
|
|
PRODUCT_PACKAGES += \
|
|
su
|
|
endif
|
|
endif
|
|
|
|
PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS += vendor/lineage/overlay
|
|
DEVICE_PACKAGE_OVERLAYS += vendor/lineage/overlay/common
|
|
|
|
PRODUCT_VERSION_MAJOR = 17
|
|
PRODUCT_VERSION_MINOR = 0
|
|
PRODUCT_VERSION_MAINTENANCE := 0
|
|
|
|
ifeq ($(TARGET_VENDOR_SHOW_MAINTENANCE_VERSION),true)
|
|
LINEAGE_VERSION_MAINTENANCE := $(PRODUCT_VERSION_MAINTENANCE)
|
|
else
|
|
LINEAGE_VERSION_MAINTENANCE := 0
|
|
endif
|
|
|
|
# Set LINEAGE_BUILDTYPE from the env RELEASE_TYPE, for jenkins compat
|
|
|
|
ifndef LINEAGE_BUILDTYPE
|
|
ifdef RELEASE_TYPE
|
|
# Starting with "LINEAGE_" is optional
|
|
RELEASE_TYPE := $(shell echo $(RELEASE_TYPE) | sed -e 's|^LINEAGE_||g')
|
|
LINEAGE_BUILDTYPE := $(RELEASE_TYPE)
|
|
endif
|
|
endif
|
|
|
|
# Filter out random types, so it'll reset to UNOFFICIAL
|
|
ifeq ($(filter RELEASE NIGHTLY SNAPSHOT EXPERIMENTAL,$(LINEAGE_BUILDTYPE)),)
|
|
LINEAGE_BUILDTYPE :=
|
|
endif
|
|
|
|
ifdef LINEAGE_BUILDTYPE
|
|
ifneq ($(LINEAGE_BUILDTYPE), SNAPSHOT)
|
|
ifdef LINEAGE_EXTRAVERSION
|
|
# Force build type to EXPERIMENTAL
|
|
LINEAGE_BUILDTYPE := EXPERIMENTAL
|
|
# Remove leading dash from LINEAGE_EXTRAVERSION
|
|
LINEAGE_EXTRAVERSION := $(shell echo $(LINEAGE_EXTRAVERSION) | sed 's/-//')
|
|
# Add leading dash to LINEAGE_EXTRAVERSION
|
|
LINEAGE_EXTRAVERSION := -$(LINEAGE_EXTRAVERSION)
|
|
endif
|
|
else
|
|
ifndef LINEAGE_EXTRAVERSION
|
|
# Force build type to EXPERIMENTAL, SNAPSHOT mandates a tag
|
|
LINEAGE_BUILDTYPE := EXPERIMENTAL
|
|
else
|
|
# Remove leading dash from LINEAGE_EXTRAVERSION
|
|
LINEAGE_EXTRAVERSION := $(shell echo $(LINEAGE_EXTRAVERSION) | sed 's/-//')
|
|
# Add leading dash to LINEAGE_EXTRAVERSION
|
|
LINEAGE_EXTRAVERSION := -$(LINEAGE_EXTRAVERSION)
|
|
endif
|
|
endif
|
|
else
|
|
# If LINEAGE_BUILDTYPE is not defined, set to UNOFFICIAL
|
|
LINEAGE_BUILDTYPE := UNOFFICIAL
|
|
LINEAGE_EXTRAVERSION :=
|
|
endif
|
|
|
|
ifeq ($(LINEAGE_BUILDTYPE), UNOFFICIAL)
|
|
ifneq ($(TARGET_UNOFFICIAL_BUILD_ID),)
|
|
LINEAGE_EXTRAVERSION := -$(TARGET_UNOFFICIAL_BUILD_ID)
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(LINEAGE_BUILDTYPE), RELEASE)
|
|
ifndef TARGET_VENDOR_RELEASE_BUILD_ID
|
|
LINEAGE_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR).$(PRODUCT_VERSION_MAINTENANCE)$(PRODUCT_VERSION_DEVICE_SPECIFIC)-$(LINEAGE_BUILD)
|
|
else
|
|
ifeq ($(TARGET_BUILD_VARIANT),user)
|
|
ifeq ($(LINEAGE_VERSION_MAINTENANCE),0)
|
|
LINEAGE_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR)-$(TARGET_VENDOR_RELEASE_BUILD_ID)-$(LINEAGE_BUILD)
|
|
else
|
|
LINEAGE_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR).$(LINEAGE_VERSION_MAINTENANCE)-$(TARGET_VENDOR_RELEASE_BUILD_ID)-$(LINEAGE_BUILD)
|
|
endif
|
|
else
|
|
LINEAGE_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR).$(PRODUCT_VERSION_MAINTENANCE)$(PRODUCT_VERSION_DEVICE_SPECIFIC)-$(LINEAGE_BUILD)
|
|
endif
|
|
endif
|
|
else
|
|
ifeq ($(LINEAGE_VERSION_MAINTENANCE),0)
|
|
ifeq ($(LINEAGE_VERSION_APPEND_TIME_OF_DAY),true)
|
|
LINEAGE_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR)-$(shell date -u +%Y%m%d_%H%M%S)-$(LINEAGE_BUILDTYPE)$(LINEAGE_EXTRAVERSION)-$(LINEAGE_BUILD)
|
|
else
|
|
LINEAGE_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR)-$(shell date -u +%Y%m%d)-$(LINEAGE_BUILDTYPE)$(LINEAGE_EXTRAVERSION)-$(LINEAGE_BUILD)
|
|
endif
|
|
else
|
|
ifeq ($(LINEAGE_VERSION_APPEND_TIME_OF_DAY),true)
|
|
LINEAGE_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR).$(LINEAGE_VERSION_MAINTENANCE)-$(shell date -u +%Y%m%d_%H%M%S)-$(LINEAGE_BUILDTYPE)$(LINEAGE_EXTRAVERSION)-$(LINEAGE_BUILD)
|
|
else
|
|
LINEAGE_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR).$(LINEAGE_VERSION_MAINTENANCE)-$(shell date -u +%Y%m%d)-$(LINEAGE_BUILDTYPE)$(LINEAGE_EXTRAVERSION)-$(LINEAGE_BUILD)
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
PRODUCT_EXTRA_RECOVERY_KEYS += \
|
|
vendor/lineage/build/target/product/security/lineage
|
|
|
|
-include vendor/lineage-priv/keys/keys.mk
|
|
|
|
LINEAGE_DISPLAY_VERSION := $(LINEAGE_VERSION)
|
|
|
|
ifneq ($(PRODUCT_DEFAULT_DEV_CERTIFICATE),)
|
|
ifneq ($(PRODUCT_DEFAULT_DEV_CERTIFICATE),build/target/product/security/testkey)
|
|
ifneq ($(LINEAGE_BUILDTYPE), UNOFFICIAL)
|
|
ifndef TARGET_VENDOR_RELEASE_BUILD_ID
|
|
ifneq ($(LINEAGE_EXTRAVERSION),)
|
|
# Remove leading dash from LINEAGE_EXTRAVERSION
|
|
LINEAGE_EXTRAVERSION := $(shell echo $(LINEAGE_EXTRAVERSION) | sed 's/-//')
|
|
TARGET_VENDOR_RELEASE_BUILD_ID := $(LINEAGE_EXTRAVERSION)
|
|
else
|
|
TARGET_VENDOR_RELEASE_BUILD_ID := $(shell date -u +%Y%m%d)
|
|
endif
|
|
else
|
|
TARGET_VENDOR_RELEASE_BUILD_ID := $(TARGET_VENDOR_RELEASE_BUILD_ID)
|
|
endif
|
|
ifeq ($(LINEAGE_VERSION_MAINTENANCE),0)
|
|
LINEAGE_DISPLAY_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR)-$(TARGET_VENDOR_RELEASE_BUILD_ID)-$(LINEAGE_BUILD)
|
|
else
|
|
LINEAGE_DISPLAY_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR).$(LINEAGE_VERSION_MAINTENANCE)-$(TARGET_VENDOR_RELEASE_BUILD_ID)-$(LINEAGE_BUILD)
|
|
endif
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
-include $(WORKSPACE)/build_env/image-auto-bits.mk
|
|
-include vendor/lineage/config/partner_gms.mk
|