2011-11-28 17:37:47 +01:00
PRODUCT_BRAND ?= cyanogenmod
2012-08-21 11:18:40 +02:00
i f n e q ( $( TARGET_SCREEN_WIDTH ) $( TARGET_SCREEN_HEIGHT ) , $( space ) )
# determine the smaller dimension
TARGET_BOOTANIMATION_SIZE := $( shell \
2016-08-30 21:52:01 +02:00
if [ " $( TARGET_SCREEN_WIDTH) " -lt " $( TARGET_SCREEN_HEIGHT) " ] ; then \
2012-08-21 11:18:40 +02:00
echo $( TARGET_SCREEN_WIDTH) ; \
else \
echo $( TARGET_SCREEN_HEIGHT) ; \
fi )
# get a sorted list of the sizes
2016-11-08 21:40:43 +01:00
bootanimation_sizes := $( subst .zip,,$( shell ls -1 vendor/cm/prebuilt/common/bootanimation | sort -rn) )
2012-08-21 11:18:40 +02:00
# 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 \
2016-11-13 18:53:07 +01:00
if [ -z " $( TARGET_BOOTANIMATION_NAME) " ] ; then \
2016-08-30 21:52:01 +02:00
if [ " $( 1) " -le " $( TARGET_BOOTANIMATION_SIZE) " ] ; then \
2012-08-21 11:18:40 +02:00
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 21:51:04 +01: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 22:43:54 +02:00
PRODUCT_BOOTANIMATION := vendor/cm/prebuilt/common/bootanimation/$( TARGET_BOOTANIMATION_NAME) .zip
2012-03-14 08:10:33 +01:00
e n d i f
2014-01-30 21:51:04 +01:00
e n d i f
2012-03-14 08:10:33 +01:00
2011-11-27 20:56:54 +01:00
PRODUCT_BUILD_PROP_OVERRIDES += BUILD_UTC_DATE = 0
2013-11-06 22:55:11 +01: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 20:56:54 +01: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 14:25:00 +02:00
PRODUCT_PROPERTY_OVERRIDES += \
2013-09-25 18:13:25 +02:00
ro.build.selinux= 1
2013-08-04 14:25:00 +02:00
2016-09-09 00:04:09 +02:00
# Default notification/alarm sounds
PRODUCT_PROPERTY_OVERRIDES += \
ro.config.notification_sound= Argon.ogg \
2016-10-03 09:30:05 +02:00
ro.config.alarm_alert= Hassium.ogg
2016-09-09 00:04:09 +02:00
2015-09-12 01:13:01 +02:00
i f n e q ( $( TARGET_BUILD_VARIANT ) , u s e r )
2014-02-05 07:59:01 +01:00
# Thank you, please drive thru!
PRODUCT_PROPERTY_OVERRIDES += persist.sys.dun.override= 0
2015-09-12 01:13:01 +02:00
e n d i f
2014-02-05 07:59:01 +01:00
2013-03-20 11:47:17 +01:00
i f n e q ( $( TARGET_BUILD_VARIANT ) , e n g )
2013-02-15 16:46:39 +01:00
# Enable ADB authentication
ADDITIONAL_DEFAULT_PROPERTIES += ro.adb.secure= 1
2013-03-20 11:47:17 +01:00
e n d i f
2013-02-15 16:46:39 +01:00
2011-11-27 20:56:54 +01:00
# Copy over the changelog to the device
PRODUCT_COPY_FILES += \
vendor/cm/CHANGELOG.mkdn:system/etc/CHANGELOG-CM.txt
2012-03-04 09:37:42 +01:00
# Backup Tool
2011-11-27 20:56:54 +01:00
PRODUCT_COPY_FILES += \
2014-12-12 20:56:04 +01: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 02:11:21 +01: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 20:56:54 +01:00
2016-07-07 00:18:29 +02:00
# Backup Services whitelist
PRODUCT_COPY_FILES += \
vendor/cm/config/permissions/backup.xml:system/etc/sysconfig/backup.xml
2014-05-09 23:24:12 +02:00
# Signature compatibility validation
PRODUCT_COPY_FILES += \
2014-12-12 20:56:04 +01:00
vendor/cm/prebuilt/common/bin/otasigcheck.sh:install/bin/otasigcheck.sh
2014-05-09 23:24:12 +02:00
2011-12-20 21:14:24 +01: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 13:22:11 +01:00
i f n e q ( $( TARGET_BUILD_VARIANT ) , u s e r )
2012-04-06 03:18:18 +02:00
# userinit support
PRODUCT_COPY_FILES += \
vendor/cm/prebuilt/common/etc/init.d/90userinit:system/etc/init.d/90userinit
2015-03-16 13:22:11 +01:00
e n d i f
2012-04-06 03:18:18 +02:00
2012-10-18 17:38:25 +02:00
# CM-specific init file
PRODUCT_COPY_FILES += \
vendor/cm/prebuilt/common/etc/init.local.rc:root/init.cm.rc
2015-10-01 20:20:26 +02: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 20:56:54 +01:00
# Enable SIP+VoIP on all targets
PRODUCT_COPY_FILES += \
2012-07-11 12:21:50 +02:00
frameworks/native/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml
2011-11-27 20:56:54 +01:00
2013-01-30 21:45:20 +01: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 02:21:32 +02:00
# This is CM!
PRODUCT_COPY_FILES += \
vendor/cm/config/permissions/com.cyanogenmod.android.xml:system/etc/permissions/com.cyanogenmod.android.xml
2016-09-09 00:04:09 +02: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 20:39:04 +01:00
# Theme engine
2012-05-04 11:15:56 +02: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-08-27 00:44:50 +02:00
i f n e q ( $( TARGET_DISABLE_CMSDK ) , t r u e )
2016-03-15 22:17:47 +01: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
2016-08-27 00:44:50 +02:00
e n d i f
2016-03-15 22:17:47 +01:00
2011-11-27 20:56:54 +01:00
# Required CM packages
PRODUCT_PACKAGES += \
2016-08-30 03:23:03 +02:00
BluetoothExt \
2016-07-25 17:45:42 +02:00
CMAudioService \
2016-09-03 14:28:29 +02:00
CMParts \
2011-12-21 01:16:01 +01:00
Development \
2016-07-20 22:19:32 +02:00
Profiles \
2016-08-13 10:32:58 +02:00
WeatherManagerService
2011-11-27 20:56:54 +01:00
# Optional CM packages
PRODUCT_PACKAGES += \
2015-01-04 02:55:24 +01:00
libemoji \
2016-09-09 00:04:09 +02:00
LiveWallpapersPicker \
2016-10-13 20:37:08 +02:00
PhotoTable \
Terminal
2011-11-27 02:31:19 +01:00
2015-12-01 22:31:45 +01:00
# Include librsjni explicitly to workaround GMS issue
PRODUCT_PACKAGES += \
librsjni
2011-12-14 23:02:19 +01:00
# Custom CM packages
PRODUCT_PACKAGES += \
2014-12-09 22:29:29 +01:00
AudioFX \
2012-12-30 19:37:40 +01:00
CMFileManager \
2016-10-13 20:37:08 +02:00
CMSettingsProvider \
2013-11-13 22:16:33 +01:00
CMUpdater \
2016-10-13 20:37:08 +02:00
CMWallpapers \
2015-09-25 23:58:10 +02:00
CyanogenSetupWizard \
2016-10-13 20:37:08 +02:00
Eleven \
2016-03-08 18:12:04 +01:00
ExactCalculator \
2016-10-13 20:37:08 +02:00
Launcher3 \
2016-03-21 18:18:29 +01:00
LiveLockScreenService \
2016-10-13 20:37:08 +02:00
LockClock \
Screencast \
2016-09-09 00:04:09 +02:00
SoundRecorder \
2016-10-13 20:37:08 +02:00
Trebuchet \
WallpaperPicker \
WeatherProvider
2011-12-14 23:02:19 +01:00
2016-03-14 21:45:43 +01:00
# Exchange support
PRODUCT_PACKAGES += \
Exchange2
2012-04-15 11:39:25 +02:00
# Extra tools in CM
PRODUCT_PACKAGES += \
2016-10-13 20:37:08 +02:00
7z \
bash \
bzip2 \
curl \
fsck.ntfs \
gdbserver \
htop \
lib7z \
2013-11-24 13:05:59 +01:00
libsepol \
2016-10-13 20:37:08 +02:00
micro_bench \
2012-07-05 10:20:47 +02:00
mke2fs \
2015-11-10 15:05:18 +01:00
mkfs.ntfs \
mount.ntfs \
2013-09-25 18:13:25 +02:00
oprofiled \
2016-09-09 00:04:09 +02:00
pigz \
powertop \
2016-10-13 20:37:08 +02:00
sqlite3 \
strace \
tune2fs \
2016-09-09 00:04:09 +02:00
unrar \
unzip \
vim \
wget \
zip
2012-04-15 11:39:25 +02:00
2016-08-08 08:21:29 +02: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 20:35:41 +01: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 12:34:25 +02:00
# Openssh
PRODUCT_PACKAGES += \
scp \
sftp \
ssh \
sshd \
sshd_config \
ssh-keygen \
2012-08-19 14:00:04 +02:00
start-ssh
# rsync
PRODUCT_PACKAGES += \
rsync
2012-07-19 12:34:25 +02:00
2014-06-10 19:06:48 +02:00
# Stagefright FFMPEG plugin
2016-09-06 12:06:35 +02:00
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
2015-07-08 18:53:12 +02:00
2016-10-13 07:57:44 +02:00
# Telephony
PRODUCT_PACKAGES += \
telephony-ext
PRODUCT_BOOT_JARS += \
telephony-ext
2013-09-25 18:13:25 +02: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 21:41:34 +01:00
procmem \
procrank \
2013-09-25 18:13:25 +02:00
su
2014-12-30 00:52:04 +01:00
e n d i f
2013-09-25 18:13:25 +02:00
PRODUCT_PROPERTY_OVERRIDES += \
persist.sys.root_access= 0
2016-03-11 15:09:52 +01:00
DEVICE_PACKAGE_OVERLAYS += vendor/cm/overlay/common
2011-11-28 16:44:23 +01:00
2016-08-24 17:19:50 +02:00
PRODUCT_VERSION_MAJOR = 14
2016-10-26 05:35:15 +02:00
PRODUCT_VERSION_MINOR = 1
2016-08-24 17:19:50 +02:00
PRODUCT_VERSION_MAINTENANCE := 0
2016-08-06 21:47:23 +02:00
2016-08-05 21:24:19 +02:00
i f e q ( $( TARGET_VENDOR_SHOW_MAINTENANCE_VERSION ) , t r u e )
2016-08-06 21:47:23 +02:00
CM_VERSION_MAINTENANCE := $( PRODUCT_VERSION_MAINTENANCE)
2016-08-05 21:24:19 +02:00
e l s e
2016-08-06 21:47:23 +02:00
CM_VERSION_MAINTENANCE := 0
2016-08-05 21:24:19 +02:00
e n d i f
2011-11-28 16:44:23 +01:00
2013-09-24 18:58:56 +02: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 07:49:33 +02:00
e n d i f
2013-09-24 18:58:56 +02: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 07:49:33 +02:00
e n d i f
2012-06-08 12:08:15 +02:00
i f d e f C M _ B U I L D T Y P E
2013-09-24 18:58:56 +02: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 12:08:15 +02:00
endif
e l s e
# If CM_BUILDTYPE is not defined, set to UNOFFICIAL
2012-05-07 07:49:33 +02:00
CM_BUILDTYPE := UNOFFICIAL
2012-06-08 12:08:15 +02:00
CM_EXTRAVERSION :=
2012-05-07 07:49:33 +02:00
e n d i f
2013-12-13 18:04:14 +01: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 23:22:58 +01:00
CM_EXTRAVERSION := -$( TARGET_UNOFFICIAL_BUILD_ID)
2013-12-13 18:04:14 +01:00
endif
e n d i f
2013-09-24 18:58:56 +02:00
i f e q ( $( CM_BUILDTYPE ) , R E L E A S E )
2013-11-11 01:55:51 +01: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 21:47:23 +02:00
ifeq ( $( CM_VERSION_MAINTENANCE) ,0)
2016-07-15 00:42:08 +02:00
CM_VERSION := $( PRODUCT_VERSION_MAJOR) .$( PRODUCT_VERSION_MINOR) -$( TARGET_VENDOR_RELEASE_BUILD_ID) -$( CM_BUILD)
else
2016-08-06 21:47:23 +02:00
CM_VERSION := $( PRODUCT_VERSION_MAJOR) .$( PRODUCT_VERSION_MINOR) .$( CM_VERSION_MAINTENANCE) -$( TARGET_VENDOR_RELEASE_BUILD_ID) -$( CM_BUILD)
2016-07-15 00:42:08 +02:00
endif
2013-11-11 01:55:51 +01:00
else
CM_VERSION := $( PRODUCT_VERSION_MAJOR) .$( PRODUCT_VERSION_MINOR) .$( PRODUCT_VERSION_MAINTENANCE) $( PRODUCT_VERSION_DEVICE_SPECIFIC) -$( CM_BUILD)
endif
endif
2011-11-28 16:44:23 +01:00
e l s e
2016-08-06 21:47:23 +02:00
ifeq ( $( CM_VERSION_MAINTENANCE) ,0)
2016-07-15 00:42:08 +02: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 21:47:23 +02: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-15 00:42:08 +02:00
endif
2011-11-28 16:44:23 +01:00
e n d i f
2012-02-23 23:07:44 +01:00
PRODUCT_PROPERTY_OVERRIDES += \
ro.cm.version= $( CM_VERSION) \
2014-07-10 19:31:00 +02:00
ro.cm.releasetype= $( CM_BUILDTYPE) \
2013-12-10 13:35:08 +01:00
ro.modversion= $( CM_VERSION) \
2015-03-04 11:08:33 +01:00
ro.cmlegal.url= https://cyngn.com/legal/privacy-policy
2012-11-13 11:42:11 +01:00
2016-08-26 00:12:08 +02:00
i f e q ( $( OTA_PACKAGE_SIGNING_KEY ) , )
PRODUCT_EXTRA_RECOVERY_KEYS += \
vendor/cm/build/target/product/security/cm \
vendor/cm/build/target/product/security/cm-devkey
e n d i f
2013-10-23 21:56:56 +02: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 11:25:31 +01:00
CM_DISPLAY_VERSION := $( CM_VERSION)
2014-01-24 18:58:36 +01: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 11:25:31 +01:00
ifneq ( $( CM_BUILDTYPE) , UNOFFICIAL)
ifndef TARGET_VENDOR_RELEASE_BUILD_ID
ifneq ( $( CM_EXTRAVERSION) ,)
2014-02-16 18:15:07 +01:00
# Remove leading dash from CM_EXTRAVERSION
CM_EXTRAVERSION := $( shell echo $( CM_EXTRAVERSION) | sed 's/-//' )
2014-01-09 11:25:31 +01:00
TARGET_VENDOR_RELEASE_BUILD_ID := $( CM_EXTRAVERSION)
else
2014-02-16 18:15:07 +01:00
TARGET_VENDOR_RELEASE_BUILD_ID := $( shell date -u +%Y%m%d)
2014-01-09 11:25:31 +01:00
endif
else
2014-02-16 18:15:07 +01:00
TARGET_VENDOR_RELEASE_BUILD_ID := $( TARGET_VENDOR_RELEASE_BUILD_ID)
2014-01-09 11:25:31 +01:00
endif
2016-08-06 21:47:23 +02:00
ifeq ( $( CM_VERSION_MAINTENANCE) ,0)
2016-07-15 00:42:08 +02:00
CM_DISPLAY_VERSION := $( PRODUCT_VERSION_MAJOR) .$( PRODUCT_VERSION_MINOR) -$( TARGET_VENDOR_RELEASE_BUILD_ID) -$( CM_BUILD)
else
2016-08-06 21:47:23 +02:00
CM_DISPLAY_VERSION := $( PRODUCT_VERSION_MAJOR) .$( PRODUCT_VERSION_MINOR) .$( CM_VERSION_MAINTENANCE) -$( TARGET_VENDOR_RELEASE_BUILD_ID) -$( CM_BUILD)
2016-07-15 00:42:08 +02:00
endif
e n d i f
2014-01-09 11:25:31 +01:00
e n d i f
2014-01-11 17:00:16 +01:00
e n d i f
2014-01-09 11:25:31 +01:00
PRODUCT_PROPERTY_OVERRIDES += \
ro.cm.display.version= $( CM_DISPLAY_VERSION)
2014-01-31 20:59:56 +01: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
2016-09-03 06:11:11 +02:00
- i n c l u d e v e n d o r / c m / c o n f i g / p a r t n e r _ g m s . m k
2013-12-08 07:04:17 +01: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-11 00:41:43 +02:00
2014-12-17 23:41:28 +01:00
$( call prepend -product -if -exists , vendor /extra /product .mk )