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