| 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 \ |
| CMFileManager \ |
| Eleven \ |
| LockClock \ |
| 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 \ |
| OmniSwitch |
| |
| # 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 |
| |
| ifeq ($(OTA_64),true) |
| TARGET_ARCH_ABI := arm64-v8a |
| TARGET_LIB_DIR := lib64 |
| else |
| TARGET_ARCH_ABI := armeabi-v7a |
| TARGET_LIB_DIR := lib |
| endif |
| |
| PRODUCT_COPY_FILES += \ |
| vendor/bliss/prebuilt/$(TARGET_LIB_DIR)/$(TARGET_ARCH_ABI)/libbypass.so:system/$(TARGET_LIB_DIR)/libbypass.so |
| |
| # SuperSU |
| PRODUCT_COPY_FILES += \ |
| vendor/bliss/prebuilt/common/UPDATE-SuperSU.zip:system/addon.d/UPDATE-SuperSU.zip \ |
| vendor/bliss/prebuilt/common/etc/init.d/99SuperSUDaemon:system/etc/init.d/99SuperSUDaemon |
| |
| 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 := 5 |
| 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) |