xref: /utopia/UTPA2-700.0.x/projects/project/manhattan_android/manhattan_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/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