2011-11-28 16:37:47 +00:00
PRODUCT_BRAND ?= cyanogenmod
2012-08-21 09:18:40 +00:00
i f n e q ( $( 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/cm/prebuilt/common/bootanimation) )
bootanimation_sizes := $( shell echo -e $( subst $( space) ,'\n' ,$( bootanimation_sizes) ) | sort -rn)
# find the appropriate size and set
d e f i n e c h e c k _ a n d _ s e t _ b o o t a n i m a t i o n
$(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) ; ) )
e n d e f
$( foreach size ,$ ( bootanimation_sizes ) , $ ( call check_and_set_bootanimation ,$ ( size ) ) )
2014-01-30 20:51:04 +00:00
i f e q ( $( TARGET_BOOTANIMATION_HALF_RES ) , t r u e )
PRODUCT_BOOTANIMATION := vendor/cm/prebuilt/common/bootanimation/halfres/$( TARGET_BOOTANIMATION_NAME) .zip
e l s e
2013-08-21 20:43:54 +00:00
PRODUCT_BOOTANIMATION := vendor/cm/prebuilt/common/bootanimation/$( TARGET_BOOTANIMATION_NAME) .zip
2012-03-14 07:10:33 +00:00
e n d i f
2014-01-30 20:51:04 +00:00
e n d i f
2012-03-14 07:10:33 +00:00
2011-11-27 19:56:54 +00:00
PRODUCT_BUILD_PROP_OVERRIDES += BUILD_UTC_DATE = 0
2013-11-06 21:55:11 +00:00
i f e q ( $( PRODUCT_GMS_CLIENTID_BASE ) , )
PRODUCT_PROPERTY_OVERRIDES += \
ro.com.google.clientidbase= android-google
e l s e
PRODUCT_PROPERTY_OVERRIDES += \
ro.com.google.clientidbase= $( PRODUCT_GMS_CLIENTID_BASE)
e n d i f
2011-11-27 19:56:54 +00:00
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
2013-08-04 12:25:00 +00:00
PRODUCT_PROPERTY_OVERRIDES += \
2013-09-25 16:13:25 +00:00
ro.build.selinux= 1
2013-08-04 12:25:00 +00:00
2016-09-08 22:04:09 +00:00
# Default notification/alarm sounds
PRODUCT_PROPERTY_OVERRIDES += \
ro.config.notification_sound= Argon.ogg \
ro.config.alarm_alert= Helium.ogg
2015-09-11 23:13:01 +00:00
i f n e q ( $( TARGET_BUILD_VARIANT ) , u s e r )
2014-02-05 06:59:01 +00:00
# Thank you, please drive thru!
PRODUCT_PROPERTY_OVERRIDES += persist.sys.dun.override= 0
2015-09-11 23:13:01 +00:00
e n d i f
2014-02-05 06:59:01 +00:00
2013-03-20 10:47:17 +00:00
i f n e q ( $( TARGET_BUILD_VARIANT ) , e n g )
2013-02-15 15:46:39 +00:00
# Enable ADB authentication
ADDITIONAL_DEFAULT_PROPERTIES += ro.adb.secure= 1
2013-03-20 10:47:17 +00:00
e n d i f
2013-02-15 15:46:39 +00:00
2011-11-27 19:56:54 +00:00
# Copy over the changelog to the device
PRODUCT_COPY_FILES += \
vendor/cm/CHANGELOG.mkdn:system/etc/CHANGELOG-CM.txt
2012-03-04 08:37:42 +00:00
# Backup Tool
2011-11-27 19:56:54 +00:00
PRODUCT_COPY_FILES += \
2014-12-12 19:56:04 +00:00
vendor/cm/prebuilt/common/bin/backuptool.sh:install/bin/backuptool.sh \
vendor/cm/prebuilt/common/bin/backuptool.functions:install/bin/backuptool.functions \
2012-12-19 01:11:21 +00:00
vendor/cm/prebuilt/common/bin/50-cm.sh:system/addon.d/50-cm.sh \
vendor/cm/prebuilt/common/bin/blacklist:system/addon.d/blacklist
2011-11-27 19:56:54 +00:00
2016-07-06 22:18:29 +00:00
# Backup Services whitelist
PRODUCT_COPY_FILES += \
vendor/cm/config/permissions/backup.xml:system/etc/sysconfig/backup.xml
2014-05-09 21:24:12 +00:00
# Signature compatibility validation
PRODUCT_COPY_FILES += \
2014-12-12 19:56:04 +00:00
vendor/cm/prebuilt/common/bin/otasigcheck.sh:install/bin/otasigcheck.sh
2014-05-09 21:24:12 +00:00
2011-12-20 20:14:24 +00:00
# init.d support
PRODUCT_COPY_FILES += \
vendor/cm/prebuilt/common/etc/init.d/00banner:system/etc/init.d/00banner \
vendor/cm/prebuilt/common/bin/sysinit:system/bin/sysinit
2015-03-16 12:22:11 +00:00
i f n e q ( $( TARGET_BUILD_VARIANT ) , u s e r )
2012-04-06 01:18:18 +00:00
# userinit support
PRODUCT_COPY_FILES += \
vendor/cm/prebuilt/common/etc/init.d/90userinit:system/etc/init.d/90userinit
2015-03-16 12:22:11 +00:00
e n d i f
2012-04-06 01:18:18 +00:00
2012-10-18 15:38:25 +00:00
# CM-specific init file
PRODUCT_COPY_FILES += \
vendor/cm/prebuilt/common/etc/init.local.rc:root/init.cm.rc
2015-10-01 18:20:26 +00:00
# Copy over added mimetype supported in libcore.net.MimeUtils
PRODUCT_COPY_FILES += \
vendor/cm/prebuilt/common/lib/content-types.properties:system/lib/content-types.properties
2011-11-27 19:56:54 +00:00
# Enable SIP+VoIP on all targets
PRODUCT_COPY_FILES += \
2012-07-11 10:21:50 +00:00
frameworks/native/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml
2011-11-27 19:56:54 +00:00
2013-01-30 20:45:20 +00:00
# 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
2012-03-26 00:21:32 +00:00
# This is CM!
PRODUCT_COPY_FILES += \
vendor/cm/config/permissions/com.cyanogenmod.android.xml:system/etc/permissions/com.cyanogenmod.android.xml
2016-09-08 22:04:09 +00:00
# Include CM audio files
i n c l u d e v e n d o r / c m / c o n f i g / c m _ a u d i o . m k
2015-11-03 19:39:04 +00:00
# Theme engine
2012-05-04 09:15:56 +00:00
i n c l u d e v e n d o r / c m / c o n f i g / t h e m e s _ c o m m o n . m k
2016-03-15 21:17:47 +00:00
# CMSDK
i n c l u d e v e n d o r / c m / c o n f i g / c m s d k _ c o m m o n . m k
2011-11-27 19:56:54 +00:00
# Required CM packages
PRODUCT_PACKAGES += \
2016-07-25 15:45:42 +00:00
CMAudioService \
2011-12-21 00:16:01 +00:00
Development \
2015-04-21 01:20:59 +00:00
BluetoothExt \
2016-07-20 20:19:32 +00:00
Profiles \
2016-08-13 08:32:58 +00:00
ThemeManagerService \
WeatherManagerService
2011-11-27 19:56:54 +00:00
# Optional CM packages
PRODUCT_PACKAGES += \
2015-01-04 01:55:24 +00:00
libemoji \
2016-09-08 22:04:09 +00:00
Terminal \
LiveWallpapersPicker
2011-11-27 01:31:19 +00:00
2015-12-01 21:31:45 +00:00
# Include librsjni explicitly to workaround GMS issue
PRODUCT_PACKAGES += \
librsjni
2011-12-14 22:02:19 +00:00
# Custom CM packages
PRODUCT_PACKAGES += \
2013-11-05 15:26:20 +00:00
Launcher3 \
2013-12-13 02:54:49 +00:00
Trebuchet \
2014-12-09 21:29:29 +00:00
AudioFX \
2012-05-25 00:31:26 +00:00
CMWallpapers \
2012-12-30 18:37:40 +00:00
CMFileManager \
2014-12-09 21:01:09 +00:00
Eleven \
2013-08-20 10:53:56 +00:00
LockClock \
2013-11-13 21:16:33 +00:00
CMUpdater \
2015-09-25 21:58:10 +00:00
CyanogenSetupWizard \
2015-11-05 01:35:12 +00:00
CMSettingsProvider \
2016-03-08 17:12:04 +00:00
ExactCalculator \
2016-03-21 17:18:29 +00:00
LiveLockScreenService \
2016-05-10 18:04:18 +00:00
WeatherProvider \
2016-06-07 22:39:13 +00:00
DataUsageProvider \
2016-09-08 22:04:09 +00:00
WallpaperPicker \
SoundRecorder \
Screencast
2011-12-14 22:02:19 +00:00
2016-03-14 20:45:43 +00:00
# Exchange support
PRODUCT_PACKAGES += \
Exchange2
2012-04-15 09:39:25 +00:00
# Extra tools in CM
PRODUCT_PACKAGES += \
2013-11-24 12:05:59 +00:00
libsepol \
2012-07-05 08:20:47 +00:00
mke2fs \
2012-09-21 00:09:07 +00:00
tune2fs \
nano \
htop \
2015-11-10 14:05:18 +00:00
mkfs.ntfs \
fsck.ntfs \
mount.ntfs \
2013-09-25 16:13:25 +00:00
gdbserver \
micro_bench \
oprofiled \
sqlite3 \
2015-11-14 20:04:48 +00:00
strace \
2016-09-08 22:04:09 +00:00
pigz \
7z \
lib7z \
bash \
bzip2 \
curl \
powertop \
unrar \
unzip \
vim \
wget \
zip
2012-04-15 09:39:25 +00:00
2016-08-08 06:21:29 +00:00
# Custom off-mode charger
i f n e q ( $( WITH_CM_CHARGER ) , f a l s e )
PRODUCT_PACKAGES += \
charger_res_images \
cm_charger_res_images \
font_log.png \
libhealthd.cm
e n d i f
# ExFAT support
2015-11-09 19:35:41 +00:00
WITH_EXFAT ?= true
i f e q ( $( WITH_EXFAT ) , t r u e )
TARGET_USES_EXFAT := true
PRODUCT_PACKAGES += \
mount.exfat \
fsck.exfat \
mkfs.exfat
e n d i f
2012-07-19 10:34:25 +00:00
# Openssh
PRODUCT_PACKAGES += \
scp \
sftp \
ssh \
sshd \
sshd_config \
ssh-keygen \
2012-08-19 12:00:04 +00:00
start-ssh
# rsync
PRODUCT_PACKAGES += \
rsync
2012-07-19 10:34:25 +00:00
2014-06-10 17:06:48 +00:00
# Stagefright FFMPEG plugin
PRODUCT_PACKAGES += \
2015-07-08 16:53:12 +00:00
libffmpeg_extractor \
libffmpeg_omx \
2015-06-18 09:22:35 +00:00
media_codecs_ffmpeg.xml
2014-06-10 17:06:48 +00:00
2015-07-08 16:53:12 +00:00
PRODUCT_PROPERTY_OVERRIDES += \
media.sf.omx-plugin= libffmpeg_omx.so \
media.sf.extractor-plugin= libffmpeg_extractor.so
2013-09-25 16:13:25 +00:00
# These packages are excluded from user builds
i f n e q ( $( TARGET_BUILD_VARIANT ) , u s e r )
PRODUCT_PACKAGES += \
2013-11-06 20:41:34 +00:00
procmem \
procrank \
2013-09-25 16:13:25 +00:00
su
2014-12-29 23:52:04 +00:00
e n d i f
2013-09-25 16:13:25 +00:00
PRODUCT_PROPERTY_OVERRIDES += \
persist.sys.root_access= 0
2016-03-11 14:09:52 +00:00
DEVICE_PACKAGE_OVERLAYS += vendor/cm/overlay/common
2011-11-28 15:44:23 +00:00
2015-10-07 15:38:03 +00:00
PRODUCT_VERSION_MAJOR = 13
PRODUCT_VERSION_MINOR = 0
2016-11-11 02:39:07 +00:00
PRODUCT_VERSION_MAINTENANCE := 5
2016-08-06 19:47:23 +00:00
2016-08-05 19:24:19 +00:00
i f e q ( $( TARGET_VENDOR_SHOW_MAINTENANCE_VERSION ) , t r u e )
2016-08-06 19:47:23 +00:00
CM_VERSION_MAINTENANCE := $( PRODUCT_VERSION_MAINTENANCE)
2016-08-05 19:24:19 +00:00
e l s e
2016-08-06 19:47:23 +00:00
CM_VERSION_MAINTENANCE := 0
2016-08-05 19:24:19 +00:00
e n d i f
2011-11-28 15:44:23 +00:00
2013-09-24 16:58:56 +00:00
# Set CM_BUILDTYPE from the env RELEASE_TYPE, for jenkins compat
i f n d e f C M _ B U I L D T Y P E
ifdef RELEASE_TYPE
# Starting with "CM_" is optional
RELEASE_TYPE := $( shell echo $( RELEASE_TYPE) | sed -e 's|^CM_||g' )
CM_BUILDTYPE := $( RELEASE_TYPE)
endif
2012-05-07 05:49:33 +00:00
e n d i f
2013-09-24 16:58:56 +00:00
# Filter out random types, so it'll reset to UNOFFICIAL
i f e q ( $( filter RELEASE NIGHTLY SNAPSHOT EXPERIMENTAL ,$ ( CM_BUILDTYPE ) ) , )
CM_BUILDTYPE :=
2012-05-07 05:49:33 +00:00
e n d i f
2012-06-08 10:08:15 +00:00
i f d e f C M _ B U I L D T Y P E
2013-09-24 16:58:56 +00:00
ifneq ( $( CM_BUILDTYPE) , SNAPSHOT)
ifdef CM_EXTRAVERSION
# Force build type to EXPERIMENTAL
CM_BUILDTYPE := EXPERIMENTAL
# Remove leading dash from CM_EXTRAVERSION
CM_EXTRAVERSION := $( shell echo $( CM_EXTRAVERSION) | sed 's/-//' )
# Add leading dash to CM_EXTRAVERSION
CM_EXTRAVERSION := -$( CM_EXTRAVERSION)
endif
else
ifndef CM_EXTRAVERSION
# Force build type to EXPERIMENTAL, SNAPSHOT mandates a tag
CM_BUILDTYPE := EXPERIMENTAL
else
# Remove leading dash from CM_EXTRAVERSION
CM_EXTRAVERSION := $( shell echo $( CM_EXTRAVERSION) | sed 's/-//' )
# Add leading dash to CM_EXTRAVERSION
CM_EXTRAVERSION := -$( CM_EXTRAVERSION)
endif
2012-06-08 10:08:15 +00:00
endif
e l s e
# If CM_BUILDTYPE is not defined, set to UNOFFICIAL
2012-05-07 05:49:33 +00:00
CM_BUILDTYPE := UNOFFICIAL
2012-06-08 10:08:15 +00:00
CM_EXTRAVERSION :=
2012-05-07 05:49:33 +00:00
e n d i f
2013-12-13 17:04:14 +00:00
i f e q ( $( CM_BUILDTYPE ) , U N O F F I C I A L )
ifneq ( $( TARGET_UNOFFICIAL_BUILD_ID) ,)
2013-12-17 22:22:58 +00:00
CM_EXTRAVERSION := -$( TARGET_UNOFFICIAL_BUILD_ID)
2013-12-13 17:04:14 +00:00
endif
e n d i f
2013-09-24 16:58:56 +00:00
i f e q ( $( CM_BUILDTYPE ) , R E L E A S E )
2013-11-11 00:55:51 +00:00
ifndef TARGET_VENDOR_RELEASE_BUILD_ID
CM_VERSION := $( PRODUCT_VERSION_MAJOR) .$( PRODUCT_VERSION_MINOR) .$( PRODUCT_VERSION_MAINTENANCE) $( PRODUCT_VERSION_DEVICE_SPECIFIC) -$( CM_BUILD)
else
ifeq ( $( TARGET_BUILD_VARIANT) ,user)
2016-08-06 19:47:23 +00:00
ifeq ( $( CM_VERSION_MAINTENANCE) ,0)
2016-07-14 22:42:08 +00:00
CM_VERSION := $( PRODUCT_VERSION_MAJOR) .$( PRODUCT_VERSION_MINOR) -$( TARGET_VENDOR_RELEASE_BUILD_ID) -$( CM_BUILD)
else
2016-08-06 19:47:23 +00:00
CM_VERSION := $( PRODUCT_VERSION_MAJOR) .$( PRODUCT_VERSION_MINOR) .$( CM_VERSION_MAINTENANCE) -$( TARGET_VENDOR_RELEASE_BUILD_ID) -$( CM_BUILD)
2016-07-14 22:42:08 +00:00
endif
2013-11-11 00:55:51 +00:00
else
CM_VERSION := $( PRODUCT_VERSION_MAJOR) .$( PRODUCT_VERSION_MINOR) .$( PRODUCT_VERSION_MAINTENANCE) $( PRODUCT_VERSION_DEVICE_SPECIFIC) -$( CM_BUILD)
endif
endif
2011-11-28 15:44:23 +00:00
e l s e
2016-08-06 19:47:23 +00:00
ifeq ( $( CM_VERSION_MAINTENANCE) ,0)
2016-07-14 22:42:08 +00:00
CM_VERSION := $( PRODUCT_VERSION_MAJOR) .$( PRODUCT_VERSION_MINOR) -$( shell date -u +%Y%m%d) -$( CM_BUILDTYPE) $( CM_EXTRAVERSION) -$( CM_BUILD)
else
2016-08-06 19:47:23 +00:00
CM_VERSION := $( PRODUCT_VERSION_MAJOR) .$( PRODUCT_VERSION_MINOR) .$( CM_VERSION_MAINTENANCE) -$( shell date -u +%Y%m%d) -$( CM_BUILDTYPE) $( CM_EXTRAVERSION) -$( CM_BUILD)
2016-07-14 22:42:08 +00:00
endif
2011-11-28 15:44:23 +00:00
e n d i f
2012-02-23 22:07:44 +00:00
PRODUCT_PROPERTY_OVERRIDES += \
ro.cm.version= $( CM_VERSION) \
2014-07-10 17:31:00 +00:00
ro.cm.releasetype= $( CM_BUILDTYPE) \
2013-12-10 12:35:08 +00:00
ro.modversion= $( CM_VERSION) \
2015-03-04 10:08:33 +00:00
ro.cmlegal.url= https://cyngn.com/legal/privacy-policy
2012-11-13 10:42:11 +00:00
2013-10-23 19:56:56 +00:00
- i n c l u d e v e n d o r / c m - p r i v / k e y s / k e y s . m k
2014-01-09 10:25:31 +00:00
CM_DISPLAY_VERSION := $( CM_VERSION)
2014-01-24 17:58:36 +00:00
i f n e q ( $( PRODUCT_DEFAULT_DEV_CERTIFICATE ) , )
i f n e q ( $( PRODUCT_DEFAULT_DEV_CERTIFICATE ) , b u i l d / t a r g e t / p r o d u c t / s e c u r i t y / t e s t k e y )
2014-01-09 10:25:31 +00:00
ifneq ( $( CM_BUILDTYPE) , UNOFFICIAL)
ifndef TARGET_VENDOR_RELEASE_BUILD_ID
ifneq ( $( CM_EXTRAVERSION) ,)
2014-02-16 17:15:07 +00:00
# Remove leading dash from CM_EXTRAVERSION
CM_EXTRAVERSION := $( shell echo $( CM_EXTRAVERSION) | sed 's/-//' )
2014-01-09 10:25:31 +00:00
TARGET_VENDOR_RELEASE_BUILD_ID := $( CM_EXTRAVERSION)
else
2014-02-16 17:15:07 +00:00
TARGET_VENDOR_RELEASE_BUILD_ID := $( shell date -u +%Y%m%d)
2014-01-09 10:25:31 +00:00
endif
else
2014-02-16 17:15:07 +00:00
TARGET_VENDOR_RELEASE_BUILD_ID := $( TARGET_VENDOR_RELEASE_BUILD_ID)
2014-01-09 10:25:31 +00:00
endif
2016-08-06 19:47:23 +00:00
ifeq ( $( CM_VERSION_MAINTENANCE) ,0)
2016-07-14 22:42:08 +00:00
CM_DISPLAY_VERSION := $( PRODUCT_VERSION_MAJOR) .$( PRODUCT_VERSION_MINOR) -$( TARGET_VENDOR_RELEASE_BUILD_ID) -$( CM_BUILD)
else
2016-08-06 19:47:23 +00:00
CM_DISPLAY_VERSION := $( PRODUCT_VERSION_MAJOR) .$( PRODUCT_VERSION_MINOR) .$( CM_VERSION_MAINTENANCE) -$( TARGET_VENDOR_RELEASE_BUILD_ID) -$( CM_BUILD)
2016-07-14 22:42:08 +00:00
endif
e n d i f
2014-01-09 10:25:31 +00:00
e n d i f
2014-01-11 16:00:16 +00:00
e n d i f
2014-01-09 10:25:31 +00:00
PRODUCT_PROPERTY_OVERRIDES += \
ro.cm.display.version= $( CM_DISPLAY_VERSION)
2014-01-31 19:59:56 +00:00
- i n c l u d e $( WORKSPACE ) / b u i l d _ e n v / i m a g e - a u t o - b i t s . m k
2013-12-08 06:04:17 +00:00
- i n c l u d e v e n d o r / c y n g n / p r o d u c t . m k
2014-09-10 22:41:43 +00:00
2014-12-17 22:41:28 +00:00
$( call prepend -product -if -exists , vendor /extra /product .mk )