################################################################ # # Broadcom Corp. Confidential # Copyright 2011 Broadcom Corp. All Rights Reserved. # # THIS SOFTWARE MAY ONLY BE USED SUBJECT TO AN EXECUTED # SOFTWARE LICENSE AGREEMENT BETWEEN THE USER AND BROADCOM. # YOU HAVE NO RIGHT TO USE OR EXPLOIT THIS MATERIAL EXCEPT # SUBJECT TO THE TERMS OF SUCH AN AGREEMENT. # # $brcm_Workfile: $ # $brcm_Revision: $ # $brcm_Date: $ # # Module Description: unit test makefile # # Revision History: # ################################################################/ TOPDIR := $(shell cd ../../../ ; /bin/pwd) DTA_DIR = $(TOPDIR)/dta BUILD_DIR = $(DTA_DIR)/build DEBUG ?= y DEBUG_SCM ?= y BUILD_UCOS ?= y include $(BUILD_DIR)/platform.inc SOURCE_DIR = $(DTA_DIR)/src MAGNUM_DIR = $(TOPDIR)/magnum BSEAV_DIR = $(TOPDIR)/BSEAV BSEAV_LIB_DIR = $(TOPDIR)/BSEAV/lib BCMBIN_DIR = $(TOPDIR)/dta/bin Z_DIR = $(SOURCE_DIR)/z OS = ucos_ii MAGNUM = $(MAGNUM_DIR) CFLAGS += -DUCOS_II CFLAGS += -DBCHP_CHIP=$(BCHP_CHIP) -DBCHP_VER=BCHP_VER_$(BCHP_VER) CFLAGS += -DBVDC_UINT32_ONLY=1 TARGET = unit_test LDFLAGS += -T $(BUILD_DIR)/ld.script all: makefile $(TARGET).bin $(TARGET)_jar.bin flash_$(TARGET).bin B_SRC = ./main_decode.c \ $(SOURCE_DIR)/bos_ucos_ii.c \ $(SOURCE_DIR)/bos_trace.c \ $(SOURCE_DIR)/gdb_nub.c CFLAGS += -DMINISTD_RAM=1 B_ASM_SRC += $(SOURCE_DIR)/crt.S $(SOURCE_DIR)/memcpy.S $(SOURCE_DIR)/setjmp.S B_SRC += $(SOURCE_DIR)/ministd.c $(SOURCE_DIR)/bcmmemmgr.c B_SRC += $(SOURCE_DIR)/cache_util.c # unit test files #B_SRC += ./decode.c #B_SRC += ./input_parser.c ./parser_test.c CFLAGS += -DCONFIG_ENABLE_SCM=1 ifeq ($(DEBUG_SCM),y) CFLAGS += -DDEBUG_SCM=1 endif B_SRC += interactive_menu.c input_parser.c \ test_capture.c cert_common.c BCM_VPATH += $(DTA_DIR)/src BCM_VPATH += $(DTA_DIR)/src/$(OS) B_SRC += umstore.c $(SOURCE_DIR)/bfdb/bfdb.c $(SOURCE_DIR)/bfdb/bfds_spi.c \ $(SOURCE_DIR)/bspi_flash.c # udta mesaging files B_SRC += $(SOURCE_DIR)/udtam/umessage.c $(SOURCE_DIR)/app/getbits.c \ $(SOURCE_DIR)/udtam/mmode2.c $(SOURCE_DIR)/udtam/scm_low_7552.c CFLAGS += -I$(SOURCE_DIR)/udtam CFLAGS += -I$(SOURCE_DIR)/bootloader/aes CFLAGS += -I$(BSEAV_DIR)/lib/mpeg2_ts_parse -I$(BSEAV_DIR)/lib/ts_cat # rsa and sha1 code B_SRC += $(SOURCE_DIR)/bootloader/sha1/sha1o.c \ $(SOURCE_DIR)/bootloader/rsa/mp2.c \ $(SOURCE_DIR)/bootloader/rsa/mp2_addmul.c \ $(SOURCE_DIR)/bootloader/rsa/mp2_mpcopy.c \ $(SOURCE_DIR)/bootloader/rsa/mp2_mpzero.c \ $(SOURCE_DIR)/bootloader/rsa/mp2_smalldiv.c \ $(SOURCE_DIR)/bootloader/rsa/mpclshift.c CFLAGS += -I$(BSEAV_DIR)/lib/mpeg2_ts_parse -I$(BSEAV_DIR)/lib/ts_cat B_SRC += $(BSEAV_DIR)/lib/ts_cat/ca_parser.c \ $(BSEAV_DIR)/lib/mpeg2_ts_parse/ts_psi.c \ $(BSEAV_DIR)/lib/mpeg2_ts_parse/ts_pat.c \ $(BSEAV_DIR)/lib/mpeg2_ts_parse/ts_pmt.c \ $(BSEAV_DIR)/lib/mpeg2_ts_parse/ts_priv.c # compression, xmodem B_SRC += $(SOURCE_DIR)/serial.c $(SOURCE_DIR)/xmodem.c B_SRC += $(Z_DIR)/bzlib.c \ $(Z_DIR)/inflate.c \ $(Z_DIR)/crc32.c \ $(Z_DIR)/inffast.c \ $(Z_DIR)/inftrees.c \ $(Z_DIR)/uncompr.c \ $(Z_DIR)/adler32.c \ $(Z_DIR)/zutil.c CFLAGS += -I$(Z_DIR) ifeq ($(BCHP_VER),b0) BUILD_ARGB32=y endif ifeq ($(BCHP_CHIP),7552) BUILD_ARGB32=y endif ifeq ($(BUILD_ARGB32),y) CFLAGS += -DCONFIG_GFX_ARGB32 endif B_SRC += $(SOURCE_DIR)/libc.c # required include path CFLAGS += -I$(SOURCE_DIR)/app -I$(SOURCE_DIR)/app/dta -I$(SOURCE_DIR)/bfdb \ -I$(SOURCE_DIR)/bootloader7574 # # Settop API # B_SRC += \ $(SOURCE_DIR)/settop_api/bsettop_smessage_rave.c \ $(SOURCE_DIR)/settop_api/bsettop_stream_rave.c \ $(SOURCE_DIR)/settop_api/bcrc32.c \ $(SOURCE_DIR)/settop_api/msg_filter.c \ $(SOURCE_DIR)/settop_api/bsettop.c \ $(SOURCE_DIR)/settop_api/bsettop_rfm.c \ $(SOURCE_DIR)/settop_api/bsettop_display.c \ $(SOURCE_DIR)/settop_api/bsettop_hdmi.c \ $(SOURCE_DIR)/settop_api/bsettop_decode.c \ $(SOURCE_DIR)/settop_api/bdecode_audio_raaga.c \ $(SOURCE_DIR)/settop_api/bsettop_graphics.c \ $(SOURCE_DIR)/settop_api/bsettop_user_io.c \ $(SOURCE_DIR)/settop_api/bsettop_smartcard.c \ $(SOURCE_DIR)/settop_api/bsettop_pcm.c \ $(SOURCE_DIR)/settop_api/bsettop_gpio.c \ $(SOURCE_DIR)/settop_api/xds_ctrl.c HAS_VSB ?=y ACB612 ?=y NXP_TDA182I4 ?= y ifeq ($(HAS_VSB),y) BVSB_CHIP := 3520 CFLAGS += -DCONFIG_VSB -I$(SOURCE_DIR)/settop_api/vsb ifeq (${TUNER_DEBUG},y) CFLAGS += -DCONFIG_TUNER_TEST endif ifeq (${NXP_TDA182I4},y) CFLAGS += -DCONFIG_NXP_TDA182I4 CFLAGS += -I$(SOURCE_DIR)/settop_api/NXP_TDA182I4/inc CFLAGS += -I$(SOURCE_DIR)/settop_api/NXP_TDA182I4/tmbslTDA182I4 B_SRC += \ $(SOURCE_DIR)/settop_api/NXP_TDA182I4/tmbslTDA182I4/tmbslTDA182I4.c \ $(SOURCE_DIR)/settop_api/NXP_TDA182I4/tmbslTDA182I4/tmbslTDA182I4_Instance.c\ $(SOURCE_DIR)/settop_api/NXP_TDA182I4/tmbslTDA182I4/tmbslTDA182I4_RegDef.c endif B_SRC += \ $(SOURCE_DIR)/settop_api/bsettop_tuner_vsb.c \ $(SOURCE_DIR)/settop_api/vsb/bcm3520ap_a1.c \ $(SOURCE_DIR)/settop_api/vsb/bcm3520ap_b0.c ### else ifeq ($(HAS_VSB),y) else B_SRC += \ $(SOURCE_DIR)/settop_api/bsettop_tuner.c endif CFLAGS += -I$(SOURCE_DIR)/settop_api ifeq ($(HAS_OOB),y) ifeq ($(BCHP_VER),B0) B_SRC += $(SOURCE_DIR)/settop_api/bsettop_tuner_aob.c B_SRC += test_oob.c # enable it if want to add a test function in CLI CFLAGS += -DOOB_TUNER_SUPPORT # OOB tuner related CFLAGS += -DOOB_TUNER_BAND=2 -DOOB_IB=9 -DOOB_DAVIC_PARSER=6 # ATM filter B_SRC += $(SOURCE_DIR)/settop_api/amsg_filter.c \ $(SOURCE_DIR)/settop_api/bsettop_amessage_rave.c endif endif B_SRC += test_tuner.c CFLAGS += -DTUNER_BAND=0 ifeq (${BCHP_CHIP},7552) ifeq ($(ACB612),y) # ISB160 use IB 5 (PKT2) CFLAGS += -DPARSER_BAND=5 else CFLAGS += -DPARSER_BAND=1 endif else CFLAGS += -DPARSER_BAND=3 endif # A/56 support for Cisco HE HAS_A56 ?= y ifeq ($(HAS_A56),y) CFLAGS += -DCONFIG_A56 CFLAGS += -I$(BSEAV_LIB_DIR)/si CFLAGS += -I$(BSEAV_LIB_DIR)/si/os CFLAGS += -I$(BSEAV_LIB_DIR)/si/os/ucos CFLAGS += -I$(BSEAV_LIB_DIR)/si/common CFLAGS += -I$(BSEAV_LIB_DIR)/si/stt CFLAGS += -I$(BSEAV_LIB_DIR)/si/a56 CFLAGS += -I$(BSEAV_LIB_DIR)/si/a56/nim CFLAGS += -I$(BSEAV_LIB_DIR)/si/a56/ntm CFLAGS += -I$(BSEAV_LIB_DIR)/si/a56/vcm B_SRC += \ $(BSEAV_LIB_DIR)/si/os/ucos/si_os.c \ $(BSEAV_LIB_DIR)/si/common/si_util.c \ $(BSEAV_LIB_DIR)/si/common/si_dbg.c \ $(BSEAV_LIB_DIR)/si/stt/si_stt.c \ $(BSEAV_LIB_DIR)/si/a56/nim/si_nim.c \ $(BSEAV_LIB_DIR)/si/a56/nim/si_nim_cdt.c \ $(BSEAV_LIB_DIR)/si/a56/nim/si_nim_mmt.c \ $(BSEAV_LIB_DIR)/si/a56/ntm/si_ntm.c \ $(BSEAV_LIB_DIR)/si/a56/ntm/si_ntm_snt.c \ $(BSEAV_LIB_DIR)/si/a56/vcm/si_vcm.c \ $(BSEAV_LIB_DIR)/si/a56/vcm/si_vcm_vct.c B_SRC += test_a56.c # if use SCTE65 stream for SI test CFLAGS += -DUSE_SCTE65_SI endif # HAS_A56 # Gist api B_SRC += $(SOURCE_DIR)/gist/gist.c #B_SRC += $(SOURCE_DIR)/dsploader/dsploader.c ifeq ($(HDCPLIB),y) CFLAGS += -DHDCPLIB BHDCPLIB_HDCP_SUPPORT ?= 1 # HDCPLIB_HSM should not be set if CONFIG_ENABLE_SCM is set ifneq ($(HDCPLIB_HSM),y) CFLAGS += -I$(SOURCE_DIR)/hdcplib # HDCP library B_SRC += $(SOURCE_DIR)/hdcplib/bhdcplib.c \ $(SOURCE_DIR)/hdcplib/bhdcplib_hdcpkeys.c \ $(SOURCE_DIR)/hdcplib/bhdcplib_keyloader.c else BHSM_SECURE_KEYLADDER_MK ?=1 endif endif CFLAGS += -I$(SOURCE_DIR)/gist -DDISPLAY_NTSC=1 FCC_OBJS = $(FCC_DIR)/vprimer.o CFLAGS += -DCONFIG_AVC_FCC FCC_OBJS += $(BSEAV_DIR)/lib/utils/bvlc.o LIB_DIR = $(DTA_DIR)/lib CFLAGS += -I$(BSEAV_DIR)/lib/utils # Soft floating point SOFT_FP_LIB = $(LIB_DIR)/soft-fp.a #defines for PI CFLAGS += -DBSTD_CPU_ENDIAN=BSTD_ENDIAN_LITTLE include $(BUILD_DIR)/ucos.mk include $(BUILD_DIR)/magnum.mk BCM_INCLUDE = $(patsubst %,-I%,$(subst :, ,$(BCM_VPATH))) CFLAGS += $(BCM_INCLUDE) -I./ -DMEMCOPY -DBKNI_TRACK_MALLOCS=0 BCM_OBJS = $(B_SRC:.c=.o) BCM_ASM_OBJS += $(B_ASM_SRC:.S=.o) BCM_LIB_OBJS = $(LIB_DIR)/libucos_ii.a $(LIB_DIR)/libmagnum.a \ $(LIB_DIR)/libfcc.a $(SOFT_FP_LIB) BCM_DEPENDS := $(BCM_OBJS:.o=.d) $(BCM_ASM_OBJS:.o=.d) $(TARGET).elf: $(BCM_OBJS) $(BCM_ASM_OBJS) $(BCM_LIB_OBJS) $(BCM_LIB_GP_OBJS) $(LD) -Map $(TARGET).map $(LDFLAGS) $(BCM_ASM_OBJS) $(BCM_OBJS) $(LDFLAGS_GP) $(BCM_LIB_OBJS) -o $@ $(TARGET).bin: $(TARGET).elf $(CROSS_COMPILE)objcopy --verbose -S -O binary $(TARGET).elf $(TARGET).bin %.o: %.c $(CC) -MMD $(CFLAGS) -c $< -o $@ %.o: %.S $(CC) -MMD $(ASFLAGS) -c $< -o $@ clean: clean_target clean_target: $(RM) -f *.gz *.o_* *.sym *.map *~ core *.elf *.bin *.dis *.lst $(BCM_OBJS) $(BCM_ASM_OBJS) $(BCM_DEPENDS) svp_id.c JAR_BINARY = $(SOURCE_DIR)/jar/jar.bin jar : $(JAR_BINARY) $(TARGET).gz $(TARGET)_jar.bin $(TARGET).gz : $(TARGET).bin # compress image and pad it to 0x80 byte boundary gzip -cn -9 $< | dd bs=128 conv=sync > $@ $(TARGET)_jar.bin : $(TARGET).gz cat $(JAR_BINARY) $< > $@ $(JAR_BINARY) : make -C $(SOURCE_DIR)/jar clean all bootloader : $(SOURCE_DIR)/bootloader7574/bootloader.bin $(SOURCE_DIR)/bootloader7574/bootloader.bin : make -C $(SOURCE_DIR)/bootloader7574 -f bootloader.mk HAS_STANDBY=$(HAS_STANDBY) USERIO_ID=$(USERIO_ID) flash_$(TARGET).bin : bootloader-192k.bin $(TARGET).gz fake.sig python $(SOURCE_DIR)/bootloader7574/makeheaders.py 1 $(TARGET).gz cat bootloader-192k.bin bootheader.bin appheader.bin $(TARGET).gz fake.sig $(SOURCE_DIR)/dsploader/scm.sbin > $@ flash_$(TARGET).gz : flash_$(TARGET).bin gzip -cn -9 $< > $@ flash_$(TARGET)_jflu.bin : $(SOURCE_DIR)/jflu/jflu.bin flash_$(TARGET).gz cat $^ > $@ fake.sig: $(SOURCE_DIR)/bootloader7574/bootloader.bin dd if=$(SOURCE_DIR)/bootloader7574/bootloader.map of=$@ bs=256 count=1 bootloader-192k.bin : $(SOURCE_DIR)/bootloader7574/bootloader.bin dd if=$< of=$@ bs=192k count=1 conv=sync bootloader.bin.gz : bootloader.bin gzip -c -9 $< > bootloader.bin.gz -include $(BCM_DEPENDS)