xref: /utopia/UTPA2-700.0.x/projects/project/maxim_android/maxim_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_backup       \
140    $(LOCAL_PATH)/mxlib/utopia_core   \
141    $(LOCAL_PATH)/project/maxim_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_MAXIM           \
152    -DMS_C_STDLIB          \
153    -DFW_EMBEDDED_ASC      \
154    -DCONFIG_MAXIM         \
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_maxim.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_maxim.h $(LOCAL_PATH)/mxlib/include/UFO.h)
456   $(shell cp $(LOCAL_PATH)/mxlib/include_backup/UFO/UFO_maxim.h $(LOCAL_PATH)/mxlib/include_backup/UFO.h)
457   $(shell cp $(LOCAL_PATH)/project/maxim_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