blob: 18b6798d81c2124432eb8d5552d368d5076a689e [file] [log] [blame]
PRODUCT_BRAND ?= bliss
ifneq ($(TARGET_SCREEN_WIDTH) $(TARGET_SCREEN_HEIGHT),$(space))
# determine the smaller dimension
TARGET_BOOTANIMATION_SIZE := $(shell \
if [ $(TARGET_SCREEN_WIDTH) -lt $(TARGET_SCREEN_HEIGHT) ]; then \
echo $(TARGET_SCREEN_WIDTH); \
else \
echo $(TARGET_SCREEN_HEIGHT); \
fi )
# get a sorted list of the sizes
bootanimation_sizes := $(subst .zip,, $(shell ls vendor/bliss/prebuilt/common/bootanimation))
bootanimation_sizes := $(shell echo -e $(subst $(space),'\n',$(bootanimation_sizes)) | sort -rn)
# find the appropriate size and set
define check_and_set_bootanimation
$(eval TARGET_BOOTANIMATION_NAME := $(shell \
if [ -z "$(TARGET_BOOTANIMATION_NAME)" ]; then
if [ $(1) -le $(TARGET_BOOTANIMATION_SIZE) ]; then \
echo $(1); \
exit 0; \
fi;
fi;
echo $(TARGET_BOOTANIMATION_NAME); ))
endef
$(foreach size,$(bootanimation_sizes), $(call check_and_set_bootanimation,$(size)))
ifeq ($(TARGET_BOOTANIMATION_HALF_RES),true)
PRODUCT_BOOTANIMATION := vendor/bliss/prebuilt/common/bootanimation/halfres/$(TARGET_BOOTANIMATION_NAME).zip
else
PRODUCT_BOOTANIMATION := vendor/bliss/prebuilt/common/bootanimation/$(TARGET_BOOTANIMATION_NAME).zip
endif
endif
PRODUCT_BUILD_PROP_OVERRIDES += BUILD_UTC_DATE=0
ifeq ($(PRODUCT_GMS_CLIENTID_BASE),)
PRODUCT_PROPERTY_OVERRIDES += \
ro.com.google.clientidbase=android-google
else
PRODUCT_PROPERTY_OVERRIDES += \
ro.com.google.clientidbase=$(PRODUCT_GMS_CLIENTID_BASE)
endif
PRODUCT_PROPERTY_OVERRIDES += \
keyguard.no_require_sim=true \
ro.url.legal=http://www.google.com/intl/%s/mobile/android/basic/phone-legal.html \
ro.url.legal.android_privacy=http://www.google.com/intl/%s/mobile/android/basic/privacy.html \
ro.com.android.wifi-watchlist=GoogleGuest \
ro.setupwizard.enterprise_mode=1 \
ro.com.android.dateformat=MM-dd-yyyy \
ro.com.android.dataroaming=false
PRODUCT_PROPERTY_OVERRIDES += \
ro.build.selinux=1
ifneq ($(TARGET_BUILD_VARIANT),user)
# Thank you, please drive thru!
PRODUCT_PROPERTY_OVERRIDES += persist.sys.dun.override=0
endif
ifneq ($(TARGET_BUILD_VARIANT),eng)
# Enable ADB authentication
ADDITIONAL_DEFAULT_PROPERTIES += ro.adb.secure=1
endif
# Backup Tool
ifneq ($(WITH_GMS),true)
PRODUCT_COPY_FILES += \
vendor/bliss/prebuilt/common/bin/backuptool.sh:install/bin/backuptool.sh \
vendor/bliss/prebuilt/common/bin/backuptool.functions:install/bin/backuptool.functions \
vendor/bliss/prebuilt/common/bin/50-bliss.sh:system/addon.d/50-bliss.sh \
vendor/bliss/prebuilt/common/bin/blacklist:system/addon.d/blacklist
endif
# Signature compatibility validation
PRODUCT_COPY_FILES += \
vendor/bliss/prebuilt/common/bin/otasigcheck.sh:install/bin/otasigcheck.sh
# init.d support
PRODUCT_COPY_FILES += \
vendor/bliss/prebuilt/common/etc/init.d/00banner:system/etc/init.d/00banner \
vendor/bliss/prebuilt/common/bin/sysinit:system/bin/sysinit
ifneq ($(TARGET_BUILD_VARIANT),user)
# userinit support
PRODUCT_COPY_FILES += \
vendor/bliss/prebuilt/common/etc/init.d/90userinit:system/etc/init.d/90userinit
endif
# AdAway App
PRODUCT_COPY_FILES += \
vendor/bliss/prebuilt/AdAway/AdAway.apk:system/priv-app/AdAway/AdAway.apk
# KernelAdiutor
PRODUCT_COPY_FILES += \
vendor/bliss/prebuilt/KernelAdiutor/KernelAdiutor.apk:system/app/KernelAdiutor/KernelAdiutor.apk
# Bliss-specific init file
PRODUCT_COPY_FILES += \
vendor/bliss/prebuilt/common/etc/init.local.rc:root/init.bliss.rc
# Copy over added mimetype supported in libcore.net.MimeUtils
PRODUCT_COPY_FILES += \
vendor/bliss/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 Bliss!
PRODUCT_COPY_FILES += \
vendor/bliss/config/permissions/com.bliss.android.xml:system/etc/permissions/com.bliss.android.xml
# Theme engine
include vendor/bliss/config/themes_common.mk
# Bliss Audio Mods
-include vendor/bliss/config/bliss_audio_mod.mk
# Required CM packages
PRODUCT_PACKAGES += \
Development \
BluetoothExt \
Profiles
# Optional CM packages
PRODUCT_PACKAGES += \
libemoji \
Terminal
# Include librsjni explicitly to workaround GMS issue
PRODUCT_PACKAGES += \
librsjni
# Custom CM packages
PRODUCT_PACKAGES += \
Launcher3 \
Trebuchet \
CMWallpapers \
CMFileManager \
Eleven \
LockClock \
CMAccount \
CMSettingsProvider
# CM Platform Library
PRODUCT_PACKAGES += \
org.cyanogenmod.platform-res \
org.cyanogenmod.platform \
org.cyanogenmod.platform.xml
# CM Hardware Abstraction Framework
PRODUCT_PACKAGES += \
org.cyanogenmod.hardware \
org.cyanogenmod.hardware.xml
# Other packages
PRODUCT_PACKAGES += \
BlissOTA \
BlissSettings
# Extra tools in Bliss
PRODUCT_PACKAGES += \
libsepol \
mke2fs \
tune2fs \
nano \
htop \
mkfs.ntfs \
fsck.ntfs \
mount.ntfs \
gdbserver \
micro_bench \
oprofiled \
sqlite3 \
strace \
pigz
WITH_EXFAT ?= true
ifeq ($(WITH_EXFAT),true)
TARGET_USES_EXFAT := true
PRODUCT_PACKAGES += \
mount.exfat \
fsck.exfat \
mkfs.exfat
endif
# Openssh
PRODUCT_PACKAGES += \
scp \
sftp \
ssh \
sshd \
sshd_config \
ssh-keygen \
start-ssh
# rsync
PRODUCT_PACKAGES += \
rsync
# Stagefright FFMPEG plugin
PRODUCT_PACKAGES += \
libffmpeg_extractor \
libffmpeg_omx \
media_codecs_ffmpeg.xml
PRODUCT_PROPERTY_OVERRIDES += \
media.sf.omx-plugin=libffmpeg_omx.so \
media.sf.extractor-plugin=libffmpeg_extractor.so
# These packages are excluded from user builds
ifneq ($(TARGET_BUILD_VARIANT),user)
PRODUCT_PACKAGES += \
procmem \
procrank \
su
endif
PRODUCT_PROPERTY_OVERRIDES += \
persist.sys.root_access=0
PRODUCT_PACKAGE_OVERLAYS += vendor/bliss/overlay/common
# by default, do not update the recovery with system updates
PRODUCT_PROPERTY_OVERRIDES += persist.sys.recovery_update=false
# BLISS Versioning System
-include vendor/bliss/config/versions.mk
PRODUCT_PROPERTY_OVERRIDES += \
BUILD_DISPLAY_ID=$(BUILD_ID) \
ro.bliss.version=$(BLISS_VERSION)
# Team Bliss OTA Updater
ifeq ($(BLISS_DONATE),)
BLISS_DONATE =: http://goo.gl/31q5YL
endif
BLISS_OTA_BUILDDIR := Official
ifeq ($(BLISS_BUILDTYPE),NIGHTLY)
BLISS_OTA_BUILDDIR := Nightlies
endif
BLISS_BASE_URL := http://downloads.blissroms.com/Bliss
ifeq ($(BLISS_DEVICE_URL),)
BLISS_DEVICE_URL := $(BLISS_BASE_URL)/$(BLISS_OTA_BUILDDIR)/$(TARGET_DEVICE)
endif
BLISS_OTA_VERSION := $(shell date +%Y%m%d%H)
BLISS_ROM_NAME := Bliss
PRODUCT_PROPERTY_OVERRIDES += \
ro.ota.systemname=$(BLISS_ROM_NAME) \
ro.ota.version=$(BLISS_OTA_VERSION) \
ro.ota.device=$(TARGET_DEVICE) \
ro.ota.manifest=$(BLISS_DEVICE_URL)/ota$(BLISS_OTA_XMLVER).xml
export BLISS_OTA_ROM=$(BLISS_ROM_NAME)
export BLISS_OTA_VERNAME=$(BLISS_VERSION)
export BLISS_OTA_VER=$(BLISS_OTA_VERSION)
export BLISS_OTA_URL=$(BLISS_DEVICE_URL)/$(BLISS_VERSION).zip
ifndef CM_PLATFORM_SDK_VERSION
# This is the canonical definition of the SDK version, which defines
# the set of APIs and functionality available in the platform. It
# is a single integer that increases monotonically as updates to
# the SDK are released. It should only be incremented when the APIs for
# the new release are frozen (so that developers don't write apps against
# intermediate builds).
CM_PLATFORM_SDK_VERSION := 4
endif
ifndef CM_PLATFORM_REV
# For internal SDK revisions that are hotfixed/patched
# Reset after each CM_PLATFORM_SDK_VERSION release
# If you are doing a release and this is NOT 0, you are almost certainly doing it wrong
CM_PLATFORM_REV := 0
endif
# CyanogenMod Platform SDK Version
PRODUCT_PROPERTY_OVERRIDES += \
ro.cm.build.version.plat.sdk=$(CM_PLATFORM_SDK_VERSION)
# CyanogenMod Platform Internal
PRODUCT_PROPERTY_OVERRIDES += \
ro.cm.build.version.plat.rev=$(CM_PLATFORM_REV)
-include $(WORKSPACE)/build_env/image-auto-bits.mk
$(call prepend-product-if-exists, vendor/extra/product.mk)