source: svn/trunk/newcon3bcm2_21bu/dst/build/makefile @ 16

Last change on this file since 16 was 16, checked in by megakiss, 11 years ago

서경방송 TS 지원을 위한 수정
PID는 8160 1개만 사용하도록
image dii ddb 테이블아이디를 수정 4b 4c

  • Property svn:executable set to *
File size: 43.3 KB
Line 
1
2################################################################
3#
4# Broadcom Corp. Confidential
5# Copyright 2003 Broadcom Corp. All Rights Reserved.
6#
7# THIS SOFTWARE MAY ONLY BE USED SUBJECT TO AN EXECUTED
8# SOFTWARE LICENSE AGREEMENT BETWEEN THE USER AND BROADCOM.
9# YOU HAVE NO RIGHT TO USE OR EXPLOIT THIS MATERIAL EXCEPT
10# SUBJECT TO THE TERMS OF SUCH AN AGREEMENT.
11#
12# $brcm_Workfile:  $
13# $brcm_Revision:  $
14# $brcm_Date: $
15#
16# Module Description:  ram makefile
17#
18# Revision History:
19#
20# Created: Wed Sep 13 11:49:24 PDT 2006 by Jeffrey Fisher
21#
22# $brcm_Log: $
23#
24################################################################/
25
26export SW_FULL_VERSION=$(shell gcc ../../../zasc/app_c/DST_Main.c -D_GET_SW_VERSION_ -o version.exe;./version.exe)
27
28TOP_DIR         := $(shell cd ../../ ; /bin/pwd)
29DHL_DIR = $(TOP_DIR)/dst/dhl
30DLIB_DIR = $(TOP_DIR)/dst/dlib
31DMW_DIR = $(TOP_DIR)/dst/dmw
32DAPP_DIR = $(TOP_DIR)/dst/app
33
34AOV_MODEL               ?= 0
35
36#
37# Software version number MAJOR_VERSION.MINOR_VERSION.SUB_VERSION
38# Major number can be in the range from 0 to 7
39# Minor number can be in the range 0 to 31
40# Sub version  can be in the range 0 to 15
41#
42
43MAJOR_VERSION   ?= 5
44MINOR_VERSION   ?= 0
45SUB_VERSION     ?= 1
46
47ALCO_VERSION1   ?= 0
48ALCO_VERSION2   ?= 7
49
50#
51#
52#
53ROM_CHECKSUM    ?= 0x00000000
54
55#
56# Configuration for default build
57#
58
59PLATFORM        = 97574
60
61#
62# To suppress the display all make commands
63#
64
65Q_ = @
66QUIET           = $(Q_)
67
68#
69# To build in debug support
70#
71
72DEBUG                   ?= y
73export DEBUG
74
75SCREENSAVER ?= y
76ifeq (${SCREENSAVER},y)
77CFLAGS                          += -DCONFIG_SCREENSAVER
78endif
79
80#
81# enable AVS as default
82#
83ENABLE_AVS ?= n
84
85#
86# Use MemsysInitLib instead of older shmoo libraries
87#
88ENABLE_MEMSYSINIT ?= y
89
90#
91# enable STANDBY as default
92#
93HAS_STANDBY ?= y
94
95#
96# Dolby logo without extra D
97#
98DOLBY_LOGO_NO_D ?= y
99
100#
101# Types of applications
102#
103# dta/nanotv/ntia
104#
105APP_TYPE                ?= ntia
106
107#
108# To use memory checker
109#
110HAS_MRC                 ?=n
111
112#
113# To include profiling support
114#
115
116PROFILE                 ?=n
117
118#
119# Include EIA 708 CC rendering
120#
121
122HAS_EIA_708             ?= y
123#
124# use new smaller font set and will support 3 font set display
125NEW_FONT_SET    ?= y
126
127#
128# EXTERNAL VSB
129#
130ifeq (${APP_TYPE},ntia)
131HAS_VSB                 ?=y
132else
133HAS_VSB                 ?=n
134endif
135
136#
137# VBI (AMOL/GS)
138#
139
140HAS_VBI                 ?=y
141
142#
143# Include SCTE65 parsing rendering
144#
145
146#
147# Include Subtitle parsing and rendering
148#
149HAS_SCTE27              ?=n
150
151#SCTE65: SERVICE INFORMATION DELIVERED OUT-OF-BAND FOR DIGITAL CABLE TELEVISION
152HAS_SCTE65              ?= n #BK y->n
153#SCTE18: Emergency Alert Messaging for Cable
154#BKTODO: check the following options
155HAS_SCTE18              ?=y
156HAS_CAT                 ?=y
157
158HAS_WATCHDOG            ?=y
159
160HAS_DVB                 ?=n
161HAS_DVB_SUBTITLE?=n
162
163HAS_NOVCHIP_SD ?= n
164HAS_NOCC_SD ?=n
165
166SHRINK_WIDTH =n
167
168#
169# Aqua menu, for customers that want to diable it, please change it to n
170#
171HAS_AQUA_MENU ?=n #BK y->n
172
173#
174# Include PSIP parsing rendering
175#
176
177HAS_ATSC_PSIP           ?= y
178
179#
180# Select remote protocol.
181#
182#       0 - Remote A
183#       1 - Twirp,XMP
184#       4 - ARC-xxx
185#       5 - RCA
186#       3 - Remote B
187#       8 - Motorola
188#       10 - NEC based IR remote (MA-35K)
189#       11 - NEC based IR remote
190#       12 - NEC based IR remote
191#       15 - DST NEC based IR remote
192
193USERIO_ID               ?= 15
194
195#
196# build SHMOO lib. Please change DDR_FREQ_MHZ in bootloader.mk accordingly for the DDR speed to build (333, 400 and 533)
197#
198BUILD_SHMOO             ?= n
199
200#
201# SCM and CA support
202#
203HAS_SCM ?= n
204
205#
206# Draw audio power level
207#
208HAS_AUD_PWR ?= n
209#
210# Since platform.inc define CFLAGS it is important it be included before any other CFLAGS are set.
211#
212USE_NEXUS ?= n
213OS                      ?= ucos_ii
214
215include platform.inc
216
217TUNER_TEST ?= n
218
219#
220# use 32 bit for Aspect Ratio manipulation
221CFLAGS  += -DBVDC_UINT32_ONLY=1
222
223#
224## include ACB612 defines
225#
226ifeq (${APP_TYPE},ntia)
227
228CONFIG_ENABLE_SHMOO             = y
229CONFIG_ENABLE_UART              = y
230CONFIG_ENABLE_FAST_UART = n
231CONFIG_ENABLE_REG_RW    = n
232
233ENABLE_APP                              = y
234ENABLE_TESTS                    = n
235
236HAS_SCTE65                              = n
237HAS_ATSC_PSIP                   = y
238HAS_ATSC                                = y
239HAS_AVL                                 = y
240DEBUG                                   = y
241
242# RGB surface, 8 bit font (gray scale)
243CONFIG_BGFX_SURF_RGB    = y
244CONFIG_8BIT_FONT                = y
245VIDEO_SCALING_SUPPORT   = y
246
247# anything that specific to ACB612/ACB613 board
248CFLAGS  += -DACB612
249CFLAGS  += -DNO_VCHIP
250
251# anything that specific to ACB612/ACB613 board
252ifeq (${ACB615},y)
253CFLAGS  += -DACB615 -DHAS_HDMI
254endif
255
256endif
257
258
259CFLAGS += -DAOV_MODEL=$(AOV_MODEL)
260
261#
262# SCTE-65 defines
263#
264
265ifeq (${HAS_SCTE65}, y)
266
267#
268# Enable/Disable DTA Cable mode.
269#
270
271# Power Monitor
272
273ifeq (${NTV_SIMULATOR},y)
274TEST_BFDS = y
275CFLAGS += -DSIMULATOR
276ifeq (${APP_TYPE},nanotv)
277CFLAGS += -DAPP_TYPE_NANOTV
278else
279ifeq (${APP_TYPE},ntia)
280CFLAGS += -DAPP_TYPE_NTIA
281else
282CFLAGS += -DAPP_TYPE_DTA
283endif
284endif
285else
286CFLAGS     += -DCONFIG_MONITOR_PVT -DCONFIG_SMARTCARD_TEST
287endif
288
289# For inital SCTE-65 test streams set CONFIG_NETWORK_PID to 0x777
290
291CFLAGS                          += -DCONFIG_NETWORK_PID=0x1FFC -DDEF_VERSION=0x00000011
292ifeq (${SCREENSAVER},y)
293CFLAGS                          += -DCONFIG_DTA_CABLE -DCONFIG_SCREENSAVER -DCONFIG_COMCAST_BUILD
294else
295CFLAGS                          += -DCONFIG_DTA_CABLE -DCONFIG_COMCAST_BUILD
296endif
297CFLAGS                          += -DDOWNLOAD_FLASH_OFFSET=0x68000
298CFLAGS                          += -DCONFIG_CUSTOMER_PASSWD=0x09070301  # 1379
299
300#
301# TUNER_BAND for historical reasons is actualy which parser to use and
302# PARSER_BAND is actualy the input source of the parser */
303#
304CFLAGS                          += -DTUNER_BAND=0               # IB0: On chip ISDB-T demodulator
305ifeq (${BCHP_CHIP},7552)
306CFLAGS                          += -DPARSER_BAND=1
307else
308CFLAGS                          += -DPARSER_BAND=3
309endif
310
311#
312#  NEXUS Defines normalin in platform header file in Nexus build
313#
314CFLAGS                          += -DNEXUS_NUM_AUDIO_DECODERS=3
315CFLAGS                          += -DCONFIG_HAS_AUDIO=1
316#
317# Enable all the following to meet NEW UDTA Spec Requirements
318#
319CFLAGS                          += -DCONFIG_REQUIRE_CAT
320
321# To IGNORE VCT ID set CONFIG_DEF_VCT_ID=0xFFFF
322
323CFLAGS                          += -DCONFIG_DEF_VCT_ID=0xF100
324CFLAGS                          += -DCONFIG_DEF_EMM_PID=0x1FF0
325
326# Vendor and Hardware ID
327CFLAGS                          += -DDEF_VENDOR_ID=0x0FACED     # 3 bytes
328CFLAGS                          += -DDEF_HARDWARE_ID=$(PLATFORM)
329CFLAGS                          += -DDEF_VENDOR_NAME=\"Broadcom\"
330
331endif  ### ifeq (${HAS_SCTE65}, y) ###
332
333ifeq (${APP_TYPE},ntia)
334CFLAGS                          += -DFOR_NTIA
335CFLAGS                          += -DDEF_VENDOR_ID=0x612
336ifeq (${SCREENSAVER},y)
337CFLAGS                          += -DCONFIG_SCREENSAVER
338endif
339CFLAGS                          += -DDEF_HARDWARE_ID=$(PLATFORM)
340CFLAGS                          += -DDEF_VENDOR_NAME=\"Broadcom\"
341CFLAGS                          += -DCONFIG_NETWORK_PID=0x1FFB -DDEF_VERSION=0x00000001
342CFLAGS                          += -DTUNER_BAND=0 -DPARSER_BAND=5
343CFLAGS                          += -DNTIA_UI
344
345ifeq (${TUNER_DEBUG},y)
346CFLAGS                          += -DTUNER_DEBUG
347endif
348
349ifeq (${HAS_AQUA_MENU},y)
350CFLAGS                          += -DCONFIG_AQUA_MENU
351endif
352
353HAS_4M_FLASH ?= n
354ifeq (${HAS_4M_FLASH},y)
355endif
356
357# if use 7542 board
358CFLAGS                          += -DUSE_7542_BOARD
359endif
360
361ifeq ($(SHRINK_WIDTH),y)
362CFLAGS                          += -DSHRINK_WIDTH
363endif
364
365ifeq (${HAS_SCM}, y)
366CFLAGS += -DCONFIG_ENABLE_SCM=1
367endif
368#
369# Definitions that define chip and board configuration
370#
371
372
373#
374# Tool definitions
375#
376
377ECHO            =       $(QUIET)echo
378
379#
380# Root directories where sources reside
381#
382
383DTA_DIR                 = $(TOP_DIR)/dta
384BUILD_DIR               = $(DTA_DIR)/build
385SOURCE_DIR              = $(DTA_DIR)/src
386SIM_DIR                 = $(SOURCE_DIR)/sim
387MAGNUM_DIR              = $(TOP_DIR)/magnum
388ROCKFORD_DIR    = $(TOP_DIR)/rockford
389BSEAV_DIR               = $(TOP_DIR)/BSEAV
390BCMBIN_DIR              = $(TOP_DIR)/dta/bin
391SYSLIB_DIR              = $(MAGNUM_DIR)/syslib
392#
393# Defines important to PI Module
394#
395
396
397MAGNUM                  = $(MAGNUM_DIR)
398
399#
400# Source directories
401#
402
403OS_DIR          = $(SOURCE_DIR)/$(OS)
404Z_DIR           = $(SOURCE_DIR)/z
405BFDB_DIR        = $(SOURCE_DIR)/bfdb
406FCC_DIR         = $(SOURCE_DIR)/settop_api
407APP_DIR         = $(SOURCE_DIR)/app
408
409ifeq (${APP_TYPE},dta)
410APP_SRC_DIR     = $(APP_DIR)/dta
411APP_IMAGES_DIR  = $(APP_SRC_DIR)/images
412else
413ifeq (${APP_TYPE},ntia)
414APP_SRC_DIR     = $(APP_DIR)/ntia
415else
416APP_SRC_DIR     = $(APP_DIR)/nanotv
417endif
418endif
419
420#
421# Base CFLAGS
422#
423ifeq (${OS}, ucos_ii)
424CFLAGS += -DUCOS_II
425endif
426
427#
428# Identify chip
429#
430
431CFLAGS += -DBCHP_CHIP=$(BCHP_CHIP) -DBCHP_VER=BCHP_VER_$(BCHP_VER)
432# overwrite chip id register
433CFLAGS += -DBCHP_CHIP_ID=7552
434
435#
436# Identify version
437#
438ifeq ($(AOV_MODEL),1)
439CFLAGS += -DMAJOR_VERSION=$(MAJOR_VERSION) -DMINOR_VERSION=$(MINOR_VERSION) -DSUB_VERSION=$(SUB_VERSION) -DALCO_VERSION1=$(ALCO_VERSION1) -DALCO_VERSION2=$(ALCO_VERSION2)
440else
441CFLAGS += -DMAJOR_VERSION=$(MAJOR_VERSION) -DMINOR_VERSION=$(MINOR_VERSION) -DSUB_VERSION=$(SUB_VERSION)
442endif
443#
444# DTA defines
445#
446
447ifeq ($(CONFIG_XMP_REMOTE),y)
448CFLAGS += -DCONFIG_XMP_REMOTE
449endif
450
451CFLAGS +=  -DUSERIO_ID=$(USERIO_ID)
452
453CFLAGS += -DCONFIG_ENABLE_UART
454
455ifeq (${HAS_WATCHDOG},y)
456CFLAGS          += -DCONFIG_WATCHDOG
457endif
458
459#
460# Flags enabling build of non-distributed sources
461#
462
463BUILD_UCOS ?= n
464BUILD_LIBFCC ?= n
465
466ENABLE_UMESSAGE ?= n
467
468#
469# DST
470#
471ifeq (${SUPPORT_DST_PLATFORM},y)
472CFLAGS += -DSUPPORT_DST_PLATFORM=1
473else
474CFLAGS += -DSUPPORT_DST_PLATFORM=0
475endif
476
477#
478# Target binary name
479#
480
481TARGET          = ram$(PLATFORM)
482
483#
484# The targets
485#
486
487
488ifeq (${NTV_SIMULATOR},y)
489
490all: makefile $(PLATFORM)_sim
491BCM_SRC         = \
492                        $(SIM_DIR)/gtkmain.c \
493                        $(SIM_DIR)/gtk_app.c \
494                        $(SIM_DIR)/gtk_dlg.c \
495                        $(SIM_DIR)/gtk_cb.c \
496                        $(SIM_DIR)/gtk_app_remote.c \
497                        $(SIM_DIR)/pc_user_io.c \
498                        $(SIM_DIR)/sim.c \
499                        $(SIM_DIR)/sim_settop.c \
500                        $(SIM_DIR)/sim_ext.c \
501                        $(SIM_DIR)/bos_pthread.c
502                       
503CFLAGS     += -I$(SIM_DIR) -I$(SOURCE_DIR)/settop_api -I$(SOURCE_DIR) \
504        -I$(APP_SRC_DIR) -I$(APP_DIR) -I$(MAGNUM_DIR)/commonutils/lst
505CFLAGS += `pkg-config --cflags gtk+-2.0`
506
507### else ifeq (${NTV_SIMULATOR},y)
508else
509ifeq (${USE_NEXUS},y)
510NEXUS_PLATFORM = 97552
511include nexus_dta.mk
512else
513all: makefile jar flash$(PLATFORM).gz
514
515
516LDFLAGS += -T ld.script
517
518BCM_SRC = $(SOURCE_DIR)/ram_init.c \
519        $(SOURCE_DIR)/bos_ucos_ii.c \
520        $(SOURCE_DIR)/bos_trace.c \
521        $(SOURCE_DIR)/gdb_nub.c
522
523CFLAGS += -I$(ROCKFORD_DIR)/bsp/bcm9$(BCHP_CHIP)/no-os/src/sde
524
525### endif ifeq ($(USE_NEXUS},y)
526endif
527### endif ifeq (${NTV_SIMULATOR},y)
528endif
529
530#
531# NEWLIB ucos bsp
532#
533
534ifeq ($(NEWLIB),y)
535BCM_SRC +=  $(SOURCE_DIR)/ucos_dev.c
536endif
537#
538# Include ministd in RAM source and paths
539#
540
541ifeq (${NTV_SIMULATOR},y)
542
543### else ifeq (${NTV_SIMULATOR},y)
544else
545ifeq (${OS},ucos_ii)
546CFLAGS += -DMINISTD_RAM=1
547BCM_ASM_SRC += $(SOURCE_DIR)/crt.S $(SOURCE_DIR)/memcpy.S $(SOURCE_DIR)/setjmp.S
548BCM_SRC += $(SOURCE_DIR)/ministd.c $(SOURCE_DIR)/bcmmemmgr.c $(SOURCE_DIR)/qsort.c
549BCM_SRC += $(SOURCE_DIR)/cache_util.c
550BCM_VPATH       += $(DTA_DIR)/src
551BCM_VPATH       += $(DTA_DIR)/src/$(OS)
552endif
553### endif ifeq (${NTV_SIMULATOR},y)
554endif
555
556HAS_8BIT_FONT = y
557CFLAGS += -DCONFIG_GFX_ARGB32
558CFLAGS += -DCONFIG_8BIT_FONT
559
560
561#########################################################################################
562# DST specific code here.
563#########################################################################################
564include dst_sw.mk
565DST_LIB_OBJS = $(LIB_DIR)/libdst.a
566
567CFLAGS += -DSUBMODEL_ID=2               #for MW
568
569##ifeq (${SUPPORT_DST_PLATFORM},y)
570ifeq (0,1)##move to dst_sw.mk
571##################################
572# HAL
573##################################
574CFLAGS += -D_FE_BCM3520_NXP
575DHL_SRC += \
576        $(DHL_DIR)/src/DHL_OSAL_Impl.c \
577        $(DHL_DIR)/src/DHL_OSAL.c       \
578        $(DHL_DIR)/src/DHL_OSAL_Print.c \
579        $(DHL_DIR)/src/DHL_DBG.c        \
580        $(DHL_DIR)/src/DHL_DBG_Print.c \
581        $(DHL_DIR)/src/DHL_UTL.c \
582        $(DHL_DIR)/src/DHL_Timer.c \
583        $(DHL_DIR)/src/DHL_DBG_Symbols.c \
584        $(DHL_DIR)/src/DHL_DBG_Shell.c \
585        $(DHL_DIR)/src/DHL_SYS.c \
586        $(DHL_DIR)/src/DHL_Main.c \
587        $(DHL_DIR)/src/DHL_DEV_Platform.c       \
588        $(DHL_DIR)/src/DHL_FE.c \
589        $(DHL_DIR)/src/DHL_FE_Platform.c \
590        $(DHL_DIR)/src/DHL_AVCAP.c      \
591        $(DHL_DIR)/src/DHL_AVCAP_Impl.c \
592        $(DHL_DIR)/src/DHL_Graphic.c    \
593        $(DHL_DIR)/src/DHL_Graphic_Platform.c   \
594        $(DHL_DIR)/src/DHL_Demux.c      \
595        $(DHL_DIR)/src/DHL_PSI.c        \
596        $(DHL_DIR)/src/DHL_PSI_Impl.c   \
597        $(DHL_DIR)/src/DHL_PSI_Rx.c     \
598        $(DHL_DIR)/src/DHL_UIO_Platform.c       \
599        $(DHL_DIR)/src/DHL_NVM.c        \
600        $(DHL_DIR)/src/DHL_UIO.c        \
601        $(DHL_DIR)/src/DHL_COM.c        \
602        $(DHL_DIR)/api/test/OSSemTest.c \
603        $(DHL_DIR)/api/test/AVCAPTest.c \
604        $(DHL_DIR)/api/test/TimerTest.c \
605        $(DHL_DIR)/api/test/OSTaskTest.c \
606        $(DHL_DIR)/api/test/FrontEndTest.c
607
608
609#       $(DHL_DIR)/api/test/PsiTest.c \
610#       $(DHL_DIR)/api/test/OSHeapTest.c \
611#       $(DHL_DIR)/api/test/PsiTest.c \
612
613               
614## DLIB/PNG
615DLIB_SRC += \
616        $(DLIB_DIR)/src/PNG/png.c \
617        $(DLIB_DIR)/src/PNG/pngerror.c \
618        $(DLIB_DIR)/src/PNG/pngget.c \
619        $(DLIB_DIR)/src/PNG/pngmem.c \
620        $(DLIB_DIR)/src/PNG/pngpread.c \
621        $(DLIB_DIR)/src/PNG/pngread.c \
622        $(DLIB_DIR)/src/PNG/pngrio.c \
623        $(DLIB_DIR)/src/PNG/pngrtran.c \
624        $(DLIB_DIR)/src/PNG/pngrutil.c \
625        $(DLIB_DIR)/src/PNG/pngset.c \
626        $(DLIB_DIR)/src/PNG/pngtrans.c \
627        $(DLIB_DIR)/src/PNG/pngwio.c \
628        $(DLIB_DIR)/src/PNG/pngwrite.c \
629        $(DLIB_DIR)/src/PNG/pngwtran.c \
630        $(DLIB_DIR)/src/PNG/pngwutil.c
631## DLIB/others
632DHL_SRC += \
633        $(DLIB_DIR)/src/uiofilter/UioFilter.c
634
635
636DLIB_SRC += \
637        $(DLIB_DIR)/src/si/DLIB_BitOp.c \
638        $(DLIB_DIR)/src/si/DLIB_PSI_Debug.c \
639        $(DLIB_DIR)/src/si/DLIB_PSI_Parser.c \
640        $(DLIB_DIR)/src/si/DLIB_PSI_Monitor.c \
641        $(DLIB_DIR)/src/si/DLIB_PSIP_Parser.c \
642        $(DLIB_DIR)/src/si/DLIB_PSIP_Monitor.c \
643        $(DLIB_DIR)/src/si/DLIB_PSI_Utils.c \
644        $(DLIB_DIR)/src/si/DLIB_SDDS_Monitor.c \
645        $(DLIB_DIR)/src/si/DLIB_SDDS_Parser.c \
646        $(DLIB_DIR)/src/osx/OSX_Task.c \
647
648## DLIB/ZLIB  -> BRCMÀÇ Z_DIRÀ¸·Î ±³Ã¼
649SKIP_BCM_SRC += \
650        $(DLIB_DIR)/src/ZLIB/adler32.c \
651        $(DLIB_DIR)/src/ZLIB/compress.c \
652        $(DLIB_DIR)/src/ZLIB/crc32.c \
653        $(DLIB_DIR)/src/ZLIB/deflate.c \
654        $(DLIB_DIR)/src/ZLIB/gzio.c \
655        $(DLIB_DIR)/src/ZLIB/infblock.c \
656        $(DLIB_DIR)/src/ZLIB/infcodes.c \
657        $(DLIB_DIR)/src/ZLIB/inffast.c \
658        $(DLIB_DIR)/src/ZLIB/inflate.c \
659        $(DLIB_DIR)/src/ZLIB/inftrees.c \
660        $(DLIB_DIR)/src/ZLIB/infutil.c \
661        $(DLIB_DIR)/src/ZLIB/trees.c \
662        $(DLIB_DIR)/src/ZLIB/uncompr.c \
663        $(DLIB_DIR)/src/ZLIB/zutil.c
664
665DMW_SRC :=  # just to emphasize in source insight's syntax-highliting
666DMW_SRC +=      \
667        $(DMW_DIR)/src/System/DMW_Dummy.c \
668        $(DMW_DIR)/src/System/DMW_Main.c \
669        $(DMW_DIR)/src/System/DMW_Mutex.c \
670        $(DMW_DIR)/src/System/DMW_MsgQue.c \
671        $(DMW_DIR)/src/System/DMW_Timer.c \
672        $(DMW_DIR)/src/System/DMW_SysTime.c \
673        $(DMW_DIR)/src/System/DMW_CodeConv.c \
674        $(DMW_DIR)/src/System/DMW_NvRam.c \
675        $(DMW_DIR)/src/psi/DMW_PsiSdds.c \
676        $(DMW_DIR)/src/psi/DMW_PsiEngine.c \
677        $(DMW_DIR)/src/psi/DMW_PsiDatabase.c \
678        $(DMW_DIR)/src/psi/DMW_PsiUtil.c \
679        $(DMW_DIR)/src/psi/DMW_PsiLinkedList.c \
680        $(DMW_DIR)/src/psi/DMW_PsiTask.c \
681        $(DMW_DIR)/src/psi/DMW_PsiAPI.c \
682        $(DMW_DIR)/src/EPG/DMW_EpgBase.c \
683        $(DMW_DIR)/src/EPG/DMW_EpgDebug.c \
684        $(DMW_DIR)/src/EPG/DMW_EpgInterface.c \
685        $(DMW_DIR)/src/EPG/DMW_EpgRating.c \
686        $(DMW_DIR)/src/EPG/DMW_EpgVersion.c \
687        $(DMW_DIR)/src/EPG/DMW_RfDownload.c \
688        $(DMW_DIR)/src/Channel/DMW_Channel.c \
689        $(DMW_DIR)/src/Channel/DMW_ChannelTask.c \
690        $(DMW_DIR)/src/Channel/DMW_ChannelUtil.c \
691        $(DMW_DIR)/src/Channel/DMW_ChannelAV.c \
692        $(DMW_DIR)/src/Channel/DMW_ChannelCSD.c \
693        $(DMW_DIR)/src/Channel/DMW_ChannelDB.c \
694        $(DMW_DIR)/src/Channel/DMW_ChannelDemux.c \
695        $(DMW_DIR)/src/Channel/DMW_ChannelFreq.c \
696        $(DMW_DIR)/src/Channel/DMW_ChannelHAL.c \
697        $(DMW_DIR)/src/Channel/DMW_ChannelScan.c \
698        $(DMW_DIR)/src/Channel/DMW_ChannelTune.c \
699        $(DMW_DIR)/src/Channel/DMW_ChannelVer.c \
700        $(DMW_DIR)/src/Channel/DMW_Mcm.c \
701        $(DMW_DIR)/src/Channel/DMW_Ucm.c \
702        $(DMW_DIR)/src/cc/cc_ddi_mstar.c \
703        $(DMW_DIR)/src/cc/cc_main.c \
704        $(DMW_DIR)/src/cc/app_cc.c \
705        $(DMW_DIR)/src/cc/cc_display.c \
706        $(DMW_DIR)/src/cc/cc_exec_608.c \
707        $(DMW_DIR)/src/cc/cc_exec_708.c \
708        $(DMW_DIR)/src/cc/cc_front.c \
709        $(DMW_DIR)/src/cc/cc_user.c \
710        $(DMW_DIR)/src/cc/cc_util.c \
711        $(DMW_DIR)/src/cc/cc_win.c \
712        $(DMW_DIR)/src/grp/DMG_Draw.c \
713        $(DMW_DIR)/src/grp/DMG_Menu.c \
714        $(DMW_DIR)/src/grp/DMG_Util.c \
715        $(DMW_DIR)/src/grp/BMF.c \
716        $(DMW_DIR)/src/grp/grp_jungle.c \
717        $(DMW_DIR)/src/grp/jungle_font/utfOutline.c \
718        $(DMW_DIR)/src/grp/jungle_font/utfStruct.c
719
720#       $(DMW_DIR)/src/EPG/DMW_EpgUtil.c \
721#       $(DMW_DIR)/src/EPG/DMW_EpgMgtMgr.c \
722#       $(DMW_DIR)/src/EPG/DMW_Xds.c \
723#       $(DMW_DIR)/src/EPG/DMW_EIA608B.c
724
725
726
727APP_SRC_C += \
728        $(DAPP_DIR)/src/Function/App_Fnc_Audio.c \
729        $(DAPP_DIR)/src/Function/App_Fnc_AutoScan.c \
730        $(DAPP_DIR)/src/Function/App_Fnc_CC.c \
731        $(DAPP_DIR)/src/Function/App_Fnc_ChTune.c \
732        $(DAPP_DIR)/src/Function/App_Fnc_DigitKeyProc.c \
733        $(DAPP_DIR)/src/Function/App_Fnc_EA2.c \
734        $(DAPP_DIR)/src/Function/App_Fnc_EPG.c \
735        $(DAPP_DIR)/src/Function/App_Fnc_NvRam.c \
736        $(DAPP_DIR)/src/Function/App_Fnc_Pod.c \
737        $(DAPP_DIR)/src/Function/App_Fnc_Power.c \
738        $(DAPP_DIR)/src/Function/App_Fnc_Rating.c \
739        $(DAPP_DIR)/src/Function/App_Fnc_RfUpdate.c \
740        $(DAPP_DIR)/src/Function/App_Fnc_RRT.c \
741        $(DAPP_DIR)/src/Function/App_Fnc_Sdds2.c \
742        $(DAPP_DIR)/src/Function/App_Fnc_SignalMonitor.c \
743        $(DAPP_DIR)/src/Function/App_Fnc_Time.c \
744        $(DAPP_DIR)/src/Function/App_Fnc_Ucm.c \
745        $(DAPP_DIR)/src/Function/App_Fnc_Video.c \
746        $(DAPP_DIR)/src/Function/App_Fnc_Comm.c \
747        $(DAPP_DIR)/src/Function/App_Fnc_Dummy.c \
748        $(DAPP_DIR)/src/Main/App_Debug.c \
749        $(DAPP_DIR)/src/Main/App_Main.c \
750        $(DAPP_DIR)/src/Main/App_Version.c \
751        $(DAPP_DIR)/src/Main/App_Map.c \
752        $(DAPP_DIR)/src/kview/OSD/App_OSD_Banner.c \
753        $(DAPP_DIR)/src/kview/OSD/App_OSD_ChEdit.c \
754        $(DAPP_DIR)/src/kview/OSD/App_OSD_Common.c \
755        $(DAPP_DIR)/src/kview/OSD/App_OSD_Epg2.c \
756        $(DAPP_DIR)/src/kview/OSD/App_OSD_Main.c \
757        $(DAPP_DIR)/src/kview/OSD/App_OSD_Pod.c \
758        $(DAPP_DIR)/src/kview/OSD/App_OSD_RRT.c \
759        $(DAPP_DIR)/src/kview/OSD/App_OSD_Scan.c \
760        $(DAPP_DIR)/src/kview/OSD/App_OSD_Factory.c \
761        $(DAPP_DIR)/src/kview/OSD/App_OSD_SetupWizard.c \
762        $(DAPP_DIR)/src/kview/Proc/App_Proc_Banner.c \
763        $(DAPP_DIR)/src/kview/Proc/App_Proc_CC.c \
764        $(DAPP_DIR)/src/kview/Proc/App_Proc_ChEdit.c \
765        $(DAPP_DIR)/src/kview/Proc/App_Proc_Epg2.c \
766        $(DAPP_DIR)/src/kview/Proc/App_Proc_Etc.c \
767        $(DAPP_DIR)/src/kview/Proc/App_Proc_Html.c \
768        $(DAPP_DIR)/src/kview/Proc/App_Proc_Idle.c \
769        $(DAPP_DIR)/src/kview/Proc/App_Proc_Init.c \
770        $(DAPP_DIR)/src/kview/Proc/App_Proc_Main.c \
771        $(DAPP_DIR)/src/kview/Proc/App_Proc_Rating.c \
772        $(DAPP_DIR)/src/kview/Proc/App_Proc_RRT.c \
773        $(DAPP_DIR)/src/kview/Proc/App_Proc_Scan.c \
774        $(DAPP_DIR)/src/kview/Proc/App_Proc_Power.c \
775        $(DAPP_DIR)/src/kview/Proc/App_Proc_Factory.c \
776        $(DAPP_DIR)/src/kview/Proc/App_Proc_ServiceMenu.c \
777        $(DAPP_DIR)/src/kview/Proc/App_Proc_SetupWizard.c \
778        $(DAPP_DIR)/src/kview/Resource/App_Res_Png.c
779
780
781
782SRC_DIR += \
783        $(DHL_DIR)/src
784INC_DIRS +=     \
785        $(DHL_DIR)/api/include  \
786        $(DHL_DIR)/src/include  \
787        $(DLIB_DIR)/src/PNG     \
788        $(DLIB_DIR)/src/uiofilter
789
790SRC_DIR +=      \
791        $(DMW_DIR)/src/include \
792        $(DMW_DIR)/src/System \
793        $(DMW_DIR)/src/EPG \
794        $(DMW_DIR)/src/Channel \
795        $(DMW_DIR)/src/EPG \
796        $(DMW_DIR)/src/psi \
797        $(DMW_DIR)/src/cc \
798        $(DMW_DIR)/src/grp \
799        $(DMW_DIR)/src/grp/jungle_font \
800        $(DMW_DIR)/src/grp/BMF
801SRC_DIR += \
802        $(DAPP_DIR)/src/Main \
803        $(DAPP_DIR)/src/Function \
804        $(DAPP_DIR)/src/kview/OSD \
805        $(DAPP_DIR)/src/kview/Proc \
806        $(DAPP_DIR)/src/kview/Resource
807
808
809BCM_SRC += $(DHL_SRC)
810BCM_SRC += $(DLIB_SRC)
811BCM_SRC += $(DMW_SRC)
812BCM_SRC += $(APP_SRC_C)
813
814BCM_VPATH       += $(DHL_DIR)/src
815BCM_VPATH       += $(DHL_DIR)/api/include
816BCM_VPATH       += $(DHL_DIR)/test
817BCM_VPATH       += $(DLIB_DIR)/src/uiofilter
818BCM_VPATH       += $(DLIB_DIR)/src/si
819BCM_VPATH       += $(DLIB_DIR)/src/PNG
820BCM_VPATH       += $(DLIB_DIR)/src/osx
821
822BCM_VPATH       += $(SRC_DIR)
823
824endif #ifeq (${SUPPORT_DST_PLATFORM},y)
825##########################################################################################
826
827
828
829SKIP_BCM_SRC += $(APP_SRC_DIR)/bapp.c \
830                $(APP_SRC_DIR)/bscreen_status.c \
831                $(APP_SRC_DIR)/bscreen_debug.c \
832                $(APP_SRC_DIR)/bscreen.c \
833                $(APP_SRC_DIR)/bapp_palette.c \
834                $(APP_SRC_DIR)/bapp_settings.c \
835                $(APP_SRC_DIR)/bapp_str_table.c \
836                $(APP_DIR)/bapp_util.c \
837                $(APP_DIR)/iso_639_lang_map.c \
838                $(APP_DIR)/genericlist.c \
839                $(APP_DIR)/bapp_freq_table.c
840
841BCM_SRC += \
842                $(APP_DIR)/bgfx.c \
843                $(APP_DIR)/bgfx_font.c \
844                $(APP_DIR)/bgfx_defs.c
845
846BCM_SRC += $(APP_DIR)/genericlist.c     ##BKTEMP
847
848ifeq (${APP_TYPE},ntia)
849ifeq (${DOLBY_LOGO_NO_D},y)
850CFLAGS  += -DDOLBY_LOGO_NO_D
851SKIP_BCM_SRC += $(APP_SRC_DIR)/dolby_logo_no_D.c
852else
853SKIP_BCM_SRC += $(APP_SRC_DIR)/dolby_logo_240.c
854endif
855else
856BCM_SRC += $(APP_DIR)/ch_map.c
857endif
858
859ifeq (${USE_NEXUS},n)
860BCM_SRC += $(APP_DIR)/bapp_remote.c
861endif
862
863CFLAGS     += -I$(APP_DIR)  -I.
864CFLAGS     += -I$(APP_SRC_DIR)
865CFLAGS     += -I$(Z_DIR)
866#CFLAGS         += -DCONFIG_FACTORY_TEST
867#CFLAGS         += -DCONFIG_DTA_CABLE_TESTING
868
869#
870# Application resources
871#
872
873##BKORG include res.mk
874
875#
876# Include Profiling source and paths
877#
878
879ifeq (${PROFILE},y)
880BCM_PROFILE_PATH = $(BSEAV_DIR)/lib/bprofile
881CFLAGS += -I$(BCM_PROFILE_PATH)
882
883BCM_SRC += $(BCM_PROFILE_PATH)/bprofile.c \
884                $(BCM_PROFILE_PATH)/bprofile_data.c \
885                $(BCM_PROFILE_PATH)/bperf_counter.c \
886                $(BCM_PROFILE_PATH)/btrc.c
887
888CFLAGS += -finstrument-functions -DPROFILE=1 -DCONFIG_UCOS=1
889endif
890
891
892ifeq (${NTV_SIMULATOR},y)
893
894### else ifeq (${NTV_SIMULATOR},y)
895else
896
897ifeq (${OS},ucos_ii)
898# stdlib
899BCM_SRC +=  $(SOURCE_DIR)/serial.c $(SOURCE_DIR)/xmodem.c
900endif
901# compression, xmodem
902BCM_SRC += $(Z_DIR)/bzlib.c \
903                $(Z_DIR)/inflate.c \
904                $(Z_DIR)/crc32.c \
905                $(Z_DIR)/inffast.c \
906                $(Z_DIR)/inftrees.c \
907                $(Z_DIR)/uncompr.c \
908                $(Z_DIR)/adler32.c \
909                $(Z_DIR)/zutil.c
910#BKTEMP for PNG libs
911
912BCM_SRC += $(Z_DIR)/deflate.c \
913                $(Z_DIR)/trees.c
914
915
916BCM_SRC += \
917                $(APP_DIR)/led.c \
918                $(APP_DIR)/dsmcc.c \
919                $(APP_DIR)/image_recv.c \
920                $(APP_DIR)/image_write.c \
921                $(APP_DIR)/getbits.c
922
923### endif ifeq (${NTV_SIMULATOR},y)
924endif
925
926#
927# Settop API
928#
929
930ifeq ($(hdmi_sd_16_9),y)
931CFLAGS += -DHDMI_SD_WIDE_SCREEN
932endif
933
934CFLAGS     += -I$(SOURCE_DIR)/settop_api
935
936ifeq (${NTV_SIMULATOR},y)
937
938### else ifeq (${NTV_SIMULATOR},y)
939else
940ifeq ($(USE_NEXUS),y)
941        BCM_SRC += $(SOURCE_DIR)/settop_api/xds_ctrl.c
942else
943BCM_SRC += \
944                $(SOURCE_DIR)/settop_api/bsettop_smessage_rave.c \
945                $(SOURCE_DIR)/settop_api/bsettop_stream_rave.c \
946                $(SOURCE_DIR)/settop_api/bcrc32.c \
947                $(SOURCE_DIR)/settop_api/msg_filter.c \
948                $(SOURCE_DIR)/settop_api/bsettop.c \
949                $(SOURCE_DIR)/settop_api/bsettop_rfm.c \
950                $(SOURCE_DIR)/settop_api/bsettop_display.c \
951                $(SOURCE_DIR)/settop_api/bsettop_hdmi.c \
952                $(SOURCE_DIR)/settop_api/bsettop_decode.c \
953                $(SOURCE_DIR)/settop_api/bsettop_graphics.c \
954                $(SOURCE_DIR)/settop_api/bsettop_user_io.c \
955                $(SOURCE_DIR)/settop_api/bsettop_smartcard.c \
956                $(SOURCE_DIR)/settop_api/bsettop_pcm.c \
957                $(SOURCE_DIR)/settop_api/bsettop_gpio.c \
958                $(SOURCE_DIR)/settop_api/xds_ctrl.c
959
960
961ifeq (${BCHP_VER}, B0)
962ifeq (${HAS_OOB}, y)
963CFLAGS += -DCONFIG_OOB
964BCM_SRC += $(SOURCE_DIR)/settop_api/bsettop_tuner_aob.c
965# enable it if want to add a test function in CLI
966CFLAGS += -DTUNER_AOB_TEST -DOOB_TUNER_SUPPORT
967endif
968
969ifeq (${HAS_MRC}, y)
970CFLAGS += -DCONFIG_MRC
971endif
972
973endif
974
975BCM_SRC += $(SOURCE_DIR)/settop_api/bdecode_audio_raaga.c
976endif  # endif ifeq ($(USE_NEXUS),y)
977
978# OOB tuner related
979CFLAGS += -DOOB_TUNER_BAND=2 -DOOB_IB=9
980# Mission College MOTO HE OOB related information
981CFLAGS  += -DCONFIG_DEF_OOB_VCT_ID=0x5
982CFLAGS  += -DCONFIG_DEF_OOB_EMM_PID=0x1503
983CFLAGS  += -DCONFIG_DEF_OOB_FREQ_KHZ=75250                      #75.25M, or 103.75M
984# to enable OOB_LEGACY_SUPPORT to use OOB for messages
985#CFLAGS += -DOOB_LEGACY_SUPPORT
986
987ifeq (${HAS_AUD_PWR}, y)
988CFLAGS += -DCONFIG_AUD_PWR
989BCM_SRC += $(SOURCE_DIR)/settop_api/avl_dspfunc.c
990endif
991
992### endif ifeq (${NTV_SIMULATOR},y)
993endif
994
995
996ifeq (${NTV_SIMULATOR},y)
997HAS_CAT = n
998HAS_VBI = n
999
1000### else ifeq (${NTV_SIMULATOR},y)
1001else
1002
1003SKIP_BCM_SRC += $(APP_SRC_DIR)/chan_mgr.c
1004CFLAGS += -I$(BSEAV_LIB_DIR)/si/common
1005
1006### endif ifeq (${NTV_SIMULATOR},y)
1007endif
1008
1009ifeq (${APP_TYPE},dta)
1010SKIP_BCM_SRC +=  $(APP_SRC_DIR)/bscreen_dolby.c \
1011                $(APP_SRC_DIR)/bscreen_pairing.c \
1012                $(APP_SRC_DIR)/bapp_resources.c \
1013                $(APP_DIR)/bscreen_factory_test.c
1014
1015
1016CFLAGS += -DNEW_UI
1017SKIP_BCM_SRC +=         $(APP_SRC_DIR)/bscreen_menu.c \
1018                $(APP_SRC_DIR)/bosi_button.c \
1019                $(APP_SRC_DIR)/bscreen_volume.c \
1020                $(APP_SRC_DIR)/bosi_overlay.c \
1021                $(APP_SRC_DIR)/bscreen_locks.c \
1022                $(APP_SRC_DIR)/bscreen_ovpopup.c \
1023                $(APP_SRC_DIR)/bscreen_dcc.c \
1024                $(APP_SRC_DIR)/bscreen_language.c \
1025                $(APP_SRC_DIR)/bscreen_output.c
1026
1027
1028### endif ifeq (${APP_TYPE},dta)
1029endif
1030
1031ifeq (${APP_TYPE},ntia)
1032CFLAGS += -I$(BSEAV_LIB_DIR)/si/common
1033endif ### ntia
1034
1035ifeq (${HAS_STANDBY},y)
1036CFLAGS += -DCONFIG_STANDBY
1037BCM_SRC += $(APP_SRC_DIR)/birw.c
1038endif
1039
1040ifeq (${CONFIG_CES},y)
1041CFLAGS += -DCONFIG_CES
1042endif
1043BCM_SRC += $(BSEAV_DIR)/lib/mpeg2_ts_parse/psip_rrt.c \
1044                $(BSEAV_DIR)/lib/mpeg2_ts_parse/psip_descriptor.c
1045
1046
1047
1048ifeq ($(BUILD_EXTRA_LIBC),y)
1049BCM_SRC += $(SOURCE_DIR)/qsort.c \
1050        $(SOURCE_DIR)/stdio.c \
1051        $(SOURCE_DIR)/libc.c
1052endif
1053
1054#
1055# Set up flash sources and paths
1056#
1057
1058BCM_SRC += $(BFDB_DIR)/bfdb.c
1059
1060ifeq (${TEST_BFDS},y)
1061CFLAGS += -DTEST_BFDS
1062BCM_SRC += $(BFDB_DIR)/bfds_mem.c
1063else
1064CFLAGS += -I$(SOURCE_DIR)/bootloader7574
1065BCM_SRC += $(BFDB_DIR)/bfds_spi.c \
1066                $(SOURCE_DIR)/bspi_flash.c
1067endif
1068
1069CFLAGS     += -I$(BFDB_DIR)
1070
1071ifeq (${APP_TYPE},nanotv)
1072BUILD_GP=n
1073WITH_GP=n
1074endif
1075
1076ifeq (${APP_TYPE},dta)
1077HAS_DVB=n
1078endif
1079
1080#
1081# PSI paths and sources
1082#
1083BSEAV_LIB_DIR = $(TOP_DIR)/BSEAV/lib
1084MPEG2_TS_PARSE_DIR = $(BSEAV_LIB_DIR)/mpeg2_ts_parse
1085
1086#
1087# Basic PSI parsing
1088#
1089CFLAGS     += -I$(MPEG2_TS_PARSE_DIR)
1090BCM_SRC +=      \
1091                $(MPEG2_TS_PARSE_DIR)/ts_priv.c \
1092                $(MPEG2_TS_PARSE_DIR)/ts_psi.c \
1093                $(MPEG2_TS_PARSE_DIR)/ts_pat.c \
1094                $(MPEG2_TS_PARSE_DIR)/ts_pmt.c
1095
1096#
1097# ATSC PSIP Sources
1098#
1099
1100ifeq ($(HAS_ATSC),y)
1101BCM_SRC +=      \
1102                $(MPEG2_TS_PARSE_DIR)/psip_mgt.c \
1103                $(MPEG2_TS_PARSE_DIR)/psip_vct.c \
1104                $(MPEG2_TS_PARSE_DIR)/psip_ett.c \
1105                $(MPEG2_TS_PARSE_DIR)/psip_eit.c
1106endif
1107
1108# ATSC PSIP Sources also used for parsing SCTE65
1109BCM_SRC +=      \
1110                $(MPEG2_TS_PARSE_DIR)/psip_stt.c \
1111                $(MPEG2_TS_PARSE_DIR)/psip_mss.c \
1112                $(MPEG2_TS_PARSE_DIR)/psip_decode_tree_01.c \
1113                $(MPEG2_TS_PARSE_DIR)/psip_decode_tree_02.c
1114
1115#
1116# SCTE65 Sources Profile 2 only
1117#
1118
1119ifeq ($(HAS_SCTE65),y)
1120CFLAGS += -I$(BSEAV_LIB_DIR)/si/common
1121CFLAGS += -I$(BSEAV_LIB_DIR)/si/scte65
1122CFLAGS += -I$(BSEAV_LIB_DIR)/si/scte65/nit
1123CFLAGS += -I$(BSEAV_LIB_DIR)/si/scte65/ntt
1124CFLAGS += -I$(BSEAV_LIB_DIR)/si/scte65/svct
1125CFLAGS += -I$(BSEAV_LIB_DIR)/si/stt
1126CFLAGS += -I$(BSEAV_LIB_DIR)/si/os
1127CFLAGS += -I$(BSEAV_LIB_DIR)/si/os/ucos
1128CFLAGS += -DCONFIG_SCTE65
1129
1130SKIP_BCM_SRC +=         \
1131                $(BSEAV_LIB_DIR)/si/scte65/svct/si_svct_vcm.c \
1132                $(BSEAV_LIB_DIR)/si/scte65/svct/si_svct.c \
1133                $(BSEAV_LIB_DIR)/si/scte65/ntt/si_ntt.c \
1134                $(BSEAV_LIB_DIR)/si/scte65/ntt/si_ntt_sns.c \
1135                $(BSEAV_LIB_DIR)/si/scte65/nit/si_nit.c \
1136                $(BSEAV_LIB_DIR)/si/scte65/nit/si_nit_cds.c \
1137                $(BSEAV_LIB_DIR)/si/scte65/nit/si_nit_mms.c \
1138                $(BSEAV_LIB_DIR)/si/stt/si_stt.c \
1139                $(BSEAV_LIB_DIR)/si/os/ucos/si_os.c \
1140                $(BSEAV_LIB_DIR)/si/common/si_util.c \
1141                $(BSEAV_LIB_DIR)/si/common/si_dbg.c
1142
1143endif
1144
1145
1146ifeq ($(HAS_SCTE18),y)
1147CFLAGS += -I$(BSEAV_LIB_DIR)/scte_18
1148SKIP_BCM_SRC +=         \
1149                $(BSEAV_LIB_DIR)/scte_18/ts_scte_18.c
1150endif
1151
1152ifeq ($(HAS_SCTE27),y)
1153CFLAGS += -DHAS_SUBTITLE
1154CFLAGS += -I$(BSEAV_LIB_DIR)/scte_27
1155SKIP_BCM_SRC +=  \
1156        $(BSEAV_LIB_DIR)/scte_27/scte_27.c
1157endif
1158
1159ifeq ($(HAS_CAT),y)
1160CFLAGS += -I$(BSEAV_LIB_DIR)/ts_cat
1161SKIP_BCM_SRC +=         \
1162                $(BSEAV_LIB_DIR)/ts_cat/ca_parser.c
1163endif
1164
1165ifeq ($(CONFIG_SPDIF),y)
1166        CFLAGS += -DCONFIG_SPDIF
1167endif
1168
1169ifeq ($(HDCPLIB),y)
1170        CFLAGS += -DHDCPLIB
1171        BHDCPLIB_HDCP_SUPPORT ?=1
1172# HDCPLIB_HSM should not be set if CONFIG_ENABLE_SCM is set
1173ifneq ($(HDCPLIB_HSM),y)
1174CFLAGS += -I$(SOURCE_DIR)/hdcplib
1175# HDCP library
1176SKIP_BCM_SRC += $(SOURCE_DIR)/hdcplib/bhdcplib.c \
1177        $(SOURCE_DIR)/hdcplib/bhdcplib_hdcpkeys.c \
1178        $(SOURCE_DIR)/hdcplib/bhdcplib_keyloader.c
1179else
1180        BHSM_SECURE_KEYLADDER_MK ?=1
1181endif
1182endif
1183
1184ifeq (${HAS_DVB},y)
1185CFLAGS += -DCONFIG_DVB
1186CFLAGS += -I$(SOURCE_DIR)/dvb
1187SKIP_BCM_SRC +=  $(SOURCE_DIR)/dvb/dvb_nit.c \
1188                        $(SOURCE_DIR)/dvb/dvb_sdt.c \
1189                        $(SOURCE_DIR)/dvb/dvb_eit.c \
1190                        $(SOURCE_DIR)/dvb/dvb_tdt.c \
1191                        $(SOURCE_DIR)/dvb/dvb_bat.c \
1192                        $(SOURCE_DIR)/dvb/dvb_smi.c \
1193                        $(SOURCE_DIR)/dvb/dvb_rst.c \
1194                        $(SOURCE_DIR)/dvb/dvb_descriptor.c
1195endif
1196
1197# DVB subtitle rendering is based on ARGB32, CONFIG_GFX_ARGB32 flag is required
1198ifeq (${HAS_DVB_SUBTITLE},y)
1199CFLAGS += -DCONFIG_DVB_SUBTITLE
1200SKIP_BCM_SRC += $(SOURCE_DIR)/dvb/dvb_subtitle.c
1201endif
1202
1203#
1204# Set up for flash xmodem downloader
1205#
1206
1207#BCM_SRC += $(SOURCE_DIR)/app/flash_install.c
1208
1209
1210
1211#
1212# Digital Closed Captioning
1213#
1214ifeq (${HAS_EIA_708},y)
1215CFLAGS += -DCONFIG_EIA_708
1216CFLAGS += -I$(SOURCE_DIR)/dcc
1217CFLAGS += -I$(SOURCE_DIR)/dcc/fonts
1218CFLAGS += -I$(SOURCE_DIR)/dcc/src
1219CFLAGS += -I$(SOURCE_DIR)/dcc/include
1220
1221SKIP_BCM_SRC +=         $(SOURCE_DIR)/dcc/bccwinlib.c \
1222                $(SOURCE_DIR)/dcc/src/bdcc608transcoder.c \
1223                $(SOURCE_DIR)/dcc/src/bdcc_cbuf.c \
1224                $(SOURCE_DIR)/dcc/src/bdcc_coding.c \
1225                $(SOURCE_DIR)/dcc/src/bdcc_coding_c1_handlers.c \
1226                $(SOURCE_DIR)/dcc/src/bdccbits.c \
1227                $(SOURCE_DIR)/dcc/src/bdccengine.c \
1228                $(SOURCE_DIR)/dcc/src/bdccgfx.c \
1229                $(SOURCE_DIR)/dcc/src/bdccint.c \
1230                $(SOURCE_DIR)/dcc/src/bdccintgfx.c \
1231                $(SOURCE_DIR)/dcc/src/bdccpacket.c \
1232                $(SOURCE_DIR)/dcc/src/bdccservice.c \
1233                $(SOURCE_DIR)/dcc/bapp_eia708.c
1234
1235BCM_SRC_OLD_PARSE +=    bcmDccBits.c \
1236                bcmDccTransport.c \
1237                bcmDccTransportMux.c \
1238                bcmDccTransportParse.c
1239
1240ifeq (${HAS_8BIT_FONT},y)
1241ifeq (${NEW_FONT_SET},y)
1242CFLAGS += -DNEW_FONT_SET
1243SKIP_BCM_SRC +=         $(SOURCE_DIR)/dcc/fonts/cinecavB_casual_02_16_aa.c \
1244                $(SOURCE_DIR)/dcc/fonts/cinecavB_casual_02_18_aa.c      \
1245                $(SOURCE_DIR)/dcc/fonts/cinecavB_casual_02_20_aa.c      \
1246                $(SOURCE_DIR)/dcc/fonts/cinecavB_mono_03_16_aa.c        \
1247                $(SOURCE_DIR)/dcc/fonts/cinecavB_mono_03_18_aa.c        \
1248                $(SOURCE_DIR)/dcc/fonts/cinecavB_mono_03_20_aa.c        \
1249                $(SOURCE_DIR)/dcc/fonts/cinecavB_sans_02_16_aa.c        \
1250                $(SOURCE_DIR)/dcc/fonts/cinecavB_sans_02_18_aa.c        \
1251                $(SOURCE_DIR)/dcc/fonts/cinecavB_sans_02_20_aa.c        \
1252                $(SOURCE_DIR)/dcc/fonts/cinecavB_sc_02_16_aa.c          \
1253                $(SOURCE_DIR)/dcc/fonts/cinecavB_sc_02_18_aa.c          \
1254                $(SOURCE_DIR)/dcc/fonts/cinecavB_sc_02_20_aa.c          \
1255                $(SOURCE_DIR)/dcc/fonts/cinecavB_script_02_16_aa.c      \
1256                $(SOURCE_DIR)/dcc/fonts/cinecavB_script_02_18_aa.c      \
1257                $(SOURCE_DIR)/dcc/fonts/cinecavB_script_02_20_aa.c      \
1258                $(SOURCE_DIR)/dcc/fonts/cinecavB_serif_02_16_aa.c       \
1259                $(SOURCE_DIR)/dcc/fonts/cinecavB_serif_02_18_aa.c       \
1260                $(SOURCE_DIR)/dcc/fonts/cinecavB_serif_02_20_aa.c       \
1261                $(SOURCE_DIR)/dcc/fonts/cinecavB_type_03_16_aa.c        \
1262                $(SOURCE_DIR)/dcc/fonts/cinecavB_type_03_18_aa.c        \
1263                $(SOURCE_DIR)/dcc/fonts/cinecavB_type_03_20_aa.c
1264else
1265SKIP_BCM_SRC +=         $(SOURCE_DIR)/dcc/fonts/SFM_20_aa.c \
1266                $(SOURCE_DIR)/dcc/fonts/SFM_24_aa.c \
1267                $(SOURCE_DIR)/dcc/fonts/SFP_20_aa.c \
1268                $(SOURCE_DIR)/dcc/fonts/SFP_24_aa.c \
1269                $(SOURCE_DIR)/dcc/fonts/SSM_20_aa.c \
1270                $(SOURCE_DIR)/dcc/fonts/SSM_24_aa.c \
1271                $(SOURCE_DIR)/dcc/fonts/SSP_20_aa.c \
1272                $(SOURCE_DIR)/dcc/fonts/SSP_24_aa.c \
1273                $(SOURCE_DIR)/dcc/fonts/SCRIPT_20_aa.c \
1274                $(SOURCE_DIR)/dcc/fonts/SCRIPT_24_aa.c \
1275                $(SOURCE_DIR)/dcc/fonts/SC_20_aa.c \
1276                $(SOURCE_DIR)/dcc/fonts/SC_24_aa.c
1277endif
1278else
1279ifeq (${NEW_FONT_SET},y)
1280CFLAGS += -DNEW_FONT_SET
1281SKIP_BCM_SRC +=  $(SOURCE_DIR)/dcc/fonts/cinecavB_casual_02_16_mono.c \
1282        $(SOURCE_DIR)/dcc/fonts/cinecavB_casual_02_18_mono.c  \
1283        $(SOURCE_DIR)/dcc/fonts/cinecavB_casual_02_20_mono.c  \
1284        $(SOURCE_DIR)/dcc/fonts/cinecavB_mono_03_16_mono.c    \
1285        $(SOURCE_DIR)/dcc/fonts/cinecavB_mono_03_18_mono.c    \
1286        $(SOURCE_DIR)/dcc/fonts/cinecavB_mono_03_20_mono.c    \
1287        $(SOURCE_DIR)/dcc/fonts/cinecavB_sans_02_16_mono.c    \
1288        $(SOURCE_DIR)/dcc/fonts/cinecavB_sans_02_18_mono.c    \
1289        $(SOURCE_DIR)/dcc/fonts/cinecavB_sans_02_20_mono.c    \
1290        $(SOURCE_DIR)/dcc/fonts/cinecavB_sc_02_16_mono.c      \
1291        $(SOURCE_DIR)/dcc/fonts/cinecavB_sc_02_18_mono.c      \
1292        $(SOURCE_DIR)/dcc/fonts/cinecavB_sc_02_20_mono.c      \
1293        $(SOURCE_DIR)/dcc/fonts/cinecavB_script_02_16_mono.c  \
1294        $(SOURCE_DIR)/dcc/fonts/cinecavB_script_02_18_mono.c  \
1295        $(SOURCE_DIR)/dcc/fonts/cinecavB_script_02_20_mono.c  \
1296        $(SOURCE_DIR)/dcc/fonts/cinecavB_serif_02_16_mono.c   \
1297                $(SOURCE_DIR)/dcc/fonts/cinecavB_serif_02_18_mono.c       \
1298        $(SOURCE_DIR)/dcc/fonts/cinecavB_serif_02_20_mono.c   \
1299        $(SOURCE_DIR)/dcc/fonts/cinecavB_type_03_16_mono.c    \
1300        $(SOURCE_DIR)/dcc/fonts/cinecavB_type_03_18_mono.c    \
1301        $(SOURCE_DIR)/dcc/fonts/cinecavB_type_03_20_mono.c
1302else
1303SKIP_BCM_SRC +=         $(SOURCE_DIR)/dcc/fonts/SFM_20_mono.c \
1304                $(SOURCE_DIR)/dcc/fonts/SFM_24_mono.c \
1305                $(SOURCE_DIR)/dcc/fonts/SFP_24_mono.c \
1306                $(SOURCE_DIR)/dcc/fonts/SFP_28_mono.c \
1307                $(SOURCE_DIR)/dcc/fonts/SSM_20_mono.c \
1308                $(SOURCE_DIR)/dcc/fonts/SSM_24_mono.c \
1309                $(SOURCE_DIR)/dcc/fonts/SSP_24_mono.c \
1310                $(SOURCE_DIR)/dcc/fonts/SSP_28_mono.c \
1311                $(SOURCE_DIR)/dcc/fonts/SCRIPT_20_mono.c \
1312                $(SOURCE_DIR)/dcc/fonts/SCRIPT_24_mono.c \
1313                $(SOURCE_DIR)/dcc/fonts/SC_20_mono.c \
1314                $(SOURCE_DIR)/dcc/fonts/SC_24_mono.c
1315endif
1316endif
1317endif
1318
1319ifeq ($(HAS_VBI),y)     ## USED
1320        BCM_SRC +=      ${BSEAV_DIR}/lib/scte_127/bapp_amol.c           \
1321                        ${BSEAV_DIR}/lib/scte_127/bapp_gs.c                             \
1322                        ${BSEAV_DIR}/lib/scte_127/pes_scte_127.c                \
1323                        ${BSEAV_DIR}/lib/scte_127/pmt_desc_scte_127.c   \
1324                        ${BSEAV_DIR}/lib/scte_127/scte_127.c
1325        CFLAGS += -I$(BSEAV_DIR)/lib/scte_127 -DHAS_VBI -DBVBI_P_GEMSTAR_OPTIONS_STRUCT
1326endif
1327#
1328# Test modules
1329#
1330ifeq ($(CONFIG_BSD),y)          ## N-U
1331BSD_DIR = $(SOURCE_DIR)/bsd
1332
1333CFLAGS += -I$(BSD_DIR) -DCONFIG_BSD
1334BCM_SRC +=      $(BSD_DIR)/BsdTest.c \
1335                $(BSD_DIR)/bsd.c \
1336                $(BSD_DIR)/bhsm_priv.c \
1337                $(BSD_DIR)/bxpt_rave_ihex.c \
1338                $(BSD_DIR)/bxpt_rom_api.c \
1339                $(BSD_DIR)/security_functions.c
1340endif
1341
1342ifeq ($(CONFIG_MEM2MEM),y)              ## N-U
1343MEM2MEM_DIR     = $(SOURCE_DIR)/mem2mem
1344
1345CFLAGS += -I$(MEM2MEM_DIR) -DCONFIG_MEM2MEM
1346CFLAGS += -DCONFIG_MEM2MEM_TEST
1347BCM_SRC +=      $(MEM2MEM_DIR)/bxpt_rom_api.c \
1348                $(MEM2MEM_DIR)/bxpt_rave_ihex.c
1349
1350endif
1351
1352ifeq (${HAS_NOVCHIP_SD},y)              ## N-U
1353CFLAGS += -DCONFIG_NOVCHIP_SD
1354endif
1355ifeq (${HAS_NOCC_SD},y)                         ## N-U
1356CFLAGS += -DCONFIG_NOCC_SD
1357endif
1358
1359
1360ifeq ($(ENABLE_UMESSAGE),y)             ## N-U
1361CFLAGS += -I$(SOURCE_DIR)/udtam -DENABLE_UMESSAGE
1362endif
1363
1364#
1365# Power management code
1366#
1367#BCM_SRC += bpwr.c birw.c
1368
1369ifeq (${NTV_SIMULATOR},y)
1370CFLAGS += -DDISPLAY_NTSC=1
1371else
1372ifeq (${USE_NEXUS},n)
1373BCM_SRC += $(SOURCE_DIR)/gist/gist.c
1374CFLAGS += -I$(SOURCE_DIR)/gist -DDISPLAY_NTSC=1
1375else
1376CFLAGS += -DDISPLAY_NTSC=1
1377endif
1378endif
1379
1380AOV_SDRAM_1G ?= n
1381ifeq (${AOV_SDRAM_1G},y)
1382CFLAGS += -DCONFIG_AOV_SDRAM_1G
1383endif
1384
1385ifeq ($(HAS_VSB),y)     ## USED
1386
1387BVSB_CHIP := 3520
1388
1389CFLAGS += -DCONFIG_VSB -I$(SOURCE_DIR)/settop_api/vsb
1390ifeq (${TUNER_TEST},y)
1391CFLAGS += -DCONFIG_TUNER_TEST
1392endif
1393
1394NXP_TDA182I4 ?= y
1395
1396ifeq (${NXP_TDA182I4},y)        ## USED
1397CFLAGS += -DCONFIG_NXP_TDA182I4
1398
1399CFLAGS += -I$(SOURCE_DIR)/settop_api/NXP_TDA182I4/inc
1400CFLAGS += -I$(SOURCE_DIR)/settop_api/NXP_TDA182I4/tmbslTDA182I4
1401
1402BCM_SRC += \
1403        $(SOURCE_DIR)/settop_api/NXP_TDA182I4/tmbslTDA182I4/tmbslTDA182I4.c \
1404        $(SOURCE_DIR)/settop_api/NXP_TDA182I4/tmbslTDA182I4/tmbslTDA182I4_Instance.c\
1405        $(SOURCE_DIR)/settop_api/NXP_TDA182I4/tmbslTDA182I4/tmbslTDA182I4_RegDef.c
1406endif
1407
1408BCM_SRC += \
1409        $(SOURCE_DIR)/settop_api/bsettop_tuner_vsb.c \
1410        $(SOURCE_DIR)/settop_api/vsb/bcm3520ap_a1.c \
1411        $(SOURCE_DIR)/settop_api/vsb/bcm3520ap_b0.c
1412       
1413BCM_SRC += $(ROCKFORD_DIR)/bsp/bcm9$(BCHP_CHIP)/common/int1.c
1414CFLAGS += -I$(ROCKFORD_DIR)/bsp/bcm9$(BCHP_CHIP)/common
1415
1416endif   #HAS_VSB
1417
1418#
1419# ISDB-T tuner/demod support
1420#
1421ifeq ($(HAS_ISDBT),y)
1422
1423CFLAGS += -DCONFIG_ISDB
1424# to debug the tuner only
1425ifeq (${TUNER_TEST},y)
1426CFLAGS += -DCONFIG_TUNER_TEST
1427endif
1428
1429ifeq ($(ISDB_MY_FREQ),y)
1430        CFLAGS += -DCONFIG_ISDB_MY_FREQ
1431endif
1432
1433BCM_SRC += \
1434    $(SOURCE_DIR)/settop_api/bsettop_tuner_isdb.c
1435
1436BCM_SRC += $(ROCKFORD_DIR)/bsp/bcm9$(BCHP_CHIP)/common/int1.c
1437CFLAGS += -I$(ROCKFORD_DIR)/bsp/bcm9$(BCHP_CHIP)/common
1438
1439endif   #HAS_ISDBT
1440
1441#
1442# QAM tuner/demod support
1443#
1444ifeq ($(HAS_QAM),y)
1445        ifeq ($(USE_NEXUS),y)
1446                ## don't include
1447        else
1448                BCM_SRC += $(SOURCE_DIR)/settop_api/bsettop_tuner.c
1449        endif
1450endif   #HAS_QAM
1451
1452FCC_OBJS = $(FCC_DIR)/vprimer.o
1453CFLAGS += -DCONFIG_AVC_FCC
1454FCC_OBJS += $(BSEAV_DIR)/lib/utils/bvlc.o
1455LIB_DIR = $(DTA_DIR)/lib
1456CFLAGS += -I$(BSEAV_DIR)/lib/utils
1457
1458#
1459# Soft floating point
1460#
1461SOFT_FP_LIB = $(LIB_DIR)/soft-fp.a
1462
1463#
1464#  PI Modules
1465#
1466CFLAGS += -DBSTD_CPU_ENDIAN=BSTD_ENDIAN_LITTLE
1467
1468ifeq (${NTV_SIMULATOR},y)
1469
1470### ifeq (${NTV_SIMULATOR},y)
1471else
1472ifeq (${OS},ucos_ii)
1473
1474include ucos.mk
1475endif
1476
1477
1478ifeq (${BUILD_GP},y)            ## N-U
1479CFLAGS += -DCONFIG_GP -DNEW_PAIR_GUI
1480include gp.mk
1481else
1482# if don't have source, but still need header files
1483ifeq (${WITH_GP},y)                     ## N-U
1484CFLAGS += -DCONFIG_GP -DNEW_PAIR_GUI
1485include gp.mk
1486else
1487endif
1488endif
1489
1490ifeq ($(USE_NEXUS),n)
1491include magnum.mk
1492endif ## ifeq ($(USE_NEXUS),n
1493
1494ifeq (${HAS_LWIP},y)            ## N-U
1495include lwip.mk
1496endif
1497
1498### ifeq (${NTV_SIMULATOR},y)
1499endif
1500
1501#
1502# Include path definitions
1503#
1504
1505BCM_INCLUDE     = $(patsubst %,-I%,$(subst :, ,$(BCM_VPATH)))
1506
1507#
1508# more CFLAG defines
1509#
1510
1511CFLAGS += $(BCM_INCLUDE) -I./ -DMEMCOPY -DBKNI_TRACK_MALLOCS=0
1512
1513#
1514# 3560 Driver obj files
1515#
1516
1517BCM_OBJS = $(BCM_SRC:.c=.o)
1518BCM_ASM_OBJS += $(BCM_ASM_SRC:.S=.o)
1519
1520ifeq (${ENABLE_APP},n)
1521        CFLAGS += -DDEBUG_APP
1522endif
1523
1524BCM_LIB_OBJS = $(LIB_DIR)/libres.a
1525
1526ifeq (${HAS_EIA_708},y) ## USED
1527SKIP_BCM_LIB_OBJS += $(LIB_DIR)/libdcc.a
1528endif
1529
1530ifeq (${NTV_SIMULATOR},y)
1531
1532
1533else
1534ifeq (${OS},ucos_ii)
1535BCM_LIB_OBJS += $(LIB_DIR)/libucos_ii.a \
1536        $(LIB_DIR)/libfcc.a $(SOFT_FP_LIB) 
1537ifeq ($(USE_NEXUS),y)
1538BCM_LIB_OBJS += $(BCM_NLIB_OBJS)
1539else
1540BCM_LIB_OBJS += $(LIB_DIR)/libmagnum.a
1541endif
1542
1543endif
1544ifeq (${HAS_LWIP},y)
1545BCM_LIB_OBJS += $(LIB_DIR)/liblwip.a
1546endif
1547
1548ifeq ($(NEWLIB),y)      ## N-U
1549BCM_LIB_OBJS += $(NEWLIB_DIR)/soft-float/el/libstdc++.a
1550BCM_LIB_OBJS += $(NEWLIB_DIR)/soft-float/el/libc.a 
1551BCM_LIB_OBJS += $(NEWLIB_DIR)/soft-float/el/libgcc.a 
1552#BCM_LIB_OBJS += $(NEWLIB_DIR)/soft-float/el/libsupc++.a
1553LDFLAGS += -nodefaultlibs -nostartfiles -static -L$(NEWLIB_DIR)/soft-float/el
1554endif
1555
1556ifeq (${HAS_MIPS_AUDIO},y)      ## N-U
1557BCM_LIB_OBJS += ${AUDIO_LIB}
1558endif
1559
1560
1561ifeq (${BUILD_GP},y)    ## N-U
1562BCM_LIB_GP_OBJS = $(LIB_DIR)/libgp.a $(GPLIBS)
1563LDFLAGS_GP = --no-whole-archive --start-group $(BCM_LIB_GP_OBJS) --end-group
1564else
1565ifeq (${WITH_GP},y)
1566BCM_LIB_GP_OBJS = $(LIB_DIR)/libgp.a $(GPLIBS)
1567LDFLAGS_GP = --no-whole-archive --start-group $(BCM_LIB_GP_OBJS) --end-group
1568endif
1569endif
1570
1571### ifeq (${NTV_SIMULATOR},y)
1572endif
1573
1574SYM_OBJ = $(SYM_SRC:%.c=%.o)
1575SYM_INC = $(SYM_SRC:%.c=%.inc)
1576
1577BCM_DEPENDS := $(BCM_OBJS:.o=.d) $(BCM_ASM_OBJS:.o=.d)
1578
1579${SYM_OBJ} : ${SYM_SRC} $(filter-out $(SYM_OBJ),$(BCM_OBJS) ${BCM_ASM_OBJS})
1580        ${ECHO} Building symbol table $<
1581        ${QUIET}# compile  empty sym-table and link with it
1582        ${QUIET}${RM) ${SYM_INC}
1583        ${QUIET}echo '/* */' >${SYM_INC}
1584        ${QUIET}$(CC) $(CFLAGS) -I. -c $< -o $(notdir $@)
1585        ${QUIET}$(LD) $(LDFLAGS) $(BCM_OBJS) $(BCM_ASM_OBJS) $(SOFT_FP_LIB) -o ${TARGET}.elf.sym
1586        ${QUIET}# compile with real sym-table but possibly wrong offsets
1587        ${QUIET}${RM) ${SYM_INC}
1588        ${QUIET}${NM} -f bsd -n --defined-only ${TARGET}.elf.sym|grep -v "_ftext"|awk  '/.* [Tt] .*/ {printf "B_SYM(0x%su,%s)\n",$$1,$$3}' >${SYM_INC}
1589        $(QUIET)$(CC) $(CFLAGS) -I. -c $< -o $(notdir $@)
1590        ${QUIET}${RM} ${SYM_INC}
1591        ${QUIET}$(LD) -Map $(TARGET).map.sym $(LFLAGS) $(BCM_OBJS) $(BCM_ASM_OBJS) $(SOFT_FP_LIB) -o ${TARGET}.elf.sym
1592        ${QUIET}# build real symtable and compile with it
1593        ${QUIET}${NM} -f bsd -n --defined-only ${TARGET}.elf.sym|grep -v "_ftext"|awk  '/.* [Tt] .*/ {printf "B_SYM(0x%su,%s)\n",$$1,$$3}' >${SYM_INC}
1594        $(QUIET)$(CC) $(CFLAGS) -I. -c $< -o $(notdir $@)
1595        ${QUIET}${MV} ${SYM_INC} $(SYM_INC:%.inc=%.sym)
1596
1597
1598$(PLATFORM)_sim: $(BCM_OBJS) $(BCM_LIB_OBJS)
1599        $(CC) $(CFLAGS) -o $@ $(BCM_OBJS) $(BCM_LIB_OBJS) `pkg-config --libs gtk+-2.0` -lpthread
1600
1601ENTRY_SRC += dst_main.c
1602ENTRY_OBJS = $(ENTRY_SRC:.c=.o)
1603
1604api:
1605        @echo Building nexus API  $(BCM_VARIABLES) 
1606        $(MAKE) $(BCM_VARIABLES) -C $(NEXUS_TOP)/build
1607
1608nexus_clean:
1609        $(MAKE) $(BCM_VARIABLES) -C $(NEXUS_TOP)/build clean
1610       
1611$(PLATFORM)_dta_nexus: $(BCM_OBJS) $(BCM_LIB_OBJS) $(BCM_LIB_GP_OBJS)
1612        $(CC) $(CFLAGS) -lnexus -L${NEXUS_TOP}/bin -lpthread -lm -o $@ $(BCM_OBJS) $(LDFLAGS_GP) $(BCM_LIB_OBJS) 
1613
1614$(TARGET).elf: $(BCM_OBJS) $(BCM_ASM_OBJS) $(BCM_LIB_OBJS) $(BCM_LIB_GP_OBJS) $(DST_LIB_OBJS) $(ENTRY_OBJS)
1615        ${QUIET}$(LD) -Map $(TARGET).map $(LDFLAGS) $(BCM_ASM_OBJS) $(BCM_OBJS) $(LDFLAGS_GP) $(BCM_LIB_OBJS) $(DST_LIB_OBJS) $(ENTRY_OBJS) -o $@
1616
1617$(TARGET).bin: $(TARGET).elf
1618        $(CROSS_COMPILE)objcopy -S -O binary $(TARGET).elf $(TARGET).bin
1619#       $(CROSS_COMPILE)objdump -D $(TARGET).elf > $(TARGET).dis
1620
1621
1622#%.o: %.cpp
1623#       $(ECHO) "[compile C++ $(notdir $<)]"
1624#       $(QUIET)$(CXX) $(CFLAGS) -c $< -o $@
1625
1626%.o: %.c
1627        $(ECHO) "[compile C $(notdir $<)]"
1628        $(QUIET)$(CC) $(CFLAGS) -c $< -o $@
1629
1630%.o: %.S
1631        $(ECHO) "[compile S $(notdir $<)]"
1632        $(QUIET)$(CC) $(ASFLAGS) -c $< -o $@
1633
1634clean:  bootloader_clean flash_clean clean_dst
1635        $(RM) -f $(TARGET) *.gz *.o_* *.sym *.map *~ core *.elf *.bin *.dis *.lst $(BCM_OBJS) $(BCM_ASM_OBJS) $(BCM_DEPENDS)
1636
1637# clean everything other than the libraries that the end user can't build
1638dist_clean:
1639        $(RM) -f $(TARGET) *.gz *.o_* *.sym *.map *~ core *.elf *.bin *.dis *.lst $(BCM_OBJS) $(BCM_ASM_OBJS) $(BCM_DEPENDS) $(LIB_DIR)/libmagnum.a $(SOURCE_DIR)/bootloader7574/bootloader.bin
1640        $(QUIET)find $(TOP_DIR) \
1641                \( -name '*.orig' -o -name '*.rej' -o -name '*~' \
1642                -o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \
1643                -o -name '.*.rej' -o -size 0 -o -name '*.elf' \
1644                -o -name '*%' -o -name '*.o' -o -name '*.d' -o -name 'tags' \) \
1645                -type f -print | xargs $(RM) -f
1646
1647ifeq (${BUILD_MIPS_AC3},y)
1648        $(RM) -f ${AUDIO_FLAG}
1649endif
1650
1651ifeq ($(BUILD_LIBFCC),y)
1652$(LIB_DIR)/libfcc.a : $(FCC_OBJS) $(foreach obj, $(FCC_OBJS), $(subst object,$(obj), $(LIB_DIR)/libfcc.a(object)))
1653
1654clean_fcc :
1655        $(RM) -f $(LIB_DIR)/libfcc.a
1656
1657clean : clean_fcc
1658
1659endif
1660
1661JAR_BINARY = $(SOURCE_DIR)/jar/jar.bin
1662
1663jar : $(JAR_BINARY) $(TARGET).gz $(TARGET)_jar.bin
1664
1665$(TARGET).gz : $(TARGET).bin
1666# compress image and pad it to 0x40 byte boundary
1667        gzip -cn -9 $< | dd bs=64 conv=sync > $@
1668$(TARGET)_jar.bin : $(TARGET).gz
1669        cat $(JAR_BINARY) $< > $@
1670$(JAR_BINARY) :
1671        make -C $(SOURCE_DIR)/jar clean all
1672
1673bootloader : $(SOURCE_DIR)/bootloader7574/bootloader.bin
1674
1675ifeq ($(ENABLE_MEMSYSINIT),y)
1676BOOTLOADER_MAKEFILE = bootloader2.mk
1677else
1678BOOTLOADER_MAKEFILE = bootloader.mk
1679endif
1680$(SOURCE_DIR)/bootloader7574/bootloader.bin :
1681        make -C $(SOURCE_DIR)/bootloader7574 -f $(BOOTLOADER_MAKEFILE) HAS_STANDBY=$(HAS_STANDBY) USERIO_ID=$(USERIO_ID) ENABLE_AVS=$(ENABLE_AVS)
1682
1683bootloader_clean :
1684        make -C $(SOURCE_DIR)/bootloader7574 -f $(BOOTLOADER_MAKEFILE) clean
1685
1686# To build comple flash we need to:
1687# - build bootloader stages 1 and 2
1688# - generate fake signature
1689# - pad bootloader to 192K
1690# - build compressed image
1691# - generate image headers
1692# - concatenate padded bootloader | image headers | comressed image | fake signature
1693flash$(PLATFORM).bin : bootloader-192k.bin $(TARGET).gz fake.sig
1694        python $(DTA_DIR)/src/bootloader7574/makeheaders.py 1 $(TARGET).gz
1695        cat bootloader-192k.bin bootheader.bin appheader.bin $(TARGET).gz fake.sig > $@
1696       
1697flash$(PLATFORM)_nexus.bin : bootloader-192k.bin $(TARGET).gz fake.sig
1698        python $(DTA_DIR)/src/bootloader7574/makeheaders.py 1 $(TARGET).gz
1699        cat bootloader-192k.bin bootheader.bin appheader.bin $(TARGET).gz fake.sig > $@
1700
1701flash$(PLATFORM).gz : flash$(PLATFORM).bin
1702        gcc ../../../zas_dstar/candidates/bin2ts.cpp -o bin2ts.exe
1703        ./bin2ts.exe $(MODEL_NAME) $(SW_VERSION) $< $<.ts
1704        rm -rf  bin2ts.exe
1705        rm -rf  cvt_*
1706        gcc ../../../zas_dstar/candidates/makeCVT.c -o makeCVT.exe
1707#       ./makeCVT.exe DST N3KR  0  $(SW_FULL_VERSION) 0 639 2 3554 14 $<
1708#       ./makeCVT.exe DST N3KR  0  $(SW_FULL_VERSION) 1 639 2 3554 14 $<
1709#       ./makeCVT.exe DST N3KR  0  $(SW_FULL_VERSION) 2 639 2 3570 14 $<
1710        ./makeCVT.exe DST N3KR  0  $(SW_FULL_VERSION) 2 405 2 8160 14 $<
1711        rm -rf  makeCVT.exe
1712       
1713        gcc ../../../zas_dstar/candidates/makeOTC.cpp -o makeOTC.exe
1714        ./makeOTC.exe cvt_ne_0.$(SW_FULL_VERSION) 8160 $< 8160 OTC_0.$(SW_FULL_VERSION).ts
1715        rm -rf  makeOTC.exe
1716       
1717#       gcc ../../../zas_dstar/candidates/tsmux.cpp -o tsmux.exe
1718#       ./tsmux.exe $<.ts KBS.tp $<.kbs.ts
1719        gzip -cn -9 $< > $@
1720
1721flash$(PLATFORM)_nexus.gz : flash$(PLATFORM)_nexus.bin
1722        gzip -cn -9 $< > $@
1723
1724flash_clean :
1725        $(RM) -f flash$(PLATFORM).bin flash$(PLATFORM).gz
1726
1727fake.sig: $(SOURCE_DIR)/bootloader7574/bootloader.bin
1728        dd if=$(SOURCE_DIR)/bootloader7574/bootloader.map of=$@ bs=256 count=1
1729
1730bootloader-192k.bin : $(SOURCE_DIR)/bootloader7574/bootloader.bin
1731        dd if=$< of=$@ bs=192k count=1 conv=sync
1732
1733bootloader.bin.gz : bootloader.bin
1734        gzip -c -9 $< > bootloader.bin.gz
1735
1736bootloader_jflu.bin : ../src/jflu/jflu.bin bootloader.bin.gz
1737        cat $^ > $@
1738
1739jflu : flash$(PLATFORM)_jflu.bin
1740
1741flash$(PLATFORM)_jflu.bin : ../src/jflu/jflu.bin flash$(PLATFORM).gz
1742        cat $^ > $@
1743
1744
1745clean_all :     clean clean_res clean_dcc clean
1746        @cd $(TOP_DIR)/;find . -name "*.d" |xargs rm;
1747        @cd $(TOP_DIR)/;find . -name "*.o" |xargs rm;
1748        @cd $(MAGNUM_DIR)/portinginterface/;rm ape -rf;tar xzf ape.tgz;
1749        @cd $(MAGNUM_DIR)/basemodules/;rm dsp -rf;tar xzf dsp.tgz;
1750        echo 'Clean All...'
1751
1752ifeq ($(QUIET),@)
1753$(info =================================================================================)
1754$(info =   quite build mode. if you want build command, use "$ make Q_= .." command. )
1755$(info =================================================================================)
1756$(warning *** Warning:  BCHP_CHIP is  ($(BCHP_CHIP)))
1757endif
1758
1759#
1760# Include all the depends
1761#
1762-include $(BCM_DEPENDS)
Note: See TracBrowser for help on using the repository browser.