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 \ 140 $(LOCAL_PATH)/mxlib/utopia_core \ 141 $(LOCAL_PATH)/project/manhattan_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_MANHATTAN \ 152 -DMS_C_STDLIB \ 153 -DFW_EMBEDDED_ASC \ 154 -DCONFIG_MANHATTAN \ 155 -DCONFIG_UTOPIA_FRAMEWORK_KERNEL_DRIVER \ 156 -DAUDIO_UTOPIA_20 \ 157 -DMSOS_TYPE_LINUX \ 158 -DVDEC_UTOPIA_2K \ 159 -DVDEC_UTOPIA_2K_KDRV \ 160 -DSUPPORT_NEW_MEM_LAYOUT \ 161 -DVDEC3 \ 162 -DVDEC3_FB \ 163 -DSUPPORT_EVD=1 \ 164 -DSUPPORT_G2VP9=1 \ 165 -DSUPPORT_MSVP9=0 \ 166 -DDEMOD_UTOPIA_2K \ 167 -DVIF_UTOPIA2K \ 168 -DDMX_UTOPIA_2K \ 169 -DDSCMB_UTOPIA_2K \ 170 -DNJPEG_UTOPIA_2K \ 171 -DGPD_UTOPIA_2K \ 172 -DGOP_UTOPIA2K \ 173 -DGFX_UTOPIA2K \ 174 -DDIP_UTOPIA2K \ 175 -DCONFIG_UTOPIAXP_PATCH 176 177#=ACE================== 178source_dir += \ 179 ./mxlib/api/ace \ 180 ./mxlib/drv/ace \ 181 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/ace 182chip_includes += $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/ace/include 183lib_includes += \ 184 $(LOCAL_PATH)/mxlib/drv/ace \ 185 $(LOCAL_PATH)/mxlib/api/ace \ 186 $(LOCAL_PATH)/mxlib/drv/ace/include 187 188#=CEC================== 189source_dir += \ 190 ./mxlib/api/cec \ 191 ./mxlib/drv/cec \ 192 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/cec 193chip_includes += $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/cec/include 194lib_includes += \ 195 $(LOCAL_PATH)/mxlib/drv/cec \ 196 $(LOCAL_PATH)/mxlib/api/cec \ 197 $(LOCAL_PATH)/mxlib/drv/cec/include 198 199#=AUDIO================ 200source_dir += \ 201 ./mxlib/api/audio \ 202 ./mxlib/drv/audio \ 203 ./mxlib/drv/audsp \ 204 ./mxlib/drv/ipauth \ 205 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/audio \ 206 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/audsp 207chip_includes += \ 208 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM) \ 209 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/audio \ 210 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/audsp 211lib_includes += 212 213#=XC=================== 214source_dir += \ 215 ./mxlib/api/xc \ 216 ./mxlib/drv/xc \ 217 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/xc 218chip_includes += \ 219 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/xc/include 220lib_includes += \ 221 $(LOCAL_PATH)/mxlib/api/xc \ 222 $(LOCAL_PATH)/mxlib/drv/xc/include 223cflags += -DUTOPIA_V2 224 225#=MBX================== 226source_dir += \ 227 ./mxlib/api/mbx \ 228 ./mxlib/drv/mbx \ 229 ./mxlib/drv/mbx/api_mbx \ 230 ./mxlib/drv/mbx/linux \ 231 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/mbx 232chip_includes += 233lib_includes += \ 234 $(LOCAL_PATH)/mxlib/drv/mbx 235 236#=PNL================== 237source_dir += \ 238 ./mxlib/api/pnl \ 239 ./mxlib/drv/pnl \ 240 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/pnl 241chip_includes += \ 242 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/pnl 243lib_includes += \ 244 $(LOCAL_PATH)/mxlib/drv/pnl \ 245 $(LOCAL_PATH)/mxlib/drv/pnl/include \ 246 $(LOCAL_PATH)/mxlib/api/pnl 247 248#=GFX================== 249source_dir += \ 250 ./mxlib/api/gfx \ 251 ./mxlib/drv/ge \ 252 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/ge 253chip_includes += \ 254 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/ge 255lib_includes += \ 256 $(LOCAL_PATH)/mxlib/drv/ge 257 258#=GOP================== 259source_dir += \ 260 ./mxlib/api/gop \ 261 ./mxlib/drv/gop \ 262 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/gop 263chip_includes += \ 264 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/gop 265lib_includes += \ 266 $(LOCAL_PATH)/mxlib/drv/gop 267 268#=VE=================== 269source_dir += \ 270 ./mxlib/drv/ve \ 271 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/ve 272chip_includes += \ 273 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/ve/include 274lib_includes += \ 275 $(LOCAL_PATH)/mxlib/drv/ve \ 276 $(LOCAL_PATH)/mxlib/drv/ve/include 277 278#=CMDQ================= 279source_dir += \ 280 ./mxlib/drv/cmdq \ 281 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/cmdq 282chip_includes += \ 283 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/cmdq 284lib_includes += \ 285 $(LOCAL_PATH)/mxlib/drv/cmdq 286 287#=GPD================== 288source_dir += \ 289 ./mxlib/api/gpd \ 290 ./mxlib/drv/gpd \ 291 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/gpd 292chip_includes += \ 293 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/gpd 294lib_includes += \ 295 $(LOCAL_PATH)/mxlib/drv/gpd 296 297#=NJPD_EX============== 298source_dir += \ 299 ./mxlib/api/njpeg_ex \ 300 ./mxlib/drv/njpd_ex \ 301 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/njpd_ex 302chip_includes += \ 303 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/njpd_ex 304lib_includes += \ 305 $(LOCAL_PATH)/mxlib/drv/njpd_ex 306 307#=MFE_EX=============== 308source_dir += \ 309 ./mxlib/api/mfe_ex \ 310 ./mxlib/drv/mfe_ex \ 311 ./mxlib/drv/mfe_ex/cModel \ 312 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/mfe_ex 313chip_includes += \ 314 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/mfe_ex 315lib_includes += \ 316 $(LOCAL_PATH)/mxlib/drv/mfe_ex \ 317 $(LOCAL_PATH)/mxlib/drv/mfe_ex/cModel 318 319#=VDEC_V3============== 320source_dir += \ 321 ./mxlib/api/vdec_v3 \ 322 ./mxlib/drv/hvd_v3 \ 323 ./mxlib/drv/mjpeg_v3 \ 324 ./mxlib/drv/mvd_v3 \ 325 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/hvd_v3 \ 326 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/vpu_v3 \ 327 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/mvd_v3 328chip_includes += \ 329 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/hvd_v3 \ 330 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/vpu_v3 \ 331 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/mvd_v3 332lib_includes += \ 333 $(LOCAL_PATH)/mxlib/api/vdec_v3 \ 334 $(LOCAL_PATH)/mxlib/drv/mjpeg_v3 \ 335 $(LOCAL_PATH)/mxlib/drv/hvd_v3 \ 336 $(LOCAL_PATH)/mxlib/drv/mvd_v3 \ 337 $(LOCAL_PATH)/mxlib/drv/flash/serial 338cflags += \ 339 -DVDEC3 \ 340 -DVDEC3_FB \ 341 -DSUPPORT_EVD=1 \ 342 -DSUPPORT_G2VP9=0 \ 343 -DSUPPORT_MSVP9=1 \ 344 -DSUPPORT_NEW_MEM_LAYOUT 345 346##=DIP================== 347#source_dir += \ 348# ./mxlib/drv/dip \ 349# ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/dip 350#chip_includes += \ 351# $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/dip 352#lib_includes += \ 353# $(LOCAL_PATH)/mxlib/drv/dip 354 355#=FLASH================ 356source_dir += \ 357 ./mxlib/drv/flash/serial \ 358 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/flash/serial 359chip_includes += \ 360 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/flash/serial 361lib_includes += \ 362 $(LOCAL_PATH)/mxlib/drv/flash/serial 363 364#=MVOP================= 365source_dir += \ 366 ./mxlib/drv/mvop \ 367 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/mvop 368chip_includes += \ 369 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/mvop 370lib_includes += \ 371 $(LOCAL_PATH)/mxlib/drv/mvop 372 373#=GPIO================= 374source_dir += \ 375 ./mxlib/drv/gpio \ 376 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/gpio 377chip_includes += \ 378 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/gpio 379lib_includes += \ 380 $(LOCAL_PATH)/mxlib/drv/gpio 381 382#=PWM================== 383source_dir += \ 384 ./mxlib/drv/pwm \ 385 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/pwm 386chip_includes += \ 387 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/pwm 388lib_includes += \ 389 $(LOCAL_PATH)/mxlib/drv/pwm 390 391#=SAR================== 392source_dir += \ 393 ./mxlib/drv/sar \ 394 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/sar 395chip_includes += \ 396 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/sar 397lib_includes += \ 398 $(LOCAL_PATH)/mxlib/drv/sar 399 400#=AESDMA=============== 401source_dir += \ 402 ./mxlib/drv/aesdma \ 403 ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/aesdma 404chip_includes += \ 405 $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/aesdma 406lib_includes += \ 407 $(LOCAL_PATH)/mxlib/drv/aesdma 408 409# ===================================================================== 410# 411# Do not modify following section !!!! 412# Unless you really want to modify make rule !!!! 413# 414 415# 416# static 417# 418include $(CLEAR_VARS) 419 420LOCAL_MODULE := libutopia 421LOCAL_MODULE_TAGS := optional 422 423ARCH_ARM_HAVE_THUMB_SUPPORT := true 424LOCAL_ARM_MODE := arm 425 426LOCAL_SRC_FILES := \ 427 $(call find-subdir-subdir-files, $(source_dir), *.c, ) \ 428 $(call find-subdir-subdir-files, $(source_dir), *.s, ) 429 430LOCAL_C_INCLUDES := \ 431 $(chip_includes) \ 432 $(lib_includes) \ 433 $(public_includes) 434 435LOCAL_CFLAGS := $(cflags) 436 437LOCAL_SHARED_LIBRARIES := libcutils 438 439include $(BUILD_STATIC_LIBRARY) 440 441# 442# shared 443# 444include $(CLEAR_VARS) 445 446LOCAL_MODULE := libutopia 447LOCAL_MODULE_TAGS := optional 448LOCAL_WHOLE_STATIC_LIBRARIES := libutopia 449LOCAL_SHARED_LIBRARIES := libcutils 450include $(BUILD_SHARED_LIBRARY) 451 452#last line is for chip UFO unify 453define _install_bsp 454 $(shell sed -i -e 's/#define DLL_PACKED.*/#define DLL_PACKED __attribute__((__packed__))/g' $(LOCAL_PATH)/mxlib/include/MsTypes.h) 455 $(shell sed -i -e 's/#define UFO_PUBLIC_HEADER.*/#define UFO_PUBLIC_HEADER_700/g' $(LOCAL_PATH)/mxlib/include/UFO/UFO_manhattan.h) 456 $(shell rm -rf $(LOCAL_PATH)/bsp) 457 $(shell mkdir $(LOCAL_PATH)/bsp) 458 $(shell cp $(call intermediates-dir-for,STATIC_LIBRARIES,$(LOCAL_MODULE))/$(LOCAL_MODULE)$($(my_prefix)STATIC_LIB_SUFFIX) $(LOCAL_PATH)/bsp) 459 $(shell cp $(ANDROID_PRODUCT_OUT)/system/lib/$(LOCAL_MODULE).so $(LOCAL_PATH)/bsp) 460 $(shell cp -r $(LOCAL_PATH)/mxlib/include $(LOCAL_PATH)/bsp/include) 461 $(shell cp $(LOCAL_PATH)/mxlib/include/UFO/UFO_manhattan.h $(LOCAL_PATH)/mxlib/include/UFO.h) 462endef 463 464$(eval $(call _install_bsp)) 465