xref: /utopia/UTPA2-700.0.x/projects/project/k6_android/k6_android.mk (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
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/sys/closeSRC                                           \
96    ./mxlib/drv/miu                                                    \
97    ./mxlib/msos/arm_ca53                                              \
98    ./mxlib/msos/linux                                                 \
99    ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/msos/linux                    \
100    ./mxlib/msos/common                                                \
101    ./mxlib/utopia_core/linux                                          \
102    ./mxlib/drv/cpu                                                    \
103    ./mxlib/api/swi2c                                                  \
104    ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/cpu
105
106# Header file of specific chip
107chip_includes := \
108    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)                 \
109    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/bdma            \
110    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/sem             \
111    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/mmio            \
112    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/uart            \
113    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/irq             \
114    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/sys             \
115    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/miu             \
116    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/cpu
117
118# Header files of library
119lib_includes := \
120    $(LOCAL_PATH)/mxlib                                              \
121    $(LOCAL_PATH)/mxlib/drv/bdma                                     \
122    $(LOCAL_PATH)/mxlib/drv/miu                                      \
123    $(LOCAL_PATH)/mxlib/drv/sem                                      \
124    $(LOCAL_PATH)/mxlib/drv/mmio                                     \
125    $(LOCAL_PATH)/mxlib/drv/irq                                      \
126    $(LOCAL_PATH)/mxlib/drv/sys                                      \
127    $(LOCAL_PATH)/mxlib/drv/mmio                                     \
128    $(LOCAL_PATH)/mxlib/drv/uart                                     \
129    $(LOCAL_PATH)/mxlib/drv/audio/internal                           \
130    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)                 \
131    $(LOCAL_PATH)/mxlib/msos                                         \
132    $(LOCAL_PATH)/mxlib/msos/linux                                   \
133    $(LOCAL_PATH)/mxlib/utopia_core/                                 \
134    $(LOCAL_PATH)/mxlib/utopia_api_relation/                         \
135    $(LOCAL_PATH)/mxlib/msfs                                         \
136    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/msos/linux      \
137    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/cpu
138
139# Public Header files
140public_includes := \
141    $(LOCAL_PATH)/mxlib/include       \
142    $(LOCAL_PATH)/mxlib/utopia_core   \
143    $(LOCAL_PATH)/project/k6_android
144
145# C flags
146cflags := \
147    -DMSOS_TYPE_LINUX      \
148    -DMCU_ARM_CA12         \
149    -DMS_OPTIMIZE          \
150    -DOS_LINUX             \
151    -DANDROID              \
152    -DTV_OS                \
153    -DCHIP_K6              \
154    -DMS_C_STDLIB          \
155    -DFW_EMBEDDED_ASC      \
156    -DCONFIG_K6            \
157    -DCONFIG_UTOPIAXP_CONF_PATH="\"/system/etc/utopia.conf\"" \
158    -DCONFIG_UTOPIA_FRAMEWORK_DISABLE_SYSTEM_V_IPCS \
159    -DDONT_USE_CMA \
160    -DCONFIG_KERN_3_10_86 \
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
209#=DLC===================
210source_dir += \
211    ./mxlib/api/dlc \
212    ./mxlib/drv/dlc \
213    ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/dlc
214chip_includes += \
215    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/dlc/include
216lib_includes += \
217    $(LOCAL_PATH)/mxlib/api/dlc \
218    $(LOCAL_PATH)/mxlib/drv/dlc \
219    $(LOCAL_PATH)/mxlib/drv/dlc/include
220cflags += -DUTOPIA_V2
221
222#=MBX==================
223source_dir += \
224    ./mxlib/api/mbx \
225    ./mxlib/drv/mbx \
226    ./mxlib/drv/mbx/api_mbx \
227    ./mxlib/drv/mbx/linux \
228    ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/mbx
229chip_includes +=
230lib_includes += \
231    $(LOCAL_PATH)/mxlib/drv/mbx
232
233#=PNL==================
234source_dir += \
235    ./mxlib/api/pnl \
236    ./mxlib/drv/pnl \
237    ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/pnl
238chip_includes += \
239    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/pnl
240lib_includes += \
241    $(LOCAL_PATH)/mxlib/drv/pnl         \
242    $(LOCAL_PATH)/mxlib/drv/pnl/include \
243    $(LOCAL_PATH)/mxlib/api/pnl
244
245#=GFX==================
246source_dir += \
247    ./mxlib/api/gfx \
248    ./mxlib/drv/ge  \
249    ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/ge
250chip_includes += \
251    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/ge
252lib_includes += \
253    $(LOCAL_PATH)/mxlib/drv/ge
254
255#=GOP==================
256source_dir += \
257    ./mxlib/api/gop \
258    ./mxlib/drv/gop \
259    ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/gop
260chip_includes += \
261    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/gop
262lib_includes += \
263    $(LOCAL_PATH)/mxlib/drv/gop
264
265#=VE===================
266source_dir += \
267    ./mxlib/drv/ve \
268    ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/ve
269chip_includes += \
270    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/ve/include
271lib_includes += \
272    $(LOCAL_PATH)/mxlib/drv/ve \
273    $(LOCAL_PATH)/mxlib/drv/ve/include
274
275#=CMDQ=================
276source_dir += \
277    ./mxlib/drv/cmdq \
278    ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/cmdq
279chip_includes += \
280    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/cmdq
281lib_includes += \
282    $(LOCAL_PATH)/mxlib/drv/cmdq
283
284#=GPD==================
285source_dir += \
286    ./mxlib/api/gpd \
287    ./mxlib/drv/gpd \
288    ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/gpd
289chip_includes += \
290    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/gpd
291lib_includes += \
292    $(LOCAL_PATH)/mxlib/drv/gpd
293
294#=HDMITX==================
295source_dir += \
296    ./mxlib/api/hdmitx \
297    ./mxlib/drv/hdmitx \
298    ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/hdmitx
299chip_includes += \
300    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/hdmitx/include
301lib_includes += \
302    $(LOCAL_PATH)/mxlib/api/hdmitx \
303    $(LOCAL_PATH)/mxlib/drv/hdmitx/include
304
305#=NJPD_EX==============
306source_dir += \
307    ./mxlib/api/njpeg_ex \
308    ./mxlib/drv/njpd_ex  \
309    ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/njpd_ex
310chip_includes += \
311    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/njpd_ex
312lib_includes += \
313    $(LOCAL_PATH)/mxlib/drv/njpd_ex
314
315#=MFE_EX===============
316source_dir += \
317    ./mxlib/api/mfe_ex \
318    ./mxlib/drv/mfe_ex \
319    ./mxlib/drv/mfe_ex/cModel \
320    ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/mfe_ex
321chip_includes += \
322    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/mfe_ex
323lib_includes += \
324    $(LOCAL_PATH)/mxlib/drv/mfe_ex \
325    $(LOCAL_PATH)/mxlib/drv/mfe_ex/cModel
326
327#=VDEC_V3==============
328source_dir += \
329    ./mxlib/api/vdec_v3  \
330    ./mxlib/drv/hvd_v3   \
331    ./mxlib/drv/mjpeg_v3 \
332    ./mxlib/drv/mvd_v3   \
333    ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/hvd_v3 \
334    ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/vpu_v3 \
335    ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/mvd_v3
336chip_includes += \
337    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/hvd_v3 \
338    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/vpu_v3 \
339    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/mvd_v3
340lib_includes += \
341    $(LOCAL_PATH)/mxlib/api/vdec_v3  \
342    $(LOCAL_PATH)/mxlib/drv/mjpeg_v3 \
343    $(LOCAL_PATH)/mxlib/drv/hvd_v3 \
344    $(LOCAL_PATH)/mxlib/drv/mvd_v3 \
345    $(LOCAL_PATH)/mxlib/drv/flash/serial
346cflags += \
347    -DVDEC3           \
348    -DVDEC3_FB        \
349    -DSUPPORT_EVD=1   \
350    -DSUPPORT_G2VP9=0 \
351    -DSUPPORT_MSVP9=1 \
352    -DSUPPORT_NEW_MEM_LAYOUT
353
354##=DIP==================
355#source_dir += \
356#    ./mxlib/drv/dip \
357#    ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/dip
358#chip_includes += \
359#    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/dip
360#lib_includes += \
361#    $(LOCAL_PATH)/mxlib/drv/dip
362
363#=FLASH================
364source_dir += \
365     ./mxlib/drv/flash/serial \
366     ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/flash/serial
367chip_includes += \
368    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/flash/serial
369lib_includes += \
370    $(LOCAL_PATH)/mxlib/drv/flash/serial
371
372#=MVOP=================
373source_dir += \
374    ./mxlib/drv/mvop \
375    ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/mvop
376chip_includes += \
377    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/mvop
378lib_includes += \
379    $(LOCAL_PATH)/mxlib/drv/mvop
380
381#=GPIO=================
382source_dir += \
383    ./mxlib/drv/gpio \
384    ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/gpio
385chip_includes += \
386    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/gpio
387lib_includes += \
388    $(LOCAL_PATH)/mxlib/drv/gpio
389
390#=PWM==================
391source_dir += \
392    ./mxlib/drv/pwm \
393    ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/pwm
394chip_includes += \
395    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/pwm
396lib_includes += \
397    $(LOCAL_PATH)/mxlib/drv/pwm
398
399#=SAR==================
400source_dir += \
401    ./mxlib/drv/sar \
402    ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/sar
403chip_includes += \
404    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/sar
405lib_includes += \
406    $(LOCAL_PATH)/mxlib/drv/sar
407
408#=AESDMA===============
409source_dir += \
410    ./mxlib/drv/cipher \
411    ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/cipher \
412    ./mxlib/hal/$(TARGET_BOARD_PLATFORM)/rsa
413chip_includes += \
414    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/cipher \
415    $(LOCAL_PATH)/mxlib/hal/$(TARGET_BOARD_PLATFORM)/rsa
416lib_includes += \
417    $(LOCAL_PATH)/mxlib/drv/cipher
418
419# =====================================================================
420#
421# Do not modify following section !!!!
422# Unless you really want to modify make rule !!!!
423#
424
425#
426# static
427#
428include $(CLEAR_VARS)
429
430LOCAL_MODULE := libutopia
431LOCAL_MODULE_TAGS := optional
432
433ARCH_ARM_HAVE_THUMB_SUPPORT := true
434LOCAL_ARM_MODE := arm
435
436#LOCAL_SRC_FILES := \
437#    $(call find-subdir-subdir-files, $(source_dir), *.c, ) \
438#    $(call find-subdir-subdir-files, $(source_dir), *.s, )
439
440LOCAL_SRC_FILES := \
441    $(filter-out $(call find-subdir-subdir-files, $(source_dir), apiHDMITx_Wrap.c, ), $(call find-subdir-subdir-files, $(source_dir), *.c, )) \
442    $(call find-subdir-subdir-files, $(source_dir), *.s, )
443
444LOCAL_C_INCLUDES := \
445    $(chip_includes) \
446    $(lib_includes) \
447    $(public_includes)
448
449LOCAL_CFLAGS := $(cflags)
450
451LOCAL_SHARED_LIBRARIES := libcutils
452
453include $(BUILD_STATIC_LIBRARY)
454
455#
456# shared
457#
458include $(CLEAR_VARS)
459
460LOCAL_MODULE := libutopia
461LOCAL_MODULE_TAGS := optional
462LOCAL_WHOLE_STATIC_LIBRARIES := libutopia
463LOCAL_SHARED_LIBRARIES := libcutils
464include $(BUILD_SHARED_LIBRARY)
465
466#last line is for chip UFO unify
467define _install_bsp
468   $(shell sed -i -e 's/#define DLL_PACKED.*/#define DLL_PACKED/g' $(LOCAL_PATH)/mxlib/include/MsTypes.h)
469   $(shell sed -i -e 's/#define UFO_PUBLIC_HEADER.*/#define UFO_PUBLIC_HEADER_700/g' $(LOCAL_PATH)/mxlib/include/UFO/UFO_k6.h)
470   $(shell rm -rf $(LOCAL_PATH)/bsp)
471   $(shell mkdir $(LOCAL_PATH)/bsp)
472   $(shell cp $(call intermediates-dir-for,STATIC_LIBRARIES,$(LOCAL_MODULE))/$(LOCAL_MODULE)$($(my_prefix)STATIC_LIB_SUFFIX) $(LOCAL_PATH)/bsp)
473   $(shell cp $(ANDROID_PRODUCT_OUT)/system/lib/$(LOCAL_MODULE).so $(LOCAL_PATH)/bsp)
474   $(shell cp -r $(LOCAL_PATH)/mxlib/include $(LOCAL_PATH)/bsp/include)
475   $(shell cp $(LOCAL_PATH)/mxlib/include/UFO/UFO_k6.h $(LOCAL_PATH)/mxlib/include/UFO.h)
476endef
477
478$(eval $(call _install_bsp))