source: svn/newcon3bcm2_21bu/dst/build/makefile @ 45

Last change on this file since 45 was 45, checked in by megakiss, 11 years ago
  • 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        ./makeCVT.exe DST N3KR  0  $(SW_FULL_VERSION) 2 369 2 8160 14 $<
1712        rm -rf  makeCVT.exe
1713       
1714        gcc ../../../zas_dstar/candidates/makeOTC.cpp -o makeOTC.exe
1715        ./makeOTC.exe cvt_ne_0.$(SW_FULL_VERSION) 8160 $< 8160 OTC_0.$(SW_FULL_VERSION).ts
1716        rm -rf  makeOTC.exe
1717       
1718#       gcc ../../../zas_dstar/candidates/tsmux.cpp -o tsmux.exe
1719#       ./tsmux.exe $<.ts KBS.tp $<.kbs.ts
1720        gzip -cn -9 $< > $@
1721
1722flash$(PLATFORM)_nexus.gz : flash$(PLATFORM)_nexus.bin
1723        gzip -cn -9 $< > $@
1724
1725flash_clean :
1726        $(RM) -f flash$(PLATFORM).bin flash$(PLATFORM).gz
1727
1728fake.sig: $(SOURCE_DIR)/bootloader7574/bootloader.bin
1729        dd if=$(SOURCE_DIR)/bootloader7574/bootloader.map of=$@ bs=256 count=1
1730
1731bootloader-192k.bin : $(SOURCE_DIR)/bootloader7574/bootloader.bin
1732        dd if=$< of=$@ bs=192k count=1 conv=sync
1733
1734bootloader.bin.gz : bootloader.bin
1735        gzip -c -9 $< > bootloader.bin.gz
1736
1737bootloader_jflu.bin : ../src/jflu/jflu.bin bootloader.bin.gz
1738        cat $^ > $@
1739
1740jflu : flash$(PLATFORM)_jflu.bin
1741
1742flash$(PLATFORM)_jflu.bin : ../src/jflu/jflu.bin flash$(PLATFORM).gz
1743        cat $^ > $@
1744
1745
1746clean_all :     clean clean_res clean_dcc clean
1747        @cd $(TOP_DIR)/;find . -name "*.d" |xargs rm;
1748        @cd $(TOP_DIR)/;find . -name "*.o" |xargs rm;
1749        @cd $(MAGNUM_DIR)/portinginterface/;rm ape -rf;tar xzf ape.tgz;
1750        @cd $(MAGNUM_DIR)/basemodules/;rm dsp -rf;tar xzf dsp.tgz;
1751        echo 'Clean All...'
1752
1753ifeq ($(QUIET),@)
1754$(info =================================================================================)
1755$(info =   quite build mode. if you want build command, use "$ make Q_= .." command. )
1756$(info =================================================================================)
1757$(warning *** Warning:  BCHP_CHIP is  ($(BCHP_CHIP)))
1758endif
1759
1760#
1761# Include all the depends
1762#
1763-include $(BCM_DEPENDS)
Note: See TracBrowser for help on using the repository browser.