source: svn/trunk/newcon3bcm2_21bu/dta/build/makefile @ 2

Last change on this file since 2 was 2, checked in by jglee, 11 years ago

first commit

  • Property svn:executable set to *
File size: 32.6 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
26TOP_DIR         := $(shell cd ../../ ; /bin/pwd)
27
28AOV_MODEL               ?= 0
29
30#
31# Software version number MAJOR_VERSION.MINOR_VERSION.SUB_VERSION
32# Major number can be in the range from 0 to 7
33# Minor number can be in the range 0 to 31
34# Sub version  can be in the range 0 to 15
35#
36
37MAJOR_VERSION   ?= 5
38MINOR_VERSION   ?= 0
39SUB_VERSION     ?= 1
40
41ALCO_VERSION1   ?= 0
42ALCO_VERSION2   ?= 7
43
44#
45#
46#
47ROM_CHECKSUM    ?= 0x00000000
48
49#
50# Configuration for default build
51#
52
53PLATFORM        = 97574
54
55#
56# To suppress the display all make commands
57#
58
59#QUIET          = @
60QUIET           =
61
62#
63# To build in debug support
64#
65
66DEBUG                   ?= y
67export DEBUG
68
69SCREENSAVER ?= y
70ifeq (${SCREENSAVER},y)
71CFLAGS                          += -DCONFIG_SCREENSAVER
72endif
73
74#
75# enable AVS as default
76#
77ENABLE_AVS ?= n
78
79#
80# Use MemsysInitLib instead of older shmoo libraries
81#
82ENABLE_MEMSYSINIT ?= y
83
84#
85# enable STANDBY as default
86#
87HAS_STANDBY ?= y
88
89#
90# Dolby logo without extra D
91#
92DOLBY_LOGO_NO_D ?= y
93
94#
95# Types of applications
96#
97# dta/nanotv/ntia
98#
99APP_TYPE                ?= ntia
100
101#
102# To use memory checker
103#
104HAS_MRC                 ?=n
105
106#
107# To include profiling support
108#
109
110PROFILE                 ?=n
111
112#
113# Include EIA 708 CC rendering
114#
115
116HAS_EIA_708             ?= y
117#
118# use new smaller font set and will support 3 font set display
119NEW_FONT_SET    ?= y
120
121#
122# EXTERNAL VSB
123#
124ifeq (${APP_TYPE},ntia)
125HAS_VSB                 ?=y
126else
127HAS_VSB                 ?=n
128endif
129
130#
131# VBI (AMOL/GS)
132#
133
134HAS_VBI                 ?=y
135
136#
137# Include SCTE65 parsing rendering
138#
139
140#
141# Include Subtitle parsing and rendering
142#
143HAS_SCTE27              ?=n
144
145HAS_SCTE65              ?= y
146
147HAS_SCTE18              ?=y
148HAS_CAT                 ?=y
149
150HAS_WATCHDOG            ?=y
151
152HAS_DVB                 ?=n
153HAS_DVB_SUBTITLE?=n
154
155HAS_NOVCHIP_SD ?= n
156HAS_NOCC_SD ?=n
157
158SHRINK_WIDTH =n
159
160#
161# Aqua menu, for customers that want to diable it, please change it to n
162#
163HAS_AQUA_MENU ?=y
164
165#
166# Include PSIP parsing rendering
167#
168
169HAS_ATSC_PSIP           ?= y
170
171#
172# Select remote protocol.
173#
174#       0 - Remote A
175#       1 - Twirp,XMP
176#       4 - ARC-xxx
177#       5 - RCA
178#       3 - Remote B
179#       8 - Motorola
180#       10 - NEC based IR remote (MA-35K)
181#       11 - NEC based IR remote
182#       12 - NEC based IR remote
183#       15 - DST NEC based IR remote
184
185USERIO_ID               ?= 8
186
187#
188# build SHMOO lib. Please change DDR_FREQ_MHZ in bootloader.mk accordingly for the DDR speed to build (333, 400 and 533)
189#
190BUILD_SHMOO             ?= n
191
192#
193# SCM and CA support
194#
195HAS_SCM ?= n
196
197#
198# Draw audio power level
199#
200HAS_AUD_PWR ?= n
201#
202# Since platform.inc define CFLAGS it is important it be included before any other CFLAGS are set.
203#
204USE_NEXUS ?= n
205OS                      ?= ucos_ii
206
207include platform.inc
208
209TUNER_TEST ?= n
210
211#
212# use 32 bit for Aspect Ratio manipulation
213CFLAGS  += -DBVDC_UINT32_ONLY=1
214
215#
216## include ACB612 defines
217#
218ifeq (${APP_TYPE},ntia)
219
220CONFIG_ENABLE_SHMOO             = y
221CONFIG_ENABLE_UART              = y
222CONFIG_ENABLE_FAST_UART = n
223CONFIG_ENABLE_REG_RW    = n
224
225ENABLE_APP                              = y
226ENABLE_TESTS                    = n
227
228HAS_SCTE65                              = n
229HAS_ATSC_PSIP                   = y
230HAS_ATSC                                = y
231HAS_AVL                                 = y
232DEBUG                                   = y
233
234# RGB surface, 8 bit font (gray scale)
235CONFIG_BGFX_SURF_RGB    = y
236CONFIG_8BIT_FONT                = y
237VIDEO_SCALING_SUPPORT   = y
238
239# anything that specific to ACB612/ACB613 board
240CFLAGS  += -DACB612
241CFLAGS  += -DNO_VCHIP
242
243# anything that specific to ACB612/ACB613 board
244ifeq (${ACB615},y)
245CFLAGS  += -DACB615 -DHAS_HDMI
246endif
247
248endif
249
250
251CFLAGS += -DAOV_MODEL=$(AOV_MODEL)
252
253#
254# SCTE-65 defines
255#
256
257ifeq (${HAS_SCTE65}, y)
258
259#
260# Enable/Disable DTA Cable mode.
261#
262
263# Power Monitor
264
265ifeq (${NTV_SIMULATOR},y)
266TEST_BFDS = y
267CFLAGS += -DSIMULATOR
268ifeq (${APP_TYPE},nanotv)
269CFLAGS += -DAPP_TYPE_NANOTV
270else
271ifeq (${APP_TYPE},ntia)
272CFLAGS += -DAPP_TYPE_NTIA
273else
274CFLAGS += -DAPP_TYPE_DTA
275endif
276endif
277else
278CFLAGS     += -DCONFIG_MONITOR_PVT -DCONFIG_SMARTCARD_TEST
279endif
280
281# For inital SCTE-65 test streams set CONFIG_NETWORK_PID to 0x777
282
283CFLAGS                          += -DCONFIG_NETWORK_PID=0x1FFC -DDEF_VERSION=0x00000011
284ifeq (${SCREENSAVER},y)
285CFLAGS                          += -DCONFIG_DTA_CABLE -DCONFIG_SCREENSAVER -DCONFIG_COMCAST_BUILD
286else
287CFLAGS                          += -DCONFIG_DTA_CABLE -DCONFIG_COMCAST_BUILD
288endif
289CFLAGS                          += -DDOWNLOAD_FLASH_OFFSET=0x68000
290CFLAGS                          += -DCONFIG_CUSTOMER_PASSWD=0x09070301  # 1379
291
292#
293# TUNER_BAND for historical reasons is actualy which parser to use and
294# PARSER_BAND is actualy the input source of the parser */
295#
296CFLAGS                          += -DTUNER_BAND=0               # IB0: On chip ISDB-T demodulator
297ifeq (${BCHP_CHIP},7552)
298CFLAGS                          += -DPARSER_BAND=1
299else
300CFLAGS                          += -DPARSER_BAND=3
301endif
302
303#
304#  NEXUS Defines normalin in platform header file in Nexus build
305#
306CFLAGS                          += -DNEXUS_NUM_AUDIO_DECODERS=3
307CFLAGS                          += -DCONFIG_HAS_AUDIO=1
308#
309# Enable all the following to meet NEW UDTA Spec Requirements
310#
311CFLAGS                          += -DCONFIG_REQUIRE_CAT
312
313# To IGNORE VCT ID set CONFIG_DEF_VCT_ID=0xFFFF
314
315CFLAGS                          += -DCONFIG_DEF_VCT_ID=0xF100
316CFLAGS                          += -DCONFIG_DEF_EMM_PID=0x1FF0
317
318# Vendor and Hardware ID
319CFLAGS                          += -DDEF_VENDOR_ID=0x0FACED     # 3 bytes
320CFLAGS                          += -DDEF_HARDWARE_ID=$(PLATFORM)
321CFLAGS                          += -DDEF_VENDOR_NAME=\"Broadcom\"
322
323endif  ### ifeq (${HAS_SCTE65}, y) ###
324
325ifeq (${APP_TYPE},ntia)
326CFLAGS                          += -DFOR_NTIA
327CFLAGS                          += -DDEF_VENDOR_ID=0x612
328ifeq (${SCREENSAVER},y)
329CFLAGS                          += -DCONFIG_SCREENSAVER
330endif
331CFLAGS                          += -DDEF_HARDWARE_ID=$(PLATFORM)
332CFLAGS                          += -DDEF_VENDOR_NAME=\"Broadcom\"
333CFLAGS                          += -DCONFIG_NETWORK_PID=0x1FFB -DDEF_VERSION=0x00000001
334CFLAGS                          += -DTUNER_BAND=0 -DPARSER_BAND=5
335CFLAGS                          += -DNTIA_UI
336
337ifeq (${TUNER_DEBUG},y)
338CFLAGS                          += -DTUNER_DEBUG
339endif
340
341ifeq (${HAS_AQUA_MENU},y)
342CFLAGS                          += -DCONFIG_AQUA_MENU
343endif
344
345HAS_4M_FLASH ?= n
346ifeq (${HAS_4M_FLASH},y)
347endif
348
349# if use 7542 board
350CFLAGS                          += -DUSE_7542_BOARD
351endif
352
353ifeq ($(SHRINK_WIDTH),y)
354CFLAGS                          += -DSHRINK_WIDTH
355endif
356
357ifeq (${HAS_SCM}, y)
358CFLAGS += -DCONFIG_ENABLE_SCM=1
359endif
360#
361# Definitions that define chip and board configuration
362#
363
364
365#
366# Tool definitions
367#
368
369ECHO            =       $(QUIET)echo
370
371#
372# Root directories where sources reside
373#
374
375DTA_DIR                 = $(TOP_DIR)/dta
376BUILD_DIR               = $(DTA_DIR)/build
377SOURCE_DIR              = $(DTA_DIR)/src
378SIM_DIR                 = $(SOURCE_DIR)/sim
379MAGNUM_DIR              = $(TOP_DIR)/magnum
380ROCKFORD_DIR    = $(TOP_DIR)/rockford
381BSEAV_DIR               = $(TOP_DIR)/BSEAV
382BCMBIN_DIR              = $(TOP_DIR)/dta/bin
383SYSLIB_DIR              = $(MAGNUM_DIR)/syslib
384#
385# Defines important to PI Module
386#
387
388
389MAGNUM                  = $(MAGNUM_DIR)
390
391#
392# Source directories
393#
394
395OS_DIR          = $(SOURCE_DIR)/$(OS)
396Z_DIR           = $(SOURCE_DIR)/z
397BFDB_DIR        = $(SOURCE_DIR)/bfdb
398FCC_DIR         = $(SOURCE_DIR)/settop_api
399APP_DIR         = $(SOURCE_DIR)/app
400
401ifeq (${APP_TYPE},dta)
402APP_SRC_DIR     = $(APP_DIR)/dta
403APP_IMAGES_DIR  = $(APP_SRC_DIR)/images
404else
405ifeq (${APP_TYPE},ntia)
406APP_SRC_DIR     = $(APP_DIR)/ntia
407else
408APP_SRC_DIR     = $(APP_DIR)/nanotv
409endif
410endif
411
412#
413# Base CFLAGS
414#
415ifeq (${OS}, ucos_ii)
416CFLAGS += -DUCOS_II
417endif
418
419#
420# Identify chip
421#
422
423CFLAGS += -DBCHP_CHIP=$(BCHP_CHIP) -DBCHP_VER=BCHP_VER_$(BCHP_VER)
424# overwrite chip id register
425CFLAGS += -DBCHP_CHIP_ID=7552
426
427#
428# Identify version
429#
430ifeq ($(AOV_MODEL),1)
431CFLAGS += -DMAJOR_VERSION=$(MAJOR_VERSION) -DMINOR_VERSION=$(MINOR_VERSION) -DSUB_VERSION=$(SUB_VERSION) -DALCO_VERSION1=$(ALCO_VERSION1) -DALCO_VERSION2=$(ALCO_VERSION2)
432else
433CFLAGS += -DMAJOR_VERSION=$(MAJOR_VERSION) -DMINOR_VERSION=$(MINOR_VERSION) -DSUB_VERSION=$(SUB_VERSION)
434endif
435#
436# DTA defines
437#
438
439ifeq ($(CONFIG_XMP_REMOTE),y)
440CFLAGS += -DCONFIG_XMP_REMOTE
441endif
442
443CFLAGS +=  -DUSERIO_ID=$(USERIO_ID)
444
445CFLAGS += -DCONFIG_ENABLE_UART
446
447ifeq (${HAS_WATCHDOG},y)
448CFLAGS          += -DCONFIG_WATCHDOG
449endif
450
451#
452# Flags enabling build of non-distributed sources
453#
454
455BUILD_UCOS ?= n
456BUILD_LIBFCC ?= n
457
458ENABLE_UMESSAGE ?= n
459
460
461#
462# Target binary name
463#
464
465TARGET          = ram$(PLATFORM)
466
467#
468# The targets
469#
470
471
472ifeq (${NTV_SIMULATOR},y)
473
474all: makefile $(PLATFORM)_sim
475BCM_SRC         = \
476                        $(SIM_DIR)/gtkmain.c \
477                        $(SIM_DIR)/gtk_app.c \
478                        $(SIM_DIR)/gtk_dlg.c \
479                        $(SIM_DIR)/gtk_cb.c \
480                        $(SIM_DIR)/gtk_app_remote.c \
481                        $(SIM_DIR)/pc_user_io.c \
482                        $(SIM_DIR)/sim.c \
483                        $(SIM_DIR)/sim_settop.c \
484                        $(SIM_DIR)/sim_ext.c \
485                        $(SIM_DIR)/bos_pthread.c
486                       
487CFLAGS     += -I$(SIM_DIR) -I$(SOURCE_DIR)/settop_api -I$(SOURCE_DIR) \
488        -I$(APP_SRC_DIR) -I$(APP_DIR) -I$(MAGNUM_DIR)/commonutils/lst
489CFLAGS += `pkg-config --cflags gtk+-2.0`
490
491### else ifeq (${NTV_SIMULATOR},y)
492else
493ifeq (${USE_NEXUS},y)
494NEXUS_PLATFORM = 97552
495include nexus_dta.mk
496else
497all: makefile jar flash$(PLATFORM).gz
498
499
500LDFLAGS += -T ld.script
501
502BCM_SRC = $(SOURCE_DIR)/ram_init.c \
503        $(SOURCE_DIR)/bos_ucos_ii.c \
504        $(SOURCE_DIR)/bos_trace.c \
505        $(SOURCE_DIR)/gdb_nub.c
506
507CFLAGS += -I$(ROCKFORD_DIR)/bsp/bcm9$(BCHP_CHIP)/no-os/src/sde
508
509### endif ifeq ($(USE_NEXUS},y)
510endif
511### endif ifeq (${NTV_SIMULATOR},y)
512endif
513
514#
515# NEWLIB ucos bsp
516#
517
518ifeq ($(NEWLIB),y)
519BCM_SRC +=  $(SOURCE_DIR)/ucos_dev.c
520endif
521#
522# Include ministd in RAM source and paths
523#
524
525ifeq (${NTV_SIMULATOR},y)
526
527### else ifeq (${NTV_SIMULATOR},y)
528else
529ifeq (${OS},ucos_ii)
530CFLAGS += -DMINISTD_RAM=1
531BCM_ASM_SRC += $(SOURCE_DIR)/crt.S $(SOURCE_DIR)/memcpy.S $(SOURCE_DIR)/setjmp.S
532BCM_SRC += $(SOURCE_DIR)/ministd.c $(SOURCE_DIR)/bcmmemmgr.c
533BCM_SRC += $(SOURCE_DIR)/cache_util.c
534BCM_VPATH       += $(DTA_DIR)/src
535BCM_VPATH       += $(DTA_DIR)/src/$(OS)
536endif
537### endif ifeq (${NTV_SIMULATOR},y)
538endif
539
540HAS_8BIT_FONT = y
541CFLAGS += -DCONFIG_GFX_ARGB32
542CFLAGS += -DCONFIG_8BIT_FONT
543
544BCM_SRC += $(APP_SRC_DIR)/bapp.c \
545                $(APP_SRC_DIR)/bscreen_status.c \
546                $(APP_SRC_DIR)/bscreen_debug.c \
547                $(APP_SRC_DIR)/bscreen.c \
548                $(APP_SRC_DIR)/bapp_palette.c \
549                $(APP_SRC_DIR)/bapp_settings.c \
550                $(APP_SRC_DIR)/bapp_str_table.c \
551                $(APP_DIR)/bgfx.c \
552                $(APP_DIR)/bgfx_font.c \
553                $(APP_DIR)/bgfx_defs.c \
554                $(APP_DIR)/bapp_util.c \
555                $(APP_DIR)/iso_639_lang_map.c \
556                $(APP_DIR)/genericlist.c \
557                $(APP_DIR)/bapp_freq_table.c
558
559ifeq (${APP_TYPE},ntia)
560ifeq (${DOLBY_LOGO_NO_D},y)
561CFLAGS  += -DDOLBY_LOGO_NO_D
562BCM_SRC += $(APP_SRC_DIR)/dolby_logo_no_D.c
563else
564BCM_SRC += $(APP_SRC_DIR)/dolby_logo_240.c
565endif
566else
567BCM_SRC += $(APP_DIR)/ch_map.c
568endif
569
570ifeq (${USE_NEXUS},n)
571BCM_SRC += $(APP_DIR)/bapp_remote.c
572endif
573
574CFLAGS     += -I$(APP_DIR)  -I.
575CFLAGS     += -I$(APP_SRC_DIR)
576CFLAGS     += -I$(Z_DIR)
577#CFLAGS         += -DCONFIG_FACTORY_TEST
578#CFLAGS         += -DCONFIG_DTA_CABLE_TESTING
579
580#
581# Application resources
582#
583
584include res.mk
585
586#
587# Include Profiling source and paths
588#
589
590ifeq (${PROFILE},y)
591BCM_PROFILE_PATH = $(BSEAV_DIR)/lib/bprofile
592CFLAGS += -I$(BCM_PROFILE_PATH)
593
594BCM_SRC += $(BCM_PROFILE_PATH)/bprofile.c \
595                $(BCM_PROFILE_PATH)/bprofile_data.c \
596                $(BCM_PROFILE_PATH)/bperf_counter.c \
597                $(BCM_PROFILE_PATH)/btrc.c
598
599CFLAGS += -finstrument-functions -DPROFILE=1 -DCONFIG_UCOS=1
600endif
601
602
603ifeq (${NTV_SIMULATOR},y)
604
605### else ifeq (${NTV_SIMULATOR},y)
606else
607
608ifeq (${OS},ucos_ii)
609# stdlib
610BCM_SRC +=  $(SOURCE_DIR)/serial.c $(SOURCE_DIR)/xmodem.c
611endif
612# compression, xmodem
613BCM_SRC += $(Z_DIR)/bzlib.c \
614                $(Z_DIR)/inflate.c \
615                $(Z_DIR)/crc32.c \
616                $(Z_DIR)/inffast.c \
617                $(Z_DIR)/inftrees.c \
618                $(Z_DIR)/uncompr.c \
619                $(Z_DIR)/adler32.c \
620                $(Z_DIR)/zutil.c \
621                $(APP_DIR)/led.c \
622                $(APP_DIR)/dsmcc.c \
623                $(APP_DIR)/image_recv.c \
624                $(APP_DIR)/image_write.c \
625                $(APP_DIR)/getbits.c
626
627### endif ifeq (${NTV_SIMULATOR},y)
628endif
629
630#
631# Settop API
632#
633
634ifeq ($(hdmi_sd_16_9),y)
635CFLAGS += -DHDMI_SD_WIDE_SCREEN
636endif
637
638CFLAGS     += -I$(SOURCE_DIR)/settop_api
639
640ifeq (${NTV_SIMULATOR},y)
641
642### else ifeq (${NTV_SIMULATOR},y)
643else
644ifeq ($(USE_NEXUS),y)
645        BCM_SRC += $(SOURCE_DIR)/settop_api/xds_ctrl.c
646else
647BCM_SRC += \
648                $(SOURCE_DIR)/settop_api/bsettop_smessage_rave.c \
649                $(SOURCE_DIR)/settop_api/bsettop_stream_rave.c \
650                $(SOURCE_DIR)/settop_api/bcrc32.c \
651                $(SOURCE_DIR)/settop_api/msg_filter.c \
652                $(SOURCE_DIR)/settop_api/bsettop.c \
653                $(SOURCE_DIR)/settop_api/bsettop_rfm.c \
654                $(SOURCE_DIR)/settop_api/bsettop_display.c \
655                $(SOURCE_DIR)/settop_api/bsettop_hdmi.c \
656                $(SOURCE_DIR)/settop_api/bsettop_decode.c \
657                $(SOURCE_DIR)/settop_api/bsettop_graphics.c \
658                $(SOURCE_DIR)/settop_api/bsettop_user_io.c \
659                $(SOURCE_DIR)/settop_api/bsettop_smartcard.c \
660                $(SOURCE_DIR)/settop_api/bsettop_pcm.c \
661                $(SOURCE_DIR)/settop_api/bsettop_gpio.c \
662                $(SOURCE_DIR)/settop_api/xds_ctrl.c
663
664
665ifeq (${BCHP_VER}, B0)
666ifeq (${HAS_OOB}, y)
667CFLAGS += -DCONFIG_OOB
668BCM_SRC += $(SOURCE_DIR)/settop_api/bsettop_tuner_aob.c
669# enable it if want to add a test function in CLI
670CFLAGS += -DTUNER_AOB_TEST -DOOB_TUNER_SUPPORT
671endif
672
673ifeq (${HAS_MRC}, y)
674CFLAGS += -DCONFIG_MRC
675endif
676
677endif
678
679BCM_SRC += $(SOURCE_DIR)/settop_api/bdecode_audio_raaga.c
680endif  # endif ifeq ($(USE_NEXUS),y)
681
682# OOB tuner related
683CFLAGS += -DOOB_TUNER_BAND=2 -DOOB_IB=9
684# Mission College MOTO HE OOB related information
685CFLAGS  += -DCONFIG_DEF_OOB_VCT_ID=0x5
686CFLAGS  += -DCONFIG_DEF_OOB_EMM_PID=0x1503
687CFLAGS  += -DCONFIG_DEF_OOB_FREQ_KHZ=75250                      #75.25M, or 103.75M
688# to enable OOB_LEGACY_SUPPORT to use OOB for messages
689#CFLAGS += -DOOB_LEGACY_SUPPORT
690
691ifeq (${HAS_AUD_PWR}, y)
692CFLAGS += -DCONFIG_AUD_PWR
693BCM_SRC += $(SOURCE_DIR)/settop_api/avl_dspfunc.c
694endif
695
696### endif ifeq (${NTV_SIMULATOR},y)
697endif
698
699
700ifeq (${NTV_SIMULATOR},y)
701HAS_CAT = n
702HAS_VBI = n
703
704### else ifeq (${NTV_SIMULATOR},y)
705else
706
707BCM_SRC += $(APP_SRC_DIR)/chan_mgr.c
708CFLAGS += -I$(BSEAV_LIB_DIR)/si/common
709
710### endif ifeq (${NTV_SIMULATOR},y)
711endif
712
713ifeq (${APP_TYPE},dta)
714BCM_SRC +=  $(APP_SRC_DIR)/bscreen_dolby.c \
715                $(APP_SRC_DIR)/bscreen_pairing.c \
716                $(APP_SRC_DIR)/bapp_resources.c \
717                $(APP_DIR)/bscreen_factory_test.c
718
719
720CFLAGS += -DNEW_UI
721BCM_SRC +=      $(APP_SRC_DIR)/bscreen_menu.c \
722                $(APP_SRC_DIR)/bosi_button.c \
723                $(APP_SRC_DIR)/bscreen_volume.c \
724                $(APP_SRC_DIR)/bosi_overlay.c \
725                $(APP_SRC_DIR)/bscreen_locks.c \
726                $(APP_SRC_DIR)/bscreen_ovpopup.c \
727                $(APP_SRC_DIR)/bscreen_dcc.c \
728                $(APP_SRC_DIR)/bscreen_language.c \
729                $(APP_SRC_DIR)/bscreen_output.c
730
731
732### endif ifeq (${APP_TYPE},dta)
733endif
734
735ifeq (${APP_TYPE},ntia)
736CFLAGS += -I$(BSEAV_LIB_DIR)/si/common
737endif ### ntia
738
739ifeq (${HAS_STANDBY},y)
740CFLAGS += -DCONFIG_STANDBY
741BCM_SRC += $(APP_SRC_DIR)/birw.c
742endif
743
744ifeq (${CONFIG_CES},y)
745CFLAGS += -DCONFIG_CES
746endif
747BCM_SRC += $(BSEAV_DIR)/lib/mpeg2_ts_parse/psip_rrt.c \
748                $(BSEAV_DIR)/lib/mpeg2_ts_parse/psip_descriptor.c
749
750
751
752ifeq ($(BUILD_EXTRA_LIBC),y)
753BCM_SRC += $(SOURCE_DIR)/qsort.c \
754        $(SOURCE_DIR)/stdio.c \
755        $(SOURCE_DIR)/libc.c
756endif
757
758#
759# Set up flash sources and paths
760#
761
762BCM_SRC += $(BFDB_DIR)/bfdb.c
763
764ifeq (${TEST_BFDS},y)
765CFLAGS += -DTEST_BFDS
766BCM_SRC += $(BFDB_DIR)/bfds_mem.c
767else
768CFLAGS += -I$(SOURCE_DIR)/bootloader7574
769BCM_SRC += $(BFDB_DIR)/bfds_spi.c \
770                $(SOURCE_DIR)/bspi_flash.c
771endif
772
773CFLAGS     += -I$(BFDB_DIR)
774
775ifeq (${APP_TYPE},nanotv)
776BUILD_GP=n
777WITH_GP=n
778endif
779
780ifeq (${APP_TYPE},dta)
781HAS_DVB=n
782endif
783
784#
785# PSI paths and sources
786#
787BSEAV_LIB_DIR = $(TOP_DIR)/BSEAV/lib
788MPEG2_TS_PARSE_DIR = $(BSEAV_LIB_DIR)/mpeg2_ts_parse
789
790#
791# Basic PSI parsing
792#
793CFLAGS     += -I$(MPEG2_TS_PARSE_DIR)
794BCM_SRC +=      \
795                $(MPEG2_TS_PARSE_DIR)/ts_priv.c \
796                $(MPEG2_TS_PARSE_DIR)/ts_psi.c \
797                $(MPEG2_TS_PARSE_DIR)/ts_pat.c \
798                $(MPEG2_TS_PARSE_DIR)/ts_pmt.c
799
800#
801# ATSC PSIP Sources
802#
803
804ifeq ($(HAS_ATSC),y)
805BCM_SRC +=      \
806                $(MPEG2_TS_PARSE_DIR)/psip_mgt.c \
807                $(MPEG2_TS_PARSE_DIR)/psip_vct.c \
808                $(MPEG2_TS_PARSE_DIR)/psip_ett.c \
809                $(MPEG2_TS_PARSE_DIR)/psip_eit.c
810endif
811
812# ATSC PSIP Sources also used for parsing SCTE65
813BCM_SRC +=      \
814                $(MPEG2_TS_PARSE_DIR)/psip_stt.c \
815                $(MPEG2_TS_PARSE_DIR)/psip_mss.c \
816                $(MPEG2_TS_PARSE_DIR)/psip_decode_tree_01.c \
817                $(MPEG2_TS_PARSE_DIR)/psip_decode_tree_02.c
818
819#
820# SCTE65 Sources Profile 2 only
821#
822
823ifeq ($(HAS_SCTE65),y)
824CFLAGS += -I$(BSEAV_LIB_DIR)/si/common
825CFLAGS += -I$(BSEAV_LIB_DIR)/si/scte65
826CFLAGS += -I$(BSEAV_LIB_DIR)/si/scte65/nit
827CFLAGS += -I$(BSEAV_LIB_DIR)/si/scte65/ntt
828CFLAGS += -I$(BSEAV_LIB_DIR)/si/scte65/svct
829CFLAGS += -I$(BSEAV_LIB_DIR)/si/stt
830CFLAGS += -I$(BSEAV_LIB_DIR)/si/os
831CFLAGS += -I$(BSEAV_LIB_DIR)/si/os/ucos
832CFLAGS += -DCONFIG_SCTE65
833
834BCM_SRC +=      \
835                $(BSEAV_LIB_DIR)/si/scte65/svct/si_svct_vcm.c \
836                $(BSEAV_LIB_DIR)/si/scte65/svct/si_svct.c \
837                $(BSEAV_LIB_DIR)/si/scte65/ntt/si_ntt.c \
838                $(BSEAV_LIB_DIR)/si/scte65/ntt/si_ntt_sns.c \
839                $(BSEAV_LIB_DIR)/si/scte65/nit/si_nit.c \
840                $(BSEAV_LIB_DIR)/si/scte65/nit/si_nit_cds.c \
841                $(BSEAV_LIB_DIR)/si/scte65/nit/si_nit_mms.c \
842                $(BSEAV_LIB_DIR)/si/stt/si_stt.c \
843                $(BSEAV_LIB_DIR)/si/os/ucos/si_os.c \
844                $(BSEAV_LIB_DIR)/si/common/si_util.c \
845                $(BSEAV_LIB_DIR)/si/common/si_dbg.c
846
847endif
848
849
850ifeq ($(HAS_SCTE18),y)
851CFLAGS += -I$(BSEAV_LIB_DIR)/scte_18
852BCM_SRC +=      \
853                $(BSEAV_LIB_DIR)/scte_18/ts_scte_18.c
854endif
855
856ifeq ($(HAS_SCTE27),y)
857CFLAGS += -DHAS_SUBTITLE
858CFLAGS += -I$(BSEAV_LIB_DIR)/scte_27
859BCM_SRC +=  \
860        $(BSEAV_LIB_DIR)/scte_27/scte_27.c
861endif
862
863ifeq ($(HAS_CAT),y)
864CFLAGS += -I$(BSEAV_LIB_DIR)/ts_cat
865BCM_SRC +=      \
866                $(BSEAV_LIB_DIR)/ts_cat/ca_parser.c
867endif
868
869ifeq ($(CONFIG_SPDIF),y)
870        CFLAGS += -DCONFIG_SPDIF
871endif
872
873ifeq ($(HDCPLIB),y)
874        CFLAGS += -DHDCPLIB
875        BHDCPLIB_HDCP_SUPPORT ?=1
876# HDCPLIB_HSM should not be set if CONFIG_ENABLE_SCM is set
877ifneq ($(HDCPLIB_HSM),y)
878CFLAGS += -I$(SOURCE_DIR)/hdcplib
879# HDCP library
880BCM_SRC += $(SOURCE_DIR)/hdcplib/bhdcplib.c \
881        $(SOURCE_DIR)/hdcplib/bhdcplib_hdcpkeys.c \
882        $(SOURCE_DIR)/hdcplib/bhdcplib_keyloader.c
883else
884        BHSM_SECURE_KEYLADDER_MK ?=1
885endif
886endif
887
888ifeq (${HAS_DVB},y)
889CFLAGS += -DCONFIG_DVB
890CFLAGS += -I$(SOURCE_DIR)/dvb
891BCM_SRC +=  $(SOURCE_DIR)/dvb/dvb_nit.c \
892                        $(SOURCE_DIR)/dvb/dvb_sdt.c \
893                        $(SOURCE_DIR)/dvb/dvb_eit.c \
894                        $(SOURCE_DIR)/dvb/dvb_tdt.c \
895                        $(SOURCE_DIR)/dvb/dvb_bat.c \
896                        $(SOURCE_DIR)/dvb/dvb_smi.c \
897                        $(SOURCE_DIR)/dvb/dvb_rst.c \
898                        $(SOURCE_DIR)/dvb/dvb_descriptor.c
899endif
900
901# DVB subtitle rendering is based on ARGB32, CONFIG_GFX_ARGB32 flag is required
902ifeq (${HAS_DVB_SUBTITLE},y)
903CFLAGS += -DCONFIG_DVB_SUBTITLE
904BCM_SRC += $(SOURCE_DIR)/dvb/dvb_subtitle.c
905endif
906
907#
908# Set up for flash xmodem downloader
909#
910
911#BCM_SRC += $(SOURCE_DIR)/app/flash_install.c
912
913
914
915#
916# Digital Closed Captioning
917#
918ifeq (${HAS_EIA_708},y)
919CFLAGS += -DCONFIG_EIA_708
920CFLAGS += -I$(SOURCE_DIR)/dcc
921CFLAGS += -I$(SOURCE_DIR)/dcc/fonts
922CFLAGS += -I$(SOURCE_DIR)/dcc/src
923CFLAGS += -I$(SOURCE_DIR)/dcc/include
924
925BCM_SRC +=      $(SOURCE_DIR)/dcc/bccwinlib.c \
926                $(SOURCE_DIR)/dcc/src/bdcc608transcoder.c \
927                $(SOURCE_DIR)/dcc/src/bdcc_cbuf.c \
928                $(SOURCE_DIR)/dcc/src/bdcc_coding.c \
929                $(SOURCE_DIR)/dcc/src/bdcc_coding_c1_handlers.c \
930                $(SOURCE_DIR)/dcc/src/bdccbits.c \
931                $(SOURCE_DIR)/dcc/src/bdccengine.c \
932                $(SOURCE_DIR)/dcc/src/bdccgfx.c \
933                $(SOURCE_DIR)/dcc/src/bdccint.c \
934                $(SOURCE_DIR)/dcc/src/bdccintgfx.c \
935                $(SOURCE_DIR)/dcc/src/bdccpacket.c \
936                $(SOURCE_DIR)/dcc/src/bdccservice.c \
937                $(SOURCE_DIR)/dcc/bapp_eia708.c
938
939BCM_SRC_OLD_PARSE +=    bcmDccBits.c \
940                bcmDccTransport.c \
941                bcmDccTransportMux.c \
942                bcmDccTransportParse.c
943
944ifeq (${HAS_8BIT_FONT},y)
945ifeq (${NEW_FONT_SET},y)
946CFLAGS += -DNEW_FONT_SET
947BCM_SRC +=      $(SOURCE_DIR)/dcc/fonts/cinecavB_casual_02_16_aa.c \
948                $(SOURCE_DIR)/dcc/fonts/cinecavB_casual_02_18_aa.c      \
949                $(SOURCE_DIR)/dcc/fonts/cinecavB_casual_02_20_aa.c      \
950                $(SOURCE_DIR)/dcc/fonts/cinecavB_mono_03_16_aa.c        \
951                $(SOURCE_DIR)/dcc/fonts/cinecavB_mono_03_18_aa.c        \
952                $(SOURCE_DIR)/dcc/fonts/cinecavB_mono_03_20_aa.c        \
953                $(SOURCE_DIR)/dcc/fonts/cinecavB_sans_02_16_aa.c        \
954                $(SOURCE_DIR)/dcc/fonts/cinecavB_sans_02_18_aa.c        \
955                $(SOURCE_DIR)/dcc/fonts/cinecavB_sans_02_20_aa.c        \
956                $(SOURCE_DIR)/dcc/fonts/cinecavB_sc_02_16_aa.c          \
957                $(SOURCE_DIR)/dcc/fonts/cinecavB_sc_02_18_aa.c          \
958                $(SOURCE_DIR)/dcc/fonts/cinecavB_sc_02_20_aa.c          \
959                $(SOURCE_DIR)/dcc/fonts/cinecavB_script_02_16_aa.c      \
960                $(SOURCE_DIR)/dcc/fonts/cinecavB_script_02_18_aa.c      \
961                $(SOURCE_DIR)/dcc/fonts/cinecavB_script_02_20_aa.c      \
962                $(SOURCE_DIR)/dcc/fonts/cinecavB_serif_02_16_aa.c       \
963                $(SOURCE_DIR)/dcc/fonts/cinecavB_serif_02_18_aa.c       \
964                $(SOURCE_DIR)/dcc/fonts/cinecavB_serif_02_20_aa.c       \
965                $(SOURCE_DIR)/dcc/fonts/cinecavB_type_03_16_aa.c        \
966                $(SOURCE_DIR)/dcc/fonts/cinecavB_type_03_18_aa.c        \
967                $(SOURCE_DIR)/dcc/fonts/cinecavB_type_03_20_aa.c
968else
969BCM_SRC +=      $(SOURCE_DIR)/dcc/fonts/SFM_20_aa.c \
970                $(SOURCE_DIR)/dcc/fonts/SFM_24_aa.c \
971                $(SOURCE_DIR)/dcc/fonts/SFP_20_aa.c \
972                $(SOURCE_DIR)/dcc/fonts/SFP_24_aa.c \
973                $(SOURCE_DIR)/dcc/fonts/SSM_20_aa.c \
974                $(SOURCE_DIR)/dcc/fonts/SSM_24_aa.c \
975                $(SOURCE_DIR)/dcc/fonts/SSP_20_aa.c \
976                $(SOURCE_DIR)/dcc/fonts/SSP_24_aa.c \
977                $(SOURCE_DIR)/dcc/fonts/SCRIPT_20_aa.c \
978                $(SOURCE_DIR)/dcc/fonts/SCRIPT_24_aa.c \
979                $(SOURCE_DIR)/dcc/fonts/SC_20_aa.c \
980                $(SOURCE_DIR)/dcc/fonts/SC_24_aa.c
981endif
982else
983ifeq (${NEW_FONT_SET},y)
984CFLAGS += -DNEW_FONT_SET
985BCM_SRC +=  $(SOURCE_DIR)/dcc/fonts/cinecavB_casual_02_16_mono.c \
986        $(SOURCE_DIR)/dcc/fonts/cinecavB_casual_02_18_mono.c  \
987        $(SOURCE_DIR)/dcc/fonts/cinecavB_casual_02_20_mono.c  \
988        $(SOURCE_DIR)/dcc/fonts/cinecavB_mono_03_16_mono.c    \
989        $(SOURCE_DIR)/dcc/fonts/cinecavB_mono_03_18_mono.c    \
990        $(SOURCE_DIR)/dcc/fonts/cinecavB_mono_03_20_mono.c    \
991        $(SOURCE_DIR)/dcc/fonts/cinecavB_sans_02_16_mono.c    \
992        $(SOURCE_DIR)/dcc/fonts/cinecavB_sans_02_18_mono.c    \
993        $(SOURCE_DIR)/dcc/fonts/cinecavB_sans_02_20_mono.c    \
994        $(SOURCE_DIR)/dcc/fonts/cinecavB_sc_02_16_mono.c      \
995        $(SOURCE_DIR)/dcc/fonts/cinecavB_sc_02_18_mono.c      \
996        $(SOURCE_DIR)/dcc/fonts/cinecavB_sc_02_20_mono.c      \
997        $(SOURCE_DIR)/dcc/fonts/cinecavB_script_02_16_mono.c  \
998        $(SOURCE_DIR)/dcc/fonts/cinecavB_script_02_18_mono.c  \
999        $(SOURCE_DIR)/dcc/fonts/cinecavB_script_02_20_mono.c  \
1000        $(SOURCE_DIR)/dcc/fonts/cinecavB_serif_02_16_mono.c   \
1001                $(SOURCE_DIR)/dcc/fonts/cinecavB_serif_02_18_mono.c       \
1002        $(SOURCE_DIR)/dcc/fonts/cinecavB_serif_02_20_mono.c   \
1003        $(SOURCE_DIR)/dcc/fonts/cinecavB_type_03_16_mono.c    \
1004        $(SOURCE_DIR)/dcc/fonts/cinecavB_type_03_18_mono.c    \
1005        $(SOURCE_DIR)/dcc/fonts/cinecavB_type_03_20_mono.c
1006else
1007BCM_SRC +=      $(SOURCE_DIR)/dcc/fonts/SFM_20_mono.c \
1008                $(SOURCE_DIR)/dcc/fonts/SFM_24_mono.c \
1009                $(SOURCE_DIR)/dcc/fonts/SFP_24_mono.c \
1010                $(SOURCE_DIR)/dcc/fonts/SFP_28_mono.c \
1011                $(SOURCE_DIR)/dcc/fonts/SSM_20_mono.c \
1012                $(SOURCE_DIR)/dcc/fonts/SSM_24_mono.c \
1013                $(SOURCE_DIR)/dcc/fonts/SSP_24_mono.c \
1014                $(SOURCE_DIR)/dcc/fonts/SSP_28_mono.c \
1015                $(SOURCE_DIR)/dcc/fonts/SCRIPT_20_mono.c \
1016                $(SOURCE_DIR)/dcc/fonts/SCRIPT_24_mono.c \
1017                $(SOURCE_DIR)/dcc/fonts/SC_20_mono.c \
1018                $(SOURCE_DIR)/dcc/fonts/SC_24_mono.c
1019endif
1020endif
1021endif
1022
1023ifeq ($(HAS_VBI),y)
1024        BCM_SRC +=      ${BSEAV_DIR}/lib/scte_127/bapp_amol.c           \
1025                        ${BSEAV_DIR}/lib/scte_127/bapp_gs.c                             \
1026                        ${BSEAV_DIR}/lib/scte_127/pes_scte_127.c                \
1027                        ${BSEAV_DIR}/lib/scte_127/pmt_desc_scte_127.c   \
1028                        ${BSEAV_DIR}/lib/scte_127/scte_127.c
1029        CFLAGS += -I$(BSEAV_DIR)/lib/scte_127 -DHAS_VBI -DBVBI_P_GEMSTAR_OPTIONS_STRUCT
1030endif
1031#
1032# Test modules
1033#
1034ifeq ($(CONFIG_BSD),y)
1035BSD_DIR = $(SOURCE_DIR)/bsd
1036
1037CFLAGS += -I$(BSD_DIR) -DCONFIG_BSD
1038BCM_SRC +=      $(BSD_DIR)/BsdTest.c \
1039                $(BSD_DIR)/bsd.c \
1040                $(BSD_DIR)/bhsm_priv.c \
1041                $(BSD_DIR)/bxpt_rave_ihex.c \
1042                $(BSD_DIR)/bxpt_rom_api.c \
1043                $(BSD_DIR)/security_functions.c
1044endif
1045
1046ifeq ($(CONFIG_MEM2MEM),y)
1047MEM2MEM_DIR     = $(SOURCE_DIR)/mem2mem
1048
1049CFLAGS += -I$(MEM2MEM_DIR) -DCONFIG_MEM2MEM
1050CFLAGS += -DCONFIG_MEM2MEM_TEST
1051BCM_SRC +=      $(MEM2MEM_DIR)/bxpt_rom_api.c \
1052                $(MEM2MEM_DIR)/bxpt_rave_ihex.c
1053
1054endif
1055
1056ifeq (${HAS_NOVCHIP_SD},y)
1057CFLAGS += -DCONFIG_NOVCHIP_SD
1058endif
1059ifeq (${HAS_NOCC_SD},y)
1060CFLAGS += -DCONFIG_NOCC_SD
1061endif
1062
1063
1064ifeq ($(ENABLE_UMESSAGE),y)
1065CFLAGS += -I$(SOURCE_DIR)/udtam -DENABLE_UMESSAGE
1066endif
1067
1068#
1069# Power management code
1070#
1071#BCM_SRC += bpwr.c birw.c
1072
1073ifeq (${NTV_SIMULATOR},y)
1074CFLAGS += -DDISPLAY_NTSC=1
1075else
1076ifeq (${USE_NEXUS},n)
1077BCM_SRC += $(SOURCE_DIR)/gist/gist.c
1078CFLAGS += -I$(SOURCE_DIR)/gist -DDISPLAY_NTSC=1
1079else
1080CFLAGS += -DDISPLAY_NTSC=1
1081endif
1082endif
1083
1084AOV_SDRAM_1G ?= n
1085ifeq (${AOV_SDRAM_1G},y)
1086CFLAGS += -DCONFIG_AOV_SDRAM_1G
1087endif
1088
1089ifeq ($(HAS_VSB),y)
1090
1091BVSB_CHIP := 3520
1092
1093CFLAGS += -DCONFIG_VSB -I$(SOURCE_DIR)/settop_api/vsb
1094ifeq (${TUNER_TEST},y)
1095CFLAGS += -DCONFIG_TUNER_TEST
1096endif
1097
1098NXP_TDA182I4 ?= y
1099
1100ifeq (${NXP_TDA182I4},y)
1101CFLAGS += -DCONFIG_NXP_TDA182I4
1102
1103CFLAGS += -I$(SOURCE_DIR)/settop_api/NXP_TDA182I4/inc
1104CFLAGS += -I$(SOURCE_DIR)/settop_api/NXP_TDA182I4/tmbslTDA182I4
1105
1106BCM_SRC += \
1107        $(SOURCE_DIR)/settop_api/NXP_TDA182I4/tmbslTDA182I4/tmbslTDA182I4.c \
1108        $(SOURCE_DIR)/settop_api/NXP_TDA182I4/tmbslTDA182I4/tmbslTDA182I4_Instance.c\
1109        $(SOURCE_DIR)/settop_api/NXP_TDA182I4/tmbslTDA182I4/tmbslTDA182I4_RegDef.c
1110endif
1111
1112BCM_SRC += \
1113        $(SOURCE_DIR)/settop_api/bsettop_tuner_vsb.c \
1114        $(SOURCE_DIR)/settop_api/vsb/bcm3520ap_a1.c \
1115        $(SOURCE_DIR)/settop_api/vsb/bcm3520ap_b0.c
1116       
1117BCM_SRC += $(ROCKFORD_DIR)/bsp/bcm9$(BCHP_CHIP)/common/int1.c
1118CFLAGS += -I$(ROCKFORD_DIR)/bsp/bcm9$(BCHP_CHIP)/common
1119
1120endif   #HAS_VSB
1121
1122#
1123# ISDB-T tuner/demod support
1124#
1125ifeq ($(HAS_ISDBT),y)
1126
1127CFLAGS += -DCONFIG_ISDB
1128# to debug the tuner only
1129ifeq (${TUNER_TEST},y)
1130CFLAGS += -DCONFIG_TUNER_TEST
1131endif
1132
1133ifeq ($(ISDB_MY_FREQ),y)
1134        CFLAGS += -DCONFIG_ISDB_MY_FREQ
1135endif
1136
1137BCM_SRC += \
1138    $(SOURCE_DIR)/settop_api/bsettop_tuner_isdb.c
1139
1140BCM_SRC += $(ROCKFORD_DIR)/bsp/bcm9$(BCHP_CHIP)/common/int1.c
1141CFLAGS += -I$(ROCKFORD_DIR)/bsp/bcm9$(BCHP_CHIP)/common
1142
1143endif   #HAS_ISDBT
1144
1145#
1146# QAM tuner/demod support
1147#
1148ifeq ($(HAS_QAM),y)
1149        ifeq ($(USE_NEXUS),y)
1150                ## don't include
1151        else
1152                BCM_SRC += $(SOURCE_DIR)/settop_api/bsettop_tuner.c
1153        endif
1154endif   #HAS_QAM
1155
1156FCC_OBJS = $(FCC_DIR)/vprimer.o
1157CFLAGS += -DCONFIG_AVC_FCC
1158FCC_OBJS += $(BSEAV_DIR)/lib/utils/bvlc.o
1159LIB_DIR = $(DTA_DIR)/lib
1160CFLAGS += -I$(BSEAV_DIR)/lib/utils
1161
1162#
1163# Soft floating point
1164#
1165SOFT_FP_LIB = $(LIB_DIR)/soft-fp.a
1166
1167#
1168#  PI Modules
1169#
1170CFLAGS += -DBSTD_CPU_ENDIAN=BSTD_ENDIAN_LITTLE
1171
1172ifeq (${NTV_SIMULATOR},y)
1173
1174### ifeq (${NTV_SIMULATOR},y)
1175else
1176ifeq (${OS},ucos_ii)
1177
1178include ucos.mk
1179endif
1180
1181
1182ifeq (${BUILD_GP},y)
1183CFLAGS += -DCONFIG_GP -DNEW_PAIR_GUI
1184include gp.mk
1185else
1186# if don't have source, but still need header files
1187ifeq (${WITH_GP},y)
1188CFLAGS += -DCONFIG_GP -DNEW_PAIR_GUI
1189include gp.mk
1190else
1191endif
1192endif
1193
1194ifeq ($(USE_NEXUS),n)
1195include magnum.mk
1196endif ## ifeq ($(USE_NEXUS),n
1197
1198ifeq (${HAS_LWIP},y)
1199include lwip.mk
1200endif
1201
1202### ifeq (${NTV_SIMULATOR},y)
1203endif
1204
1205#
1206# Include path definitions
1207#
1208
1209BCM_INCLUDE     = $(patsubst %,-I%,$(subst :, ,$(BCM_VPATH)))
1210
1211#
1212# more CFLAG defines
1213#
1214
1215CFLAGS += $(BCM_INCLUDE) -I./ -DMEMCOPY -DBKNI_TRACK_MALLOCS=0
1216
1217#
1218# 3560 Driver obj files
1219#
1220
1221BCM_OBJS = $(BCM_SRC:.c=.o)
1222BCM_ASM_OBJS += $(BCM_ASM_SRC:.S=.o)
1223
1224ifeq (${ENABLE_APP},n)
1225        CFLAGS += -DDEBUG_APP
1226endif
1227
1228BCM_LIB_OBJS = $(LIB_DIR)/libres.a
1229
1230ifeq (${HAS_EIA_708},y)
1231BCM_LIB_OBJS += $(LIB_DIR)/libdcc.a
1232endif
1233
1234ifeq (${NTV_SIMULATOR},y)
1235
1236
1237else
1238ifeq (${OS},ucos_ii)
1239BCM_LIB_OBJS += $(LIB_DIR)/libucos_ii.a \
1240        $(LIB_DIR)/libfcc.a $(SOFT_FP_LIB) 
1241ifeq ($(USE_NEXUS),y)
1242BCM_LIB_OBJS += $(BCM_NLIB_OBJS)
1243else
1244BCM_LIB_OBJS += $(LIB_DIR)/libmagnum.a
1245endif
1246
1247endif
1248ifeq (${HAS_LWIP},y)
1249BCM_LIB_OBJS += $(LIB_DIR)/liblwip.a
1250endif
1251
1252ifeq ($(NEWLIB),y)
1253BCM_LIB_OBJS += $(NEWLIB_DIR)/soft-float/el/libstdc++.a
1254BCM_LIB_OBJS += $(NEWLIB_DIR)/soft-float/el/libc.a 
1255BCM_LIB_OBJS += $(NEWLIB_DIR)/soft-float/el/libgcc.a 
1256#BCM_LIB_OBJS += $(NEWLIB_DIR)/soft-float/el/libsupc++.a
1257LDFLAGS += -nodefaultlibs -nostartfiles -static -L$(NEWLIB_DIR)/soft-float/el
1258endif
1259
1260ifeq (${HAS_MIPS_AUDIO},y)
1261BCM_LIB_OBJS += ${AUDIO_LIB}
1262endif
1263
1264
1265ifeq (${BUILD_GP},y)
1266BCM_LIB_GP_OBJS = $(LIB_DIR)/libgp.a $(GPLIBS)
1267LDFLAGS_GP = --no-whole-archive --start-group $(BCM_LIB_GP_OBJS) --end-group
1268else
1269ifeq (${WITH_GP},y)
1270BCM_LIB_GP_OBJS = $(LIB_DIR)/libgp.a $(GPLIBS)
1271LDFLAGS_GP = --no-whole-archive --start-group $(BCM_LIB_GP_OBJS) --end-group
1272endif
1273endif
1274
1275### ifeq (${NTV_SIMULATOR},y)
1276endif
1277
1278SYM_OBJ = $(SYM_SRC:%.c=%.o)
1279SYM_INC = $(SYM_SRC:%.c=%.inc)
1280
1281BCM_DEPENDS := $(BCM_OBJS:.o=.d) $(BCM_ASM_OBJS:.o=.d)
1282
1283${SYM_OBJ} : ${SYM_SRC} $(filter-out $(SYM_OBJ),$(BCM_OBJS) ${BCM_ASM_OBJS})
1284        ${ECHO} Building symbol table $<
1285        ${QUIET}# compile  empty sym-table and link with it
1286        ${QUIET}${RM) ${SYM_INC}
1287        ${QUIET}echo '/* */' >${SYM_INC}
1288        ${QUIET}$(CC) $(CFLAGS) -I. -c $< -o $(notdir $@)
1289        ${QUIET}$(LD) $(LDFLAGS) $(BCM_OBJS) $(BCM_ASM_OBJS) $(SOFT_FP_LIB) -o ${TARGET}.elf.sym
1290        ${QUIET}# compile with real sym-table but possibly wrong offsets
1291        ${QUIET}${RM) ${SYM_INC}
1292        ${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}
1293        $(QUIET)$(CC) $(CFLAGS) -I. -c $< -o $(notdir $@)
1294        ${QUIET}${RM} ${SYM_INC}
1295        ${QUIET}$(LD) -Map $(TARGET).map.sym $(LFLAGS) $(BCM_OBJS) $(BCM_ASM_OBJS) $(SOFT_FP_LIB) -o ${TARGET}.elf.sym
1296        ${QUIET}# build real symtable and compile with it
1297        ${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}
1298        $(QUIET)$(CC) $(CFLAGS) -I. -c $< -o $(notdir $@)
1299        ${QUIET}${MV} ${SYM_INC} $(SYM_INC:%.inc=%.sym)
1300
1301
1302$(PLATFORM)_sim: $(BCM_OBJS) $(BCM_LIB_OBJS)
1303        $(CC) $(CFLAGS) -o $@ $(BCM_OBJS) $(BCM_LIB_OBJS) `pkg-config --libs gtk+-2.0` -lpthread
1304
1305api:
1306        @echo Building nexus API  $(BCM_VARIABLES) 
1307        $(MAKE) $(BCM_VARIABLES) -C $(NEXUS_TOP)/build
1308
1309nexus_clean:
1310        $(MAKE) $(BCM_VARIABLES) -C $(NEXUS_TOP)/build clean
1311       
1312$(PLATFORM)_dta_nexus: $(BCM_OBJS) $(BCM_LIB_OBJS) $(BCM_LIB_GP_OBJS)
1313        $(CC) $(CFLAGS) -lnexus -L${NEXUS_TOP}/bin -lpthread -lm -o $@ $(BCM_OBJS) $(LDFLAGS_GP) $(BCM_LIB_OBJS) 
1314
1315$(TARGET).elf: $(BCM_OBJS) $(BCM_ASM_OBJS) $(BCM_LIB_OBJS) $(BCM_LIB_GP_OBJS)
1316        $(LD) -Map $(TARGET).map $(LDFLAGS) $(BCM_ASM_OBJS) $(BCM_OBJS) $(LDFLAGS_GP) $(BCM_LIB_OBJS) -o $@
1317
1318$(TARGET).bin: $(TARGET).elf
1319        $(CROSS_COMPILE)objcopy -S -O binary $(TARGET).elf $(TARGET).bin
1320#       $(CROSS_COMPILE)objdump -D $(TARGET).elf > $(TARGET).dis
1321
1322
1323%.o: %.cpp
1324        $(ECHO) '$(CXX) -c $(notdir $<)'
1325        $(QUIET)$(CXX) $(CFLAGS) -c $< -o $@
1326
1327%.o: %.c
1328        $(ECHO) '$(CC) -c $(notdir $<)'
1329        $(QUIET)$(CC) $(CFLAGS) -c $< -o $@
1330
1331%.o: %.S
1332        $(ECHO) '$(CC) -c $(notdir $<)'
1333        $(QUIET)$(CC) $(ASFLAGS) -c $< -o $@
1334
1335clean:  bootloader_clean flash_clean
1336        $(RM) -f $(TARGET) *.gz *.o_* *.sym *.map *~ core *.elf *.bin *.dis *.lst $(BCM_OBJS) $(BCM_ASM_OBJS) $(BCM_DEPENDS)
1337
1338# clean everything other than the libraries that the end user can't build
1339dist_clean:
1340        $(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
1341        $(QUIET)find $(TOP_DIR) \
1342                \( -name '*.orig' -o -name '*.rej' -o -name '*~' \
1343                -o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \
1344                -o -name '.*.rej' -o -size 0 -o -name '*.elf' \
1345                -o -name '*%' -o -name '*.o' -o -name '*.d' -o -name 'tags' \) \
1346                -type f -print | xargs $(RM) -f
1347
1348ifeq (${BUILD_MIPS_AC3},y)
1349        $(RM) -f ${AUDIO_FLAG}
1350endif
1351
1352ifeq ($(BUILD_LIBFCC),y)
1353$(LIB_DIR)/libfcc.a : $(FCC_OBJS) $(foreach obj, $(FCC_OBJS), $(subst object,$(obj), $(LIB_DIR)/libfcc.a(object)))
1354
1355clean_fcc :
1356        $(RM) -f $(LIB_DIR)/libfcc.a
1357
1358clean : clean_fcc
1359
1360endif
1361
1362JAR_BINARY = $(SOURCE_DIR)/jar/jar.bin
1363
1364jar : $(JAR_BINARY) $(TARGET).gz $(TARGET)_jar.bin
1365
1366$(TARGET).gz : $(TARGET).bin
1367# compress image and pad it to 0x40 byte boundary
1368        gzip -cn -9 $< | dd bs=64 conv=sync > $@
1369$(TARGET)_jar.bin : $(TARGET).gz
1370        cat $(JAR_BINARY) $< > $@
1371$(JAR_BINARY) :
1372        make -C $(SOURCE_DIR)/jar clean all
1373
1374bootloader : $(SOURCE_DIR)/bootloader7574/bootloader.bin
1375
1376ifeq ($(ENABLE_MEMSYSINIT),y)
1377BOOTLOADER_MAKEFILE = bootloader2.mk
1378else
1379BOOTLOADER_MAKEFILE = bootloader.mk
1380endif
1381$(SOURCE_DIR)/bootloader7574/bootloader.bin :
1382        make -C $(SOURCE_DIR)/bootloader7574 -f $(BOOTLOADER_MAKEFILE) HAS_STANDBY=$(HAS_STANDBY) USERIO_ID=$(USERIO_ID) ENABLE_AVS=$(ENABLE_AVS)
1383
1384bootloader_clean :
1385        make -C $(SOURCE_DIR)/bootloader7574 -f $(BOOTLOADER_MAKEFILE) clean
1386
1387# To build comple flash we need to:
1388# - build bootloader stages 1 and 2
1389# - generate fake signature
1390# - pad bootloader to 192K
1391# - build compressed image
1392# - generate image headers
1393# - concatenate padded bootloader | image headers | comressed image | fake signature
1394flash$(PLATFORM).bin : bootloader-192k.bin $(TARGET).gz fake.sig
1395        python ../src/bootloader7574/makeheaders.py 1 $(TARGET).gz
1396        cat bootloader-192k.bin bootheader.bin appheader.bin $(TARGET).gz fake.sig > $@
1397
1398flash$(PLATFORM)_nexus.bin : bootloader-192k.bin $(TARGET).gz fake.sig
1399        python ../src/bootloader7574/makeheaders.py 1 $(TARGET).gz
1400        cat bootloader-192k.bin bootheader.bin appheader.bin $(TARGET).gz fake.sig > $@
1401
1402flash$(PLATFORM).gz : flash$(PLATFORM).bin
1403        gzip -cn -9 $< > $@
1404
1405flash$(PLATFORM)_nexus.gz : flash$(PLATFORM)_nexus.bin
1406        gzip -cn -9 $< > $@
1407
1408flash_clean :
1409        $(RM) -f flash$(PLATFORM).bin flash$(PLATFORM).gz
1410
1411fake.sig: $(SOURCE_DIR)/bootloader7574/bootloader.bin
1412        dd if=$(SOURCE_DIR)/bootloader7574/bootloader.map of=$@ bs=256 count=1
1413
1414bootloader-192k.bin : $(SOURCE_DIR)/bootloader7574/bootloader.bin
1415        dd if=$< of=$@ bs=192k count=1 conv=sync
1416
1417bootloader.bin.gz : bootloader.bin
1418        gzip -c -9 $< > bootloader.bin.gz
1419
1420bootloader_jflu.bin : ../src/jflu/jflu.bin bootloader.bin.gz
1421        cat $^ > $@
1422
1423jflu : flash$(PLATFORM)_jflu.bin
1424
1425flash$(PLATFORM)_jflu.bin : ../src/jflu/jflu.bin flash$(PLATFORM).gz
1426        cat $^ > $@
1427
1428
1429clean_all :     clean clean_res clean_dcc clean
1430        @cd $(TOP_DIR)/;find . -name "*.d" |xargs rm;
1431        @cd $(TOP_DIR)/;find . -name "*.o" |xargs rm;
1432        @cd $(MAGNUM_DIR)/portinginterface/;rm ape -rf;tar xzf ape.tgz;
1433        @cd $(MAGNUM_DIR)/basemodules/;rm dsp -rf;tar xzf dsp.tgz;
1434        echo 'Clean All...'
1435
1436#
1437# Include all the depends
1438#
1439-include $(BCM_DEPENDS)
Note: See TracBrowser for help on using the repository browser.