www.usr.com/support/gpl/USR9113_release1.0.tar.gz
[bcm963xx.git] / Makefile
index 1ab7837..efe5948 100755 (executable)
--- a/Makefile
+++ b/Makefile
@@ -18,7 +18,6 @@ include version.make
 
 BRCM_RELEASETAG=$(BRCM_VERSION).$(BRCM_RELEASE)L.$(BRCM_EXTRAVERSION)
 
-
 ###########################################
 #
 # Define Basic Variables
@@ -47,8 +46,7 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
           else echo sh; fi ; fi)
 GENDEFCONFIG_CMD = $(HOSTTOOLS_DIR)/scripts/gendefconfig
 RUN_NOISE=0
-
-
+6510_REF_CODE=$(BUILD_DIR)/userapps/broadcom/6510refCode
 
 ###########################################
 #
@@ -61,6 +59,7 @@ ifeq ($(strip $(PROFILE)),)
 PROFILE=$(LAST_PROFILE)
 export PROFILE
 endif
+
 ifneq ($(strip $(PROFILE)),)
 include $(TARGETS_DIR)/$(PROFILE)/$(PROFILE)
 export BRCM_CHIP
@@ -122,16 +121,15 @@ CFE_FS_KERNEL_IMAGE_NAME = $(VENDOR_NAME)$(PROFILE)_cfe_fs_kernel
 FLASH_IMAGE_NAME = $(VENDOR_NAME)$(PROFILE)_flash_image_$(BRCM_BOARD_ID)
 INC_BRCMDRIVER_PUB_PATH=$(BRCMDRIVERS_DIR)/opensource/include
 INC_BRCMDRIVER_PRIV_PATH=$(BRCMDRIVERS_DIR)/broadcom/include
-INC_BRCMBOARDPARMS_PATH=$(TARGETS_DIR)/boardparms
 INC_ENDPOINT_PATH=$(BRCMDRIVERS_DIR)/broadcom/char/endpoint/bcm9$(BRCM_CHIP)/inc
-#INC_ADSLDRV_PATH=$(BRCMDRIVERS_DIR)/broadcom/char/adsl/bcm9$(BRCM_CHIP)
 INC_ADSLDRV_PATH=$(BRCMDRIVERS_DIR)/broadcom/char/adsl/impl1
 BROADCOM_CFM_DIR=$(BROADCOM_DIR)/cfm
 INC_BRCMCFM_PATH=$(BROADCOM_CFM_DIR)/inc
-VENDOR_COUNTRY = ALL
-INC_BRCMSHARED_INC_PATH=$(SHARED_DIR)/include
-INC_BRCMSHARED_SRC_PATH=$(SHARED_DIR)/src
-
+INC_BRCMSHARED_PUB_PATH=$(SHARED_DIR)/opensource/include
+INC_BRCMSHARED_PRIV_PATH=$(SHARED_DIR)/broadcom/include
+INC_BRCMBOARDPARMS_PATH=$(SHARED_DIR)/opensource/boardparms
+INC_FLASH_PATH=$(SHARED_DIR)/opensource/flash
+VENDOR_COUNTRY = IT
 
 ifeq ($(strip $(BRCM_APP_PHONE)),sip)
 export VOXXXLOAD=1
@@ -167,6 +165,10 @@ ifeq ($(strip $(BRCM_VODSL_STUNC)),y)
        export BRCM_VODSL_STUN_CLIENT=1
 endif
 
+ifeq ($(strip $(BRCM_VODSL_RANDOMP)),y)
+       export BRCM_VODSL_RANDOM_PORT=1
+endif
+
 BRCM_DSP_HAL := gw
 BRCM_DSP_HAL_EXTENSION :=
 XCHANGE_DSP_APP_EXTENSION :=
@@ -193,6 +195,23 @@ BRCM_DSP_HAL_EXTENSION := _hybrid
 XCHANGE_DSP_APP_EXTENSION := _fxo_ext
 endif
 
+ifeq ($(strip $(BUILD_VDSL)),y)
+export BUILD_VDSL=y
+VBOOT_BIN="boot.bin"
+ifneq ($(strip $(CPE_ANNEX_B)),)
+  CPE_MODEM="cpe_annex_b.bin"
+else
+  CPE_MODEM="cpe_annex_a.bin"
+endif
+ifeq ($(strip $(VCOPE_TYPE)),CO)
+  VMODEM_BIN="co_modem.bin"
+endif
+ifeq ($(strip $(VCOPE_TYPE)),CPE)
+  VMODEM_BIN=$(CPE_MODEM)
+endif
+
+endif
+
 #
 #  Warning here, we do re-assign some of the variables defined earlier:
 #  BRCM_DSP_HAL and BRCM_DSP_HAL_EXTENSION for example, in order to pickup
@@ -251,7 +270,6 @@ BRCM_DSP_CODEC_DEFINES += -DXCFG_FAX_SUPPORT=1
 endif
 
 ifeq ($(strip $(BRCM_DSP_PCM_T38_EXT)),y)
-BRCM_DSP_CODEC_DEFINES += -DXCFG_G729_SUPPORT=1
 BRCM_DSP_CODEC_DEFINES += -DXCFG_FAX_SUPPORT=1
 endif
 
@@ -267,6 +285,15 @@ BRCM_DSP_CODEC_DEFINES += -DXCFG_G726_SUPPORT=1
 BRCM_DSP_CODEC_DEFINES += -DXCFG_FAX_SUPPORT=1
 endif
 
+ifeq ($(strip $(BRCM_DSP_CODEC)),all)
+BRCM_DSP_CODEC_DEFINES += -DXCFG_G7231_SUPPORT=1
+BRCM_DSP_CODEC_DEFINES += -DXCFG_G726_SUPPORT=1
+BRCM_DSP_CODEC_DEFINES += -DXCFG_G729_SUPPORT=1
+BRCM_DSP_CODEC_DEFINES += -DXCFG_BV16_SUPPORT=1
+BRCM_DSP_CODEC_DEFINES += -DXCFG_ILBC_SUPPORT=1
+BRCM_DSP_CODEC_DEFINES += -DXCFG_FAX_SUPPORT=1
+endif
+
 
 #
 #  Definition of the number of voice channels supported based on the specific
@@ -285,7 +312,6 @@ export BRCM_DSP_FXO
 export XCHANGE_BUILD_APP=Bcm$(BRCM_CHIP)$(BRCM_DSP_HAL)$(BRCM_DSP_HAL_EXTENSION)
 export XCHANGE_DSP_APP_EXTENSION
 export BRCM_DSP_HAL_EXTENSION
-BRCM_RELEASETAG := $(BRCM_RELEASETAG).$(XCHANGE_DSP_APP)
 
 # If no codec is selected, build G.711 load.
 # Any XCHANGE_BUILD_APP directory would be OK
@@ -294,15 +320,56 @@ ifneq ($(strip $(BUILD_VODSL)),)
 ifeq ($(strip $(XCHANGE_DSP_APP)),)
 export XCHANGE_BUILD_APP=Bcm$(BRCM_CHIP)gw
 export XCHANGE_DSP_APP=g711
-BRCM_RELEASETAG := $(BRCM_RELEASETAG).g711
 endif
 endif
+BRCM_RELEASETAG := $(BRCM_RELEASETAG).$(XCHANGE_DSP_APP)
 
-ifeq ($(strip $(BRCM_MIPS_ONLY_BUILD)),y)
-export XCHANGE_BUILD_APP=Bcm$(BRCM_CHIP)lv
-BRCM_DSP_HAL := lv
-BRCM_DSP_HAL_EXTENSION :=
-XCHANGE_DSP_APP_EXTENSION=
+ifeq ($(strip $(BRCM_CHIP)),6358)
+ifeq ($(strip $(BRCM_6358_G729_FXO)),y)
+BRCM_DSP_HAL := vw_fxo
+BRCM_DSP_CHAN_DEFINES = -DNUM_FXO_CHANNELS=1
+BRCM_DSP_CODEC_DEFINES += -DXCFG_G729_SUPPORT=1
+BRCM_DSP_CODEC_DEFINES += -DXCFG_G726_SUPPORT=1
+BRCM_DSP_CODEC_DEFINES += -DXCFG_FAX_SUPPORT=1
+export BRCM_6358_G729_FXO
+export XCHANGE_BUILD_APP=Bcm$(BRCM_CHIP)vw_fxo
+export BRCM_DSP_CODEC_DEFINES
+else
+ifeq ($(strip $(BRCM_6358_G729_4FXS)),y)
+BRCM_DSP_HAL := vw_4fxs
+export BRCM_6358_G729_4FXS
+export XCHANGE_BUILD_APP=Bcm$(BRCM_CHIP)vw_4fxs
+else
+ifeq ($(strip $(BRCM_6358_G729_2FXS_LEGERITY)),y)
+BRCM_DSP_HAL := vw_legerity
+export BRCM_6358_G729_2FXS_LEGERITY
+export XCHANGE_BUILD_APP=Bcm$(BRCM_CHIP)vw_legerity
+else
+ifeq ($(strip $(BRCM_6358_G729_FXO_LEGERITY)),y)
+BRCM_DSP_HAL := vw_fxo_legerity
+BRCM_DSP_CHAN_DEFINES = -DNUM_FXO_CHANNELS=1
+export BRCM_6358_G729_FXO_LEGERITY
+export XCHANGE_BUILD_APP=Bcm$(BRCM_CHIP)vw_fxo_legerity
+else
+ifeq ($(strip $(BRCM_6358_G729_ISDN_FXO_LEGERITY)),y)
+BRCM_DSP_HAL := vw_isdn_fxo
+BRCM_DSP_CHAN_DEFINES   = -DNUM_FXO_CHANNELS=1
+BRCM_DSP_CODEC_DEFINES := -DXCFG_G711_SUPPORT=1
+BRCM_DSP_CODEC_DEFINES += -DXCFG_G729_SUPPORT=1
+BRCM_DSP_CODEC_DEFINES += -DXCFG_G726_SUPPORT=1
+BRCM_DSP_CODEC_DEFINES += -DXCFG_FAX_SUPPORT=1
+export BRCM_6358_G729_ISDN_FXO_LEGERITY
+export XCHANGE_BUILD_APP=Bcm$(BRCM_CHIP)vw_isdn_fxo
+export BRCM_DSP_CODEC_DEFINES
+else
+BRCM_DSP_HAL := vw
+export BRCM_6358_G729
+export XCHANGE_BUILD_APP=Bcm$(BRCM_CHIP)vw
+endif
+endif
+endif
+endif
+endif
 endif
 
 ifeq ($(strip $(BRCM_VODSL_DUAL_3341)),y)
@@ -318,6 +385,14 @@ export ADSL_PHY_MODE=file
 #Set up ADSL_SELF_TEST
 export ADSL_SELF_TEST=$(BRCM_ADSL_SELF_TEST)
 
+#WLan support
+ifneq ($(strip $(BUILD_MIMO)),)
+WLAN_IMPL=2
+else
+WLAN_IMPL=1
+endif
+export BUILD_MIMO
+
 ###########################################
 #
 # Complete list of applications
@@ -366,7 +441,11 @@ SUBDIRS_BROADCOM = $(BROADCOM_DIR)/nvram \
         $(BROADCOM_DIR)/epittcp \
         $(BROADCOM_DIR)/snmp \
         $(BROADCOM_DIR)/tr69c \
-        $(BROADCOM_DIR)/ses
+        $(BROADCOM_DIR)/ses \
+        $(BROADCOM_DIR)/relayCtl \
+        $(BROADCOM_DIR)/vdslctl \
+        $(BROADCOM_DIR)/ledctrl \
+        $(BROADCOM_DIR)/hostCode
 
 SUBDIRS_APP = $(SUBDIRS_BROADCOM) $(SUBDIRS_OPENSOURCE)
 SUBDIRS = $(foreach dir, $(SUBDIRS_APP), $(shell if [ -d "$(dir)" ]; then echo $(dir); fi))
@@ -375,7 +454,8 @@ OPENSOURCE_APPS = ipsec-tools pvc2684ctl pvc2684d brctl pppd udhcp iptables ebta
                   reaim tc libosip2 siproxd snmp zebra bftpd busybox 
 
 BROADCOM_APPS = nvram cfm upnp nas wlctl vodsl atmctl adslctl netctl dnsprobe \
-                igmp dhcpr diagapp sntp ddnsd ilmi ippd hotplug ethctl epittcp snmp ses
+                igmp dhcpr diagapp sntp ddnsd ilmi ippd hotplug ethctl epittcp snmp ses \
+                hmi2proxy relayctl vdslctl ledctrl
 LIBC_OPTIMIZATION = libcreduction
 
 ifneq ($(strip $(BUILD_GDBSERVER)),)
@@ -452,8 +532,8 @@ prebuild:
        mkdir -p $(INSTALL_DIR)/bin $(INSTALL_DIR)/lib
 
 rm_cvs:
-       @echo "Removing CVS info"
-       find $(INSTALL_DIR) -name 'CVS' -print -exec rm -rf "{}" ";"
+#      @echo "Removing CVS info"
+#      find $(INSTALL_DIR) -name 'CVS' -print -exec rm -rf "{}" ";"
 
 # touch_voice_files doesn't clean up voice, just enables incremental build of voice code
 touch_voice_files:
@@ -474,6 +554,7 @@ pvc2684d:
 pvc2684ctl:
        $(MAKE) -C $(OPENSOURCE_DIR)/atm2684/pvc2684ctl $(BUILD_PVC2684CTL)
 else
+pvc2684d:
 pvc2684ctl:
 endif
 
@@ -615,104 +696,104 @@ endif
 ifneq ($(strip $(BUILD_SNMP)),)
 
 ifneq ($(strip $(BUILD_SNMP_SET)),)
-export BUILD_SNMP_SET=1
+export SNMP_SET=1
 else
-export BUILD_SNMP_SET=0
+export SNMP_SET=0
 endif
 
 ifneq ($(strip $(BUILD_SNMP_ADSL_MIB)),)
-export BUILD_SNMP_ADSL_MIB=1
+export SNMP_ADSL_MIB=1
 else
-export BUILD_SNMP_ADSL_MIB=0
+export SNMP_ADSL_MIB=0
 endif
 
 ifneq ($(strip $(BUILD_SNMP_ATM_MIB)),)
-export BUILD_SNMP_ATM_MIB=1
+export SNMP_ATM_MIB=1
 else
-export BUILD_SNMP_ATM_MIB=0
+export SNMP_ATM_MIB=0
 endif
 
 ifneq ($(strip $(BUILD_SNMP_AT_MIB)),)
-export BUILD_SNMP_AT_MIB=1
+export SNMP_AT_MIB=1
 else
-export BUILD_SNMP_AT_MIB=0
+export SNMP_AT_MIB=0
 endif
 
 ifneq ($(strip $(BUILD_SNMP_SYSOR_MIB)),)
-export BUILD_SNMP_SYSOR_MIB=1
+export SNMP_SYSOR_MIB=1
 else
-export BUILD_SNMP_SYSOR_MIB=0
+export SNMP_SYSOR_MIB=0
 endif
 
 ifneq ($(strip $(BUILD_SNMP_TCP_MIB)),)
-export BUILD_SNMP_TCP_MIB=1
+export SNMP_TCP_MIB=1
 else
-export BUILD_SNMP_TCP_MIB=0
+export SNMP_TCP_MIB=0
 endif
 
 ifneq ($(strip $(BUILD_SNMP_UDP_MIB)),)
-export BUILD_SNMP_UDP_MIB=1
+export SNMP_UDP_MIB=1
 else
-export BUILD_SNMP_UDP_MIB=0
+export SNMP_UDP_MIB=0
 endif
 
 ifneq ($(strip $(BUILD_SNMP_IP_MIB)),)
-export BUILD_SNMP_IP_MIB=1
+export SNMP_IP_MIB=1
 else
-export BUILD_SNMP_IP_MIB=0
+export SNMP_IP_MIB=0
 endif
 
 ifneq ($(strip $(BUILD_SNMP_ICMP_MIB)),)
-export BUILD_SNMP_ICMP_MIB=1
+export SNMP_ICMP_MIB=1
 else
-export BUILD_SNMP_ICMP_MIB=0
+export SNMP_ICMP_MIB=0
 endif
 
 ifneq ($(strip $(BUILD_SNMP_SNMP_MIB)),)
-export BUILD_SNMP_SNMP_MIB=1
+export SNMP_SNMP_MIB=1
 else
-export BUILD_SNMP_SNMP_MIB=0
+export SNMP_SNMP_MIB=0
 endif
 
 ifneq ($(strip $(BUILD_SNMP_ATMFORUM_MIB)),)
-export BUILD_SNMP_ATMFORUM_MIB=1
+export SNMP_ATMFORUM_MIB=1
 else
-export BUILD_SNMP_ATMFORUM_MIB=0
+export SNMP_ATMFORUM_MIB=0
 endif
 
 ifneq ($(strip $(BRCM_SNMP)),)
 
 ifneq ($(strip $(BUILD_SNMP_CHINA_TELECOM_CPE_MIB)),)
-export BUILD_SNMP_CHINA_TELECOM_CPE_MIB=y
-export BUILD_SNMP_MIB2=y
+export SNMP_CHINA_TELECOM_CPE_MIB=1
+export SNMP_MIB2=1
 endif
 
 ifneq ($(strip $(BUILD_SNMP_UDP)),)
-export BUILD_SNMP_UDP=y
+export SNMP_UDP=1
 endif
 
 ifneq ($(strip $(BUILD_SNMP_EOC)),)
-export BUILD_SNMP_EOC=y
+export SNMP_EOC=1
 endif
 
 ifneq ($(strip $(BUILD_SNMP_AAL5)),)
-export BUILD_SNMP_AAL5=y
+export SNMP_AAL5=1
 endif
 
 ifneq ($(strip $(BUILD_SNMP_AUTO)),)
-export BUILD_SNMP_AUTO=y
+export SNMP_AUTO=1
 endif
 
 ifneq ($(strip $(BUILD_SNMP_DEBUG)),)
-export BUILD_SNMP_DEBUG=y
+export SNMP_DEBUG=1
 endif
 
 ifneq ($(strip $(BUILD_SNMP_TRANSPORT_DEBUG)),)
-export BUILD_SNMP_TRANSPORT_DEBUG=y
+export SNMP_TRANSPORT_DEBUG=1
 endif
 
 ifneq ($(strip $(BUILD_SNMP_LAYER_DEBUG)),)
-export BUILD_SNMP_LAYER_DEBUG=y
+export SNMP_LAYER_DEBUG=1
 endif
 endif
 
@@ -727,6 +808,10 @@ else
 snmp:
 endif
 
+ifneq ($(strip $(BUILD_4_LEVEL_QOS)),)
+export BUILD_4_LEVEL_QOS=y
+endif
+
 ifneq ($(strip $(BUILD_ILMI)),)
 ilmi:
        cd $(OPENSOURCE_DIR);   (tar xkfj net-snmp.tar.bz2 2> /dev/null || true)
@@ -758,6 +843,10 @@ endif
 ifneq ($(strip $(BUILD_NAS)),)
 export WIRELESS=1
 nas:
+       if [ -e $(BRCMDRIVERS_DIR)/broadcom/net/wl/impl$(WLAN_IMPL)/nas ]; then \
+         rm -rf $(BROADCOM_DIR)/nas/*; \
+         cp -pRdf $(BRCMDRIVERS_DIR)/broadcom/net/wl/impl$(WLAN_IMPL)/nas/* $(BROADCOM_DIR)/nas; \
+       fi
        $(MAKE) -C $(BROADCOM_DIR)/nas $(BUILD_NAS)
 
 #add hotplug here, for nas use only
@@ -774,12 +863,41 @@ endif
 ifneq ($(strip $(BUILD_WLCTL)),)
 export WIRELESS=1
 wlctl:
+       if [ -e $(BRCMDRIVERS_DIR)/broadcom/net/wl/impl$(WLAN_IMPL)/wlctl ]; then \
+         rm -rf $(BROADCOM_DIR)/wlctl/*; \
+         cp -pRdf $(BRCMDRIVERS_DIR)/broadcom/net/wl/impl$(WLAN_IMPL)/wlctl/* $(BROADCOM_DIR)/wlctl; \
+       fi
        $(MAKE) -C $(BROADCOM_DIR)/wlctl $(BUILD_WLCTL)
 else
 export WIRELESS=0
 wlctl:
 endif
 
+ifneq ($(strip $(BUILD_EPITTCP)),)
+epittcp:
+       $(MAKE) -C $(BROADCOM_DIR)/epittcp $(BUILD_EPITTCP)
+else
+epittcp:
+endif
+
+ifneq ($(strip $(BUILD_SES)),)
+ses:
+       if [ -e $(BRCMDRIVERS_DIR)/broadcom/net/wl/impl$(WLAN_IMPL)/ses ]; then \
+         rm -rf $(BROADCOM_DIR)/ses/*; \
+         cp -pRdf $(BRCMDRIVERS_DIR)/broadcom/net/wl/impl$(WLAN_IMPL)/ses/* $(BROADCOM_DIR)/ses; \
+       fi
+       $(MAKE) -C $(BROADCOM_DIR)/ses $(BUILD_SES)
+else
+ses:
+endif
+
+ifneq ($(strip $(BUILD_NVRAM)),)
+nvram:
+       $(MAKE) -C $(BROADCOM_DIR)/nvram $(BUILD_NVRAM)
+else
+nvram:
+endif
+
 #Always compile Ethernet control utility
 ethctl:
        $(MAKE) -C $(BROADCOM_DIR)/ethctl dynamic
@@ -885,43 +1003,68 @@ else
 sntp:
 endif
 
-ifneq ($(strip $(BUILD_EPITTCP)),)
-epittcp:
-       $(MAKE) -C $(BROADCOM_DIR)/epittcp $(BUILD_EPITTCP)
+ifneq ($(strip $(BUILD_IPPD)),)
+ippd:
+       $(MAKE) -C $(BROADCOM_DIR)/ippd $(BUILD_IPPD)
 else
-epittcp:
+ippd:
 endif
 
-ifneq ($(strip $(BUILD_SES)),)
-ses:
-       $(MAKE) -C $(BROADCOM_DIR)/ses $(BUILD_SES)
+ifneq ($(strip $(BUILD_PORT_MIRRORING)),)
+export BUILD_PORT_MIRRORING=1
 else
-ses:
+export BUILD_PORT_MIRRORING=0
 endif
 
-ifneq ($(strip $(BUILD_NVRAM)),)
-nvram:
-       $(MAKE) -C $(BROADCOM_DIR)/nvram $(BUILD_NVRAM)
+ifneq ($(strip $(BUILD_HOSTMGR)),)
+hmi2proxy: vdsl_processing
+       $(MAKE) -C $(BROADCOM_DIR)/hostCode/hostMgr $(BUILD_HOSTMGR) TARGET=$@ PHY=memap6348
 else
-nvram:
+hmi2proxy:
 endif
 
-ifneq ($(strip $(BUILD_IPPD)),)
-ippd:
-       $(MAKE) -C $(BROADCOM_DIR)/ippd $(BUILD_IPPD)
+ifneq ($(strip $(BUILD_RELAYCONTROL)),)
+relayctl:
+       $(MAKE) -C $(BROADCOM_DIR)/relayCtl/relay6348 $(BUILD_RELAYCONTROL) TARGET=$@
 else
-ippd:
+relayctl:
 endif
 
-ifneq ($(strip $(BUILD_PORT_MIRRORING)),)
-export BUILD_PORT_MIRRORING=1
+ifneq ($(strip $(BUILD_VDSLCTL)),)
+vdslctl:
+       $(MAKE) -C $(BROADCOM_DIR)/vdslctl/vdslctl $(BUILD_VDSLCTL) TARGET=$@
 else
-export BUILD_PORT_MIRRORING=0
+vdslctl:
 endif
+# USR9109/9113 BUILD_LEDCTRL
+ledctrl:
+       $(MAKE) -C $(BROADCOM_DIR)/ledctrl $(BUILD_SNTP)
 
 hosttools:
        $(MAKE) -C $(HOSTTOOLS_DIR)
 
+vdsl_processing: add_6510_support vdsl_modem vdsl_modem_file
+
+vdsl_modem_file:
+       @echo "************* VDSL Housekeeping **************************************"
+       @echo   "VCOPE_BOARD=$(VCOPE_BOARD) HMI_VERSION=$(HMI_VERSION)"
+       @echo "VCOPE_TYPE=$(VCOPE_TYPE) VCOPE_LINE_NUMBER=$(VCOPE_LINE_NUMBER)"
+       @echo "**********************************************************************"
+  
+vdsl_modem:
+       - cmp -s $(FSSRC_DIR)/images/modem.bin $(6510_REF_CODE)/images/$(VMODEM_BIN); \
+       if [ ! $$? -eq 0 ]; then \
+               echo "VCOPE: different type - need clean up"; \
+               find userapps/broadcom/hostCode/ -name *.[oa]   | xargs rm; \
+               find userapps/broadcom/hostCode/ -name *.depend | xargs rm; \
+               find userapps/broadcom/relayCtl/ -name *.[oa]   | xargs rm; \
+               find userapps/broadcom/relayCtl/ -name *.depend | xargs rm; \
+               find userapps/broadcom/vdslctl/  -name *.[oa]   | xargs rm; \
+               find userapps/broadcom/vdslctl/  -name *.depend | xargs rm; \
+       fi
+       @echo "$(FSSRC_DIR)/images/: Creating \"modem.bin\" out of $(VMODEM_BIN)" 
+       cp -f $(6510_REF_CODE)/images/$(VMODEM_BIN) $(FSSRC_DIR)/images/modem.bin;
+       cp -f $(6510_REF_CODE)/images/$(VBOOT_BIN) $(FSSRC_DIR)/images/boot.bin;
 
 buildimage: $(KERNEL_DIR)/vmlinux
        su --command="cd $(TARGETS_DIR); ./buildFS"
@@ -977,7 +1120,7 @@ subdirs: $(patsubst %, _dir_%, $(SUBDIRS))
 $(patsubst %, _dir_%, $(SUBDIRS)) :
        $(MAKE) -C $(patsubst _dir_%, %, $@) $(TGT)
 
-clean: target_clean app_clean kernel_clean hosttools_clean
+clean: target_clean app_clean kernel_clean hosttools_clean  remove_6510_support
        rm -f .tmpconfig*
 
 fssrc_clean:
@@ -1018,6 +1161,31 @@ target_clean: sanity_check
 hosttools_clean:
        $(MAKE) -C $(HOSTTOOLS_DIR) clean
 
+add_6510_support: 
+       $(6510_REF_CODE)/add6510support DYMMY_HMI_VERSON $(6510_REF_CODE)
+       
+remove_6510_support:
+       rm -fr $(BROADCOM_DIR)/hostCode
+       rm -fr $(BROADCOM_DIR)/relayCtl
+       rm -fr $(BROADCOM_DIR)/vdslctl
+
+clean_6510:
+       rm -f `find userapps/broadcom/hostCode/ -name *.[oa]`
+       rm -f `find userapps/broadcom/hostCode/ -name *.depend`
+       rm -f `find userapps/broadcom/relayCtl/ -name *.[oa]`
+       rm -f `find userapps/broadcom/relayCtl/ -name *.depend`
+       rm -f `find userapps/broadcom/vdslctl/  -name *.[oa]`
+       rm -f `find userapps/broadcom/vdslctl/  -name *.depend`
+       rm -f `find userapps/broadcom/cfm/      -name *.[oa]`
+       rm -f `find userapps/broadcom/cfm/      -name *.depend`
+
+voice_clean:
+       find bcmdrivers/broadcom/char/endpoint -name '*.o' -exec rm -f "{}" ";"
+       find userapps/broadcom/cfm -name '*.o' -exec rm -f "{}" ";"
+       find userapps/broadcom/vodsl -name '*.o' -exec rm -f "{}" ";"
+       rm -rf $(XCHANGE_DIR)/dslx/lib/LinuxKernel
+       rm -rf $(XCHANGE_DIR)/dslx/obj/LinuxUser
+
 ###########################################
 #
 # System-wide exported variables
@@ -1127,8 +1295,9 @@ INC_BRCMBOARDPARMS_PATH    \
 INC_BRCMCFM_PATH           \
 INC_BRCMDRIVER_PRIV_PATH   \
 INC_BRCMDRIVER_PUB_PATH    \
-INC_BRCMSHARED_INC_PATH    \
-INC_BRCMSHARED_SRC_PATH    \
+INC_BRCMSHARED_PRIV_PATH   \
+INC_BRCMSHARED_PUB_PATH    \
+INC_FLASH_PATH             \
 INC_ENDPOINT_PATH          \
 INC_KERNEL_BASE            \
 INSTALL_DIR                \
@@ -1152,5 +1321,8 @@ TOOLCHAIN                  \
 USERAPPS_DIR               \
 WEB_POPUP                  \
 XCHANGE_DIR                \
-XCHANGE_DSP_APP_EXTENSION
+XCHANGE_DSP_APP_EXTENSION  \
+VCOPE_TYPE                 \
+VCOPE_BOARD                \
+VCOPE_LINE_NUMBER          \