1#<MStar Software> 2#****************************************************************************** 3# MStar Software 4# Copyright (c) 2010 - 2014 MStar Semiconductor, Inc. All rights reserved. 5# All software, firmware and related documentation herein ("MStar Software") are 6# intellectual property of MStar Semiconductor, Inc. ("MStar") and protected by 7# law, including, but not limited to, copyright law and international treaties. 8# Any use, modification, reproduction, retransmission, or republication of all 9# or part of MStar Software is expressly prohibited, unless prior written 10# permission has been granted by MStar. 11# 12# By accessing, browsing and/or using MStar Software, you acknowledge that you 13# have read, understood, and agree, to be bound by below terms ("Terms") and to 14# comply with all applicable laws and regulations: 15# 16# 1. MStar shall retain any and all right, ownership and interest to MStar 17# Software and any modification/derivatives thereof. 18# No right, ownership, or interest to MStar Software and any 19# modification/derivatives thereof is transferred to you under Terms. 20# 21# 2. You understand that MStar Software might include, incorporate or be 22# supplied together with third party's software and the use of MStar 23# Software may require additional licenses from third parties. 24# Therefore, you hereby agree it is your sole responsibility to separately 25# obtain any and all third party right and license necessary for your use of 26# such third party's software. 27# 28# 3. MStar Software and any modification/derivatives thereof shall be deemed as 29# MStar's confidential information and you agree to keep MStar's 30# confidential information in strictest confidence and not disclose to any 31# third party. 32# 33# 4. MStar Software is provided on an "AS IS" basis without warranties of any 34# kind. Any warranties are hereby expressly disclaimed by MStar, including 35# without limitation, any warranties of merchantability, non-infringement of 36# intellectual property rights, fitness for a particular purpose, error free 37# and in conformity with any international standard. You agree to waive any 38# claim against MStar for any loss, damage, cost or expense that you may 39# incur related to your use of MStar Software. 40# In no event shall MStar be liable for any direct, indirect, incidental or 41# consequential damages, including without limitation, lost of profit or 42# revenues, lost or damage of data, and unauthorized system use. 43# You agree that this Section 4 shall still apply without being affected 44# even if MStar Software has been modified by MStar in accordance with your 45# request or instruction for your use, except otherwise agreed by both 46# parties in writing. 47# 48# 5. If requested, MStar may from time to time provide technical supports or 49# services in relation with MStar Software to you for your use of 50# MStar Software in conjunction with your or your customer's product 51# ("Services"). 52# You understand and agree that, except otherwise agreed by both parties in 53# writing, Services are provided on an "AS IS" basis and the warranty 54# disclaimer set forth in Section 4 above shall apply. 55# 56# 6. Nothing contained herein shall be construed as by implication, estoppels 57# or otherwise: 58# (a) conferring any license or right to use MStar name, trademark, service 59# mark, symbol or any other identification; 60# (b) obligating MStar or any of its affiliates to furnish any person, 61# including without limitation, you and your customers, any assistance 62# of any kind whatsoever, or any information; or 63# (c) conferring any license or right under any intellectual property right. 64# 65# 7. These terms shall be governed by and construed in accordance with the laws 66# of Taiwan, R.O.C., excluding its conflict of law rules. 67# Any and all dispute arising out hereof or related hereto shall be finally 68# settled by arbitration referred to the Chinese Arbitration Association, 69# Taipei in accordance with the ROC Arbitration Law and the Arbitration 70# Rules of the Association by three (3) arbitrators appointed in accordance 71# with the said Rules. 72# The place of arbitration shall be in Taipei, Taiwan and the language shall 73# be English. 74# The arbitration award shall be final and binding to both parties. 75# 76#****************************************************************************** 77#<MStar Software> 78 79# Source files folder 80source_dir := \ 81 ./mxlib/hal/$(TARGET_BOARD_PLATFORM) \ 82 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/bdma \ 83 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/sem \ 84 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/mmio \ 85 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/uart \ 86 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/irq \ 87 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/sys \ 88 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/miu \ 89 ./mxlib/drv/bdma \ 90 ./mxlib/drv/sem \ 91 ./mxlib/drv/mmio \ 92 ./mxlib/drv/uart \ 93 ./mxlib/drv/irq \ 94 ./mxlib/drv/sys \ 95 ./mxlib/drv/miu \ 96 ./mxlib/msos/arm_ca53 \ 97 ./mxlib/msos/linux \ 98 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/msos/linux \ 99 ./mxlib/msos/common \ 100 ./mxlib/utopia_core/linux \ 101 ./mxlib/drv/cpu \ 102 ./mxlib/api/swi2c \ 103 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/cpu 104 105# Header file of specific chip 106chip_includes := \ 107 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM) \ 108 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/bdma \ 109 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/sem \ 110 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/mmio \ 111 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/uart \ 112 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/irq \ 113 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/sys \ 114 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/miu \ 115 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/cpu 116 117# Header files of library 118lib_includes := \ 119 $(LOCAL_PATH)/mxlib \ 120 $(LOCAL_PATH)/mxlib/drv/bdma \ 121 $(LOCAL_PATH)/mxlib/drv/miu \ 122 $(LOCAL_PATH)/mxlib/drv/sem \ 123 $(LOCAL_PATH)/mxlib/drv/mmio \ 124 $(LOCAL_PATH)/mxlib/drv/irq \ 125 $(LOCAL_PATH)/mxlib/drv/sys \ 126 $(LOCAL_PATH)/mxlib/drv/mmio \ 127 $(LOCAL_PATH)/mxlib/drv/uart \ 128 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM) \ 129 $(LOCAL_PATH)/mxlib/msos \ 130 $(LOCAL_PATH)/mxlib/msos/linux \ 131 $(LOCAL_PATH)/mxlib/utopia_core/ \ 132 $(LOCAL_PATH)/mxlib/utopia_api_relation/ \ 133 $(LOCAL_PATH)/mxlib/msfs \ 134 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/msos/linux \ 135 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/cpu 136 137# Public Header files 138public_includes := \ 139 $(LOCAL_PATH)/mxlib/include_backup \ 140 $(LOCAL_PATH)/mxlib/utopia_core \ 141 $(LOCAL_PATH)/project/maserati_android 142 143# C flags 144cflags := \ 145 -DMSOS_TYPE_LINUX \ 146 -DMCU_ARM_CA12 \ 147 -DMS_OPTIMIZE \ 148 -DOS_LINUX \ 149 -DANDROID \ 150 -DTV_OS \ 151 -DCHIP_MASERATI \ 152 -DMS_C_STDLIB \ 153 -DFW_EMBEDDED_ASC \ 154 -DCONFIG_MASERATI \ 155 -DCONFIG_UTOPIAXP_CONF_PATH="\"/system/etc/utopia.conf\"" \ 156 -DCONFIG_UTOPIA_FRAMEWORK_KERNEL_DRIVER \ 157 -DCONFIG_UTOPIA_FRAMEWORK_DISABLE_SYSTEM_V_IPCS \ 158 -DAUDIO_UTOPIA_20 \ 159 -DCONFIG_MSTAR_SRAMPD 160 161 162#=ACE================== 163source_dir += \ 164 ./mxlib/api/ace \ 165 ./mxlib/drv/ace \ 166 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/ace 167chip_includes += $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/ace/include 168lib_includes += \ 169 $(LOCAL_PATH)/mxlib/drv/ace \ 170 $(LOCAL_PATH)/mxlib/api/ace \ 171 $(LOCAL_PATH)/mxlib/drv/ace/include 172 173#=CEC================== 174source_dir += \ 175 ./mxlib/api/cec \ 176 ./mxlib/drv/cec \ 177 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/cec 178chip_includes += $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/cec/include 179lib_includes += \ 180 $(LOCAL_PATH)/mxlib/drv/cec \ 181 $(LOCAL_PATH)/mxlib/api/cec \ 182 $(LOCAL_PATH)/mxlib/drv/cec/include 183 184#=AUDIO================ 185source_dir += \ 186 ./mxlib/api/audio \ 187 ./mxlib/drv/audio \ 188 ./mxlib/drv/audsp \ 189 ./mxlib/drv/ipauth \ 190 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/audio \ 191 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/audsp 192chip_includes += \ 193 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM) \ 194 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/audio \ 195 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/audsp 196lib_includes += 197 198#=XC=================== 199source_dir += \ 200 ./mxlib/api/xc \ 201 ./mxlib/drv/xc \ 202 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/xc 203chip_includes += \ 204 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/xc/include 205lib_includes += \ 206 $(LOCAL_PATH)/mxlib/api/xc \ 207 $(LOCAL_PATH)/mxlib/drv/xc/include 208cflags += -DUTOPIA_V2 209#=PQ=================== 210source_dir += \ 211 ./mxlib/drv/pq \ 212 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/pq 213chip_includes += \ 214 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/pq/include 215lib_includes += \ 216 $(LOCAL_PATH)/mxlib/drv/pq/include \ 217 $(LOCAL_PATH)/mxlib/drv/pq 218#=MBX================== 219source_dir += \ 220 ./mxlib/api/mbx \ 221 ./mxlib/drv/mbx \ 222 ./mxlib/drv/mbx/api_mbx \ 223 ./mxlib/drv/mbx/linux \ 224 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/mbx 225chip_includes += 226lib_includes += \ 227 $(LOCAL_PATH)/mxlib/drv/mbx 228 229#=PNL================== 230source_dir += \ 231 ./mxlib/api/pnl \ 232 ./mxlib/drv/pnl \ 233 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/pnl 234chip_includes += \ 235 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/pnl 236lib_includes += \ 237 $(LOCAL_PATH)/mxlib/drv/pnl \ 238 $(LOCAL_PATH)/mxlib/drv/pnl/include \ 239 $(LOCAL_PATH)/mxlib/api/pnl 240 241#=GFX================== 242source_dir += \ 243 ./mxlib/api/gfx \ 244 ./mxlib/drv/ge \ 245 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/ge 246chip_includes += \ 247 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/ge 248lib_includes += \ 249 $(LOCAL_PATH)/mxlib/drv/ge 250 251#=GOP================== 252source_dir += \ 253 ./mxlib/api/gop \ 254 ./mxlib/drv/gop \ 255 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/gop 256chip_includes += \ 257 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/gop 258lib_includes += \ 259 $(LOCAL_PATH)/mxlib/drv/gop 260 261#=VE=================== 262source_dir += \ 263 ./mxlib/drv/ve \ 264 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/ve 265chip_includes += \ 266 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/ve/include 267lib_includes += \ 268 $(LOCAL_PATH)/mxlib/drv/ve \ 269 $(LOCAL_PATH)/mxlib/drv/ve/include 270 271#=CMDQ================= 272source_dir += \ 273 ./mxlib/drv/cmdq \ 274 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/cmdq 275chip_includes += \ 276 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/cmdq 277lib_includes += \ 278 $(LOCAL_PATH)/mxlib/drv/cmdq 279 280#=GPD================== 281source_dir += \ 282 ./mxlib/api/gpd \ 283 ./mxlib/drv/gpd \ 284 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/gpd 285chip_includes += \ 286 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/gpd 287lib_includes += \ 288 $(LOCAL_PATH)/mxlib/drv/gpd 289 290#=NJPD_EX============== 291source_dir += \ 292 ./mxlib/api/njpeg_ex \ 293 ./mxlib/drv/njpd_ex \ 294 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/njpd_ex 295chip_includes += \ 296 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/njpd_ex 297lib_includes += \ 298 $(LOCAL_PATH)/mxlib/drv/njpd_ex 299 300#=MFE_EX=============== 301source_dir += \ 302 ./mxlib/api/mfe_ex \ 303 ./mxlib/drv/mfe_ex \ 304 ./mxlib/drv/mfe_ex/cModel \ 305 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/mfe_ex 306chip_includes += \ 307 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/mfe_ex 308lib_includes += \ 309 $(LOCAL_PATH)/mxlib/drv/mfe_ex \ 310 $(LOCAL_PATH)/mxlib/drv/mfe_ex/cModel 311 312#=VDEC_V3============== 313source_dir += \ 314 ./mxlib/api/vdec_v3 \ 315 ./mxlib/drv/hvd_v3 \ 316 ./mxlib/drv/mjpeg_v3 \ 317 ./mxlib/drv/mvd_v3 \ 318 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/hvd_v3 \ 319 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/vpu_v3 \ 320 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/mvd_v3 321chip_includes += \ 322 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/hvd_v3 \ 323 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/vpu_v3 \ 324 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/mvd_v3 325lib_includes += \ 326 $(LOCAL_PATH)/mxlib/api/vdec_v3 \ 327 $(LOCAL_PATH)/mxlib/drv/mjpeg_v3 \ 328 $(LOCAL_PATH)/mxlib/drv/hvd_v3 \ 329 $(LOCAL_PATH)/mxlib/drv/mvd_v3 \ 330 $(LOCAL_PATH)/mxlib/drv/flash/serial 331cflags += \ 332 -DVDEC3 \ 333 -DVDEC3_FB \ 334 -DSUPPORT_EVD=1 \ 335 -DSUPPORT_G2VP9=0 \ 336 -DSUPPORT_MSVP9=1 \ 337 -DSUPPORT_NEW_MEM_LAYOUT 338 339##=DIP================== 340#source_dir += \ 341# ./mxlib/drv/dip \ 342# ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/dip 343#chip_includes += \ 344# $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/dip 345#lib_includes += \ 346# $(LOCAL_PATH)/mxlib/drv/dip 347 348#=FLASH================ 349source_dir += \ 350 ./mxlib/drv/flash/serial \ 351 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/flash/serial 352chip_includes += \ 353 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/flash/serial 354lib_includes += \ 355 $(LOCAL_PATH)/mxlib/drv/flash/serial 356 357#=MVOP================= 358source_dir += \ 359 ./mxlib/drv/mvop \ 360 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/mvop 361chip_includes += \ 362 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/mvop 363lib_includes += \ 364 $(LOCAL_PATH)/mxlib/drv/mvop 365 366#=GPIO================= 367source_dir += \ 368 ./mxlib/drv/gpio \ 369 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/gpio 370chip_includes += \ 371 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/gpio 372lib_includes += \ 373 $(LOCAL_PATH)/mxlib/drv/gpio 374 375#=PWM================== 376source_dir += \ 377 ./mxlib/drv/pwm \ 378 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/pwm 379chip_includes += \ 380 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/pwm 381lib_includes += \ 382 $(LOCAL_PATH)/mxlib/drv/pwm 383 384#=SAR================== 385source_dir += \ 386 ./mxlib/drv/sar \ 387 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/sar 388chip_includes += \ 389 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/sar 390lib_includes += \ 391 $(LOCAL_PATH)/mxlib/drv/sar 392 393#=AESDMA=============== 394source_dir += \ 395 ./mxlib/drv/aesdma \ 396 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/aesdma 397chip_includes += \ 398 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/aesdma 399lib_includes += \ 400 $(LOCAL_PATH)/mxlib/drv/aesdma 401 402# ===================================================================== 403# 404# Do not modify following section !!!! 405# Unless you really want to modify make rule !!!! 406# 407 408# 409# static 410# 411include $(CLEAR_VARS) 412 413LOCAL_MODULE := libutopia 414LOCAL_MODULE_TAGS := optional 415 416ARCH_ARM_HAVE_THUMB_SUPPORT := true 417LOCAL_ARM_MODE := arm 418 419LOCAL_SRC_FILES := \ 420 $(call find-subdir-subdir-files, $(source_dir), *.c, ) \ 421 $(call find-subdir-subdir-files, $(source_dir), *.s, ) 422 423LOCAL_C_INCLUDES := \ 424 $(chip_includes) \ 425 $(lib_includes) \ 426 $(public_includes) 427 428LOCAL_CFLAGS := $(cflags) 429 430LOCAL_SHARED_LIBRARIES := libcutils 431 432include $(BUILD_STATIC_LIBRARY) 433 434# 435# shared 436# 437include $(CLEAR_VARS) 438 439LOCAL_MODULE := libutopia 440LOCAL_MODULE_TAGS := optional 441LOCAL_WHOLE_STATIC_LIBRARIES := libutopia 442LOCAL_SHARED_LIBRARIES := libcutils 443include $(BUILD_SHARED_LIBRARY) 444 445#last line is for chip UFO unify 446define _install_bsp 447 $(shell sed -i -e 's/#define DLL_PACKED.*/#define DLL_PACKED __attribute__((__packed__))/g' $(LOCAL_PATH)/mxlib/include/MsTypes.h) 448 $(shell sed -i -e 's/#define UFO_PUBLIC_HEADER.*/#define UFO_PUBLIC_HEADER_700/g' $(LOCAL_PATH)/mxlib/include/UFO/UFO_maserati.h) 449 $(shell sh $(LOCAL_PATH)/build/MXlibBk.sh $(LOCAL_PATH) "BACKUP_INC") 450 $(shell rm -rf $(LOCAL_PATH)/bsp) 451 $(shell mkdir $(LOCAL_PATH)/bsp) 452 $(shell cp $(call intermediates-dir-for,STATIC_LIBRARIES,$(LOCAL_MODULE))/$(LOCAL_MODULE)$($(my_prefix)STATIC_LIB_SUFFIX) $(LOCAL_PATH)/bsp) 453 $(shell cp $(ANDROID_PRODUCT_OUT)/system/lib/$(LOCAL_MODULE).so $(LOCAL_PATH)/bsp) 454 $(shell sh $(LOCAL_PATH)/build/Reduced.sh $(LOCAL_PATH)/build/api_with_header_file.csv $(LOCAL_PATH) $$Version) 455 $(shell sh $(LOCAL_PATH)/build/CPBackup2mxlib.sh $(LOCAL_PATH)) 456 $(shell cp $(LOCAL_PATH)/mxlib/include_backup/UFO/UFO_maserati.h $(LOCAL_PATH)/mxlib/include/UFO.h) 457 $(shell cp $(LOCAL_PATH)/mxlib/include_backup/UFO/UFO_maserati.h $(LOCAL_PATH)/mxlib/include_backup/UFO.h) 458 $(shell cp $(LOCAL_PATH)/project/maserati_android/MsVersion.h $(LOCAL_PATH)/mxlib/include/MsVersion.h) 459 $(shell cp -r $(LOCAL_PATH)/mxlib/include $(LOCAL_PATH)/bsp/include) 460endef 461 462$(eval $(call _install_bsp)) 463