source: svn/trunk/newcon3bcm2_21bu/dta/tests/unit_test/makefile @ 5

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

1.phkim

  1. revision copy newcon3sk r27
  • Property svn:executable set to *
File size: 9.7 KB
Line 
1################################################################
2#
3# Broadcom Corp. Confidential
4# Copyright 2011 Broadcom Corp. All Rights Reserved.
5#
6# THIS SOFTWARE MAY ONLY BE USED SUBJECT TO AN EXECUTED
7# SOFTWARE LICENSE AGREEMENT BETWEEN THE USER AND BROADCOM.
8# YOU HAVE NO RIGHT TO USE OR EXPLOIT THIS MATERIAL EXCEPT
9# SUBJECT TO THE TERMS OF SUCH AN AGREEMENT.
10#
11# $brcm_Workfile:  $
12# $brcm_Revision:  $
13# $brcm_Date: $
14#
15# Module Description:  unit test makefile
16#
17# Revision History:
18#
19################################################################/
20
21
22TOPDIR := $(shell cd ../../../ ; /bin/pwd)
23DTA_DIR                 = $(TOPDIR)/dta
24BUILD_DIR               = $(DTA_DIR)/build
25
26DEBUG ?= y
27
28DEBUG_SCM ?= y
29
30BUILD_UCOS ?= y
31
32include $(BUILD_DIR)/platform.inc
33
34SOURCE_DIR              = $(DTA_DIR)/src
35MAGNUM_DIR              = $(TOPDIR)/magnum
36BSEAV_DIR               = $(TOPDIR)/BSEAV
37BSEAV_LIB_DIR           = $(TOPDIR)/BSEAV/lib
38BCMBIN_DIR              = $(TOPDIR)/dta/bin
39Z_DIR                                   = $(SOURCE_DIR)/z
40
41OS                      = ucos_ii
42MAGNUM                  = $(MAGNUM_DIR)
43
44
45
46CFLAGS += -DUCOS_II
47CFLAGS += -DBCHP_CHIP=$(BCHP_CHIP) -DBCHP_VER=BCHP_VER_$(BCHP_VER)
48CFLAGS  += -DBVDC_UINT32_ONLY=1
49
50TARGET = unit_test
51
52LDFLAGS += -T $(BUILD_DIR)/ld.script
53
54all: makefile $(TARGET).bin $(TARGET)_jar.bin flash_$(TARGET).bin
55
56B_SRC = ./main_decode.c \
57        $(SOURCE_DIR)/bos_ucos_ii.c \
58        $(SOURCE_DIR)/bos_trace.c \
59        $(SOURCE_DIR)/gdb_nub.c
60
61CFLAGS += -DMINISTD_RAM=1
62B_ASM_SRC += $(SOURCE_DIR)/crt.S $(SOURCE_DIR)/memcpy.S $(SOURCE_DIR)/setjmp.S
63B_SRC += $(SOURCE_DIR)/ministd.c $(SOURCE_DIR)/bcmmemmgr.c
64B_SRC += $(SOURCE_DIR)/cache_util.c
65
66# unit test files
67
68#B_SRC += ./decode.c
69
70#B_SRC += ./input_parser.c ./parser_test.c
71
72CFLAGS += -DCONFIG_ENABLE_SCM=1
73ifeq ($(DEBUG_SCM),y)
74CFLAGS += -DDEBUG_SCM=1
75endif
76
77B_SRC += interactive_menu.c input_parser.c \
78        test_capture.c cert_common.c
79
80BCM_VPATH       += $(DTA_DIR)/src
81BCM_VPATH       += $(DTA_DIR)/src/$(OS)
82
83B_SRC += umstore.c $(SOURCE_DIR)/bfdb/bfdb.c $(SOURCE_DIR)/bfdb/bfds_spi.c \
84        $(SOURCE_DIR)/bspi_flash.c
85
86# udta mesaging files
87B_SRC += $(SOURCE_DIR)/udtam/umessage.c $(SOURCE_DIR)/app/getbits.c \
88 $(SOURCE_DIR)/udtam/mmode2.c $(SOURCE_DIR)/udtam/scm_low_7552.c
89
90CFLAGS += -I$(SOURCE_DIR)/udtam
91CFLAGS += -I$(SOURCE_DIR)/bootloader/aes
92
93CFLAGS += -I$(BSEAV_DIR)/lib/mpeg2_ts_parse -I$(BSEAV_DIR)/lib/ts_cat
94# rsa and sha1 code
95B_SRC += $(SOURCE_DIR)/bootloader/sha1/sha1o.c \
96 $(SOURCE_DIR)/bootloader/rsa/mp2.c \
97 $(SOURCE_DIR)/bootloader/rsa/mp2_addmul.c \
98 $(SOURCE_DIR)/bootloader/rsa/mp2_mpcopy.c \
99 $(SOURCE_DIR)/bootloader/rsa/mp2_mpzero.c \
100 $(SOURCE_DIR)/bootloader/rsa/mp2_smalldiv.c \
101 $(SOURCE_DIR)/bootloader/rsa/mpclshift.c
102
103CFLAGS += -I$(BSEAV_DIR)/lib/mpeg2_ts_parse -I$(BSEAV_DIR)/lib/ts_cat
104B_SRC += $(BSEAV_DIR)/lib/ts_cat/ca_parser.c \
105                 $(BSEAV_DIR)/lib/mpeg2_ts_parse/ts_psi.c \
106                 $(BSEAV_DIR)/lib/mpeg2_ts_parse/ts_pat.c \
107                 $(BSEAV_DIR)/lib/mpeg2_ts_parse/ts_pmt.c \
108                 $(BSEAV_DIR)/lib/mpeg2_ts_parse/ts_priv.c
109
110# compression, xmodem
111B_SRC +=  $(SOURCE_DIR)/serial.c $(SOURCE_DIR)/xmodem.c
112B_SRC += $(Z_DIR)/bzlib.c \
113        $(Z_DIR)/inflate.c \
114        $(Z_DIR)/crc32.c \
115    $(Z_DIR)/inffast.c \
116    $(Z_DIR)/inftrees.c \
117    $(Z_DIR)/uncompr.c \
118    $(Z_DIR)/adler32.c \
119    $(Z_DIR)/zutil.c
120
121CFLAGS += -I$(Z_DIR)
122
123ifeq ($(BCHP_VER),b0)
124BUILD_ARGB32=y
125endif
126ifeq ($(BCHP_CHIP),7552)
127BUILD_ARGB32=y
128endif
129
130ifeq ($(BUILD_ARGB32),y)
131CFLAGS += -DCONFIG_GFX_ARGB32
132endif
133
134B_SRC += $(SOURCE_DIR)/libc.c
135
136# required include path
137CFLAGS += -I$(SOURCE_DIR)/app -I$(SOURCE_DIR)/app/dta -I$(SOURCE_DIR)/bfdb \
138 -I$(SOURCE_DIR)/bootloader7574
139
140#
141# Settop API
142#
143
144B_SRC += \
145 $(SOURCE_DIR)/settop_api/bsettop_smessage_rave.c \
146 $(SOURCE_DIR)/settop_api/bsettop_stream_rave.c \
147 $(SOURCE_DIR)/settop_api/bcrc32.c \
148 $(SOURCE_DIR)/settop_api/msg_filter.c \
149 $(SOURCE_DIR)/settop_api/bsettop.c \
150 $(SOURCE_DIR)/settop_api/bsettop_rfm.c \
151 $(SOURCE_DIR)/settop_api/bsettop_display.c \
152 $(SOURCE_DIR)/settop_api/bsettop_hdmi.c \
153 $(SOURCE_DIR)/settop_api/bsettop_decode.c \
154 $(SOURCE_DIR)/settop_api/bdecode_audio_raaga.c \
155 $(SOURCE_DIR)/settop_api/bsettop_graphics.c \
156 $(SOURCE_DIR)/settop_api/bsettop_user_io.c \
157 $(SOURCE_DIR)/settop_api/bsettop_smartcard.c \
158 $(SOURCE_DIR)/settop_api/bsettop_pcm.c \
159 $(SOURCE_DIR)/settop_api/bsettop_gpio.c \
160 $(SOURCE_DIR)/settop_api/xds_ctrl.c
161
162HAS_VSB ?=y
163ACB612  ?=y
164NXP_TDA182I4 ?= y
165
166ifeq ($(HAS_VSB),y)
167
168BVSB_CHIP := 3520
169CFLAGS += -DCONFIG_VSB -I$(SOURCE_DIR)/settop_api/vsb
170
171ifeq (${TUNER_DEBUG},y)
172CFLAGS += -DCONFIG_TUNER_TEST
173endif
174
175ifeq (${NXP_TDA182I4},y)
176        CFLAGS += -DCONFIG_NXP_TDA182I4
177
178        CFLAGS += -I$(SOURCE_DIR)/settop_api/NXP_TDA182I4/inc
179        CFLAGS += -I$(SOURCE_DIR)/settop_api/NXP_TDA182I4/tmbslTDA182I4
180
181        B_SRC += \
182                $(SOURCE_DIR)/settop_api/NXP_TDA182I4/tmbslTDA182I4/tmbslTDA182I4.c \
183                $(SOURCE_DIR)/settop_api/NXP_TDA182I4/tmbslTDA182I4/tmbslTDA182I4_Instance.c\
184                $(SOURCE_DIR)/settop_api/NXP_TDA182I4/tmbslTDA182I4/tmbslTDA182I4_RegDef.c
185endif
186
187B_SRC += \
188        $(SOURCE_DIR)/settop_api/bsettop_tuner_vsb.c \
189        $(SOURCE_DIR)/settop_api/vsb/bcm3520ap_a1.c \
190        $(SOURCE_DIR)/settop_api/vsb/bcm3520ap_b0.c
191
192### else ifeq ($(HAS_VSB),y)
193else
194B_SRC += \
195        $(SOURCE_DIR)/settop_api/bsettop_tuner.c
196endif
197
198CFLAGS += -I$(SOURCE_DIR)/settop_api
199
200ifeq ($(HAS_OOB),y)
201ifeq ($(BCHP_VER),B0)
202B_SRC += $(SOURCE_DIR)/settop_api/bsettop_tuner_aob.c
203B_SRC += test_oob.c
204# enable it if want to add a test function in CLI
205CFLAGS += -DOOB_TUNER_SUPPORT
206# OOB tuner related
207CFLAGS += -DOOB_TUNER_BAND=2 -DOOB_IB=9 -DOOB_DAVIC_PARSER=6
208# ATM filter
209B_SRC += $(SOURCE_DIR)/settop_api/amsg_filter.c         \
210        $(SOURCE_DIR)/settop_api/bsettop_amessage_rave.c
211endif
212endif
213
214B_SRC += test_tuner.c
215
216CFLAGS += -DTUNER_BAND=0
217ifeq (${BCHP_CHIP},7552)
218ifeq ($(ACB612),y)
219# ISB160 use IB 5 (PKT2)
220CFLAGS += -DPARSER_BAND=5
221else
222CFLAGS += -DPARSER_BAND=1
223endif
224else
225CFLAGS += -DPARSER_BAND=3
226endif
227
228# A/56 support for Cisco HE
229HAS_A56 ?= y
230
231ifeq ($(HAS_A56),y)
232CFLAGS += -DCONFIG_A56
233CFLAGS += -I$(BSEAV_LIB_DIR)/si
234CFLAGS += -I$(BSEAV_LIB_DIR)/si/os
235CFLAGS += -I$(BSEAV_LIB_DIR)/si/os/ucos
236CFLAGS += -I$(BSEAV_LIB_DIR)/si/common
237CFLAGS += -I$(BSEAV_LIB_DIR)/si/stt
238CFLAGS += -I$(BSEAV_LIB_DIR)/si/a56
239CFLAGS += -I$(BSEAV_LIB_DIR)/si/a56/nim
240CFLAGS += -I$(BSEAV_LIB_DIR)/si/a56/ntm
241CFLAGS += -I$(BSEAV_LIB_DIR)/si/a56/vcm
242
243B_SRC +=        \
244                $(BSEAV_LIB_DIR)/si/os/ucos/si_os.c                     \
245                $(BSEAV_LIB_DIR)/si/common/si_util.c            \
246                $(BSEAV_LIB_DIR)/si/common/si_dbg.c                     \
247                $(BSEAV_LIB_DIR)/si/stt/si_stt.c                        \
248                $(BSEAV_LIB_DIR)/si/a56/nim/si_nim.c            \
249                $(BSEAV_LIB_DIR)/si/a56/nim/si_nim_cdt.c        \
250                $(BSEAV_LIB_DIR)/si/a56/nim/si_nim_mmt.c        \
251                $(BSEAV_LIB_DIR)/si/a56/ntm/si_ntm.c            \
252                $(BSEAV_LIB_DIR)/si/a56/ntm/si_ntm_snt.c        \
253                $(BSEAV_LIB_DIR)/si/a56/vcm/si_vcm.c            \
254                $(BSEAV_LIB_DIR)/si/a56/vcm/si_vcm_vct.c
255
256B_SRC += test_a56.c
257# if use SCTE65 stream for SI test
258CFLAGS += -DUSE_SCTE65_SI
259
260endif   # HAS_A56
261
262# Gist api
263B_SRC += $(SOURCE_DIR)/gist/gist.c
264
265#B_SRC += $(SOURCE_DIR)/dsploader/dsploader.c
266
267ifeq ($(HDCPLIB),y)
268CFLAGS += -DHDCPLIB
269BHDCPLIB_HDCP_SUPPORT ?= 1
270
271# HDCPLIB_HSM should not be set if CONFIG_ENABLE_SCM is set
272ifneq ($(HDCPLIB_HSM),y)
273CFLAGS += -I$(SOURCE_DIR)/hdcplib
274# HDCP library
275B_SRC += $(SOURCE_DIR)/hdcplib/bhdcplib.c \
276                $(SOURCE_DIR)/hdcplib/bhdcplib_hdcpkeys.c \
277                $(SOURCE_DIR)/hdcplib/bhdcplib_keyloader.c
278else
279BHSM_SECURE_KEYLADDER_MK ?=1
280endif
281endif
282
283CFLAGS += -I$(SOURCE_DIR)/gist -DDISPLAY_NTSC=1
284
285FCC_OBJS = $(FCC_DIR)/vprimer.o
286CFLAGS += -DCONFIG_AVC_FCC
287FCC_OBJS += $(BSEAV_DIR)/lib/utils/bvlc.o
288LIB_DIR = $(DTA_DIR)/lib
289CFLAGS += -I$(BSEAV_DIR)/lib/utils
290
291
292# Soft floating point
293SOFT_FP_LIB = $(LIB_DIR)/soft-fp.a
294
295#defines for PI
296CFLAGS += -DBSTD_CPU_ENDIAN=BSTD_ENDIAN_LITTLE
297
298include $(BUILD_DIR)/ucos.mk
299include $(BUILD_DIR)/magnum.mk
300
301BCM_INCLUDE = $(patsubst %,-I%,$(subst :, ,$(BCM_VPATH)))
302CFLAGS += $(BCM_INCLUDE) -I./ -DMEMCOPY -DBKNI_TRACK_MALLOCS=0
303
304BCM_OBJS = $(B_SRC:.c=.o)
305BCM_ASM_OBJS += $(B_ASM_SRC:.S=.o)
306
307BCM_LIB_OBJS = $(LIB_DIR)/libucos_ii.a $(LIB_DIR)/libmagnum.a \
308        $(LIB_DIR)/libfcc.a  $(SOFT_FP_LIB)
309
310BCM_DEPENDS := $(BCM_OBJS:.o=.d) $(BCM_ASM_OBJS:.o=.d)
311
312$(TARGET).elf: $(BCM_OBJS) $(BCM_ASM_OBJS) $(BCM_LIB_OBJS) $(BCM_LIB_GP_OBJS)
313        $(LD) -Map $(TARGET).map $(LDFLAGS) $(BCM_ASM_OBJS) $(BCM_OBJS) $(LDFLAGS_GP) $(BCM_LIB_OBJS) -o $@
314
315$(TARGET).bin: $(TARGET).elf
316        $(CROSS_COMPILE)objcopy --verbose -S -O binary $(TARGET).elf $(TARGET).bin
317
318%.o: %.c
319        $(CC) -MMD $(CFLAGS) -c $< -o $@
320
321%.o: %.S
322        $(CC) -MMD $(ASFLAGS) -c $< -o $@
323
324clean: clean_target
325
326
327clean_target:
328        $(RM) -f *.gz *.o_* *.sym *.map *~ core *.elf *.bin *.dis *.lst $(BCM_OBJS) $(BCM_ASM_OBJS) $(BCM_DEPENDS) svp_id.c
329
330JAR_BINARY = $(SOURCE_DIR)/jar/jar.bin
331
332jar : $(JAR_BINARY) $(TARGET).gz $(TARGET)_jar.bin
333
334$(TARGET).gz : $(TARGET).bin
335# compress image and pad it to 0x80 byte boundary
336        gzip -cn -9 $< | dd bs=128 conv=sync > $@
337$(TARGET)_jar.bin : $(TARGET).gz
338        cat $(JAR_BINARY) $< > $@
339$(JAR_BINARY) :
340        make -C $(SOURCE_DIR)/jar clean all
341
342bootloader : $(SOURCE_DIR)/bootloader7574/bootloader.bin
343
344$(SOURCE_DIR)/bootloader7574/bootloader.bin :
345        make -C $(SOURCE_DIR)/bootloader7574 -f bootloader.mk HAS_STANDBY=$(HAS_STANDBY) USERIO_ID=$(USERIO_ID)
346
347flash_$(TARGET).bin : bootloader-192k.bin $(TARGET).gz fake.sig
348        python $(SOURCE_DIR)/bootloader7574/makeheaders.py 1 $(TARGET).gz
349        cat bootloader-192k.bin bootheader.bin appheader.bin $(TARGET).gz fake.sig $(SOURCE_DIR)/dsploader/scm.sbin > $@
350
351flash_$(TARGET).gz : flash_$(TARGET).bin
352        gzip -cn -9 $< > $@
353
354flash_$(TARGET)_jflu.bin : $(SOURCE_DIR)/jflu/jflu.bin flash_$(TARGET).gz
355        cat $^ > $@
356
357fake.sig: $(SOURCE_DIR)/bootloader7574/bootloader.bin
358        dd if=$(SOURCE_DIR)/bootloader7574/bootloader.map of=$@ bs=256 count=1
359
360bootloader-192k.bin : $(SOURCE_DIR)/bootloader7574/bootloader.bin
361        dd if=$< of=$@ bs=192k count=1 conv=sync
362
363bootloader.bin.gz : bootloader.bin
364        gzip -c -9 $< > bootloader.bin.gz
365
366-include $(BCM_DEPENDS)
Note: See TracBrowser for help on using the repository browser.