http://downloads.netgear.com/files/GPL/DM111P(B)_v3.29u_src.tar.gz
[bcm963xx.git] / Makefile
index 314b3e3..ee226a0 100755 (executable)
--- a/Makefile
+++ b/Makefile
 
 # Top-level Makefile for all commengine xDSL platforms
 
-export CUSTOMER=T_ONLINE
-
-BRCM_VOICE_GLOBAL_CFLAGS=$(CUSTOMER)
-
 include version.make
 
-# BRCM_RELEASETAG=$(BRCM_VERSION).$(BRCM_RELEASE)L.$(BRCM_EXTRAVERSION)
-BRCM_RELEASETAG=$(BRCM_VERSION).$(BRCM_RELEASE).$(BRCM_EXTRAVERSION)
+BRCM_RELEASETAG=$(BRCM_VERSION).$(BRCM_RELEASE)L.$(BRCM_EXTRAVERSION)
 
 
 ###########################################
@@ -43,9 +38,9 @@ HOSTTOOLS_DIR = $(BUILD_DIR)/hostTools
 IMAGES_DIR = $(BUILD_DIR)/images
 TARGETS_DIR = $(BUILD_DIR)/targets
 DEFAULTCFG_DIR = $(TARGETS_DIR)/defaultcfg
-XCHANGE_DIR = $(BUILD_DIR)/xChange
 FSSRC_DIR = $(TARGETS_DIR)/fs.src
-CFE_FILE = $(TARGETS_DIR)/cfe/cfe$(BRCM_CHIP).bin
+BRCM_MODEL_NAME=$(PROFILE)
+CFE_FILE = $(TARGETS_DIR)/cfe/cfe6338_192_168_0_1.bin
 CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
           else if [ -x /bin/bash ]; then echo /bin/bash; \
           else echo sh; fi ; fi)
@@ -68,11 +63,12 @@ endif
 ifneq ($(strip $(PROFILE)),)
 include $(TARGETS_DIR)/$(PROFILE)/$(PROFILE)
 export BRCM_CHIP
+export BRCM_SDRAM_SIZE
+export BRCM_FLASH_SIZE
 export BRCM_FLASHPSI_SIZE
-export BRCM_DRIVER_WIRELESS_PCMCIA_DATASWAP BRCM_DRIVER_WIRELESS_EBI_DMA
+export BRCM_MODEL_NAME
 export BRCM_DRIVER_USB BRCM_DRIVER_ETHERNET_CONFIG
 export BRCM_DEFAULTCFG
-export BRCM_DEFAULTCFG_4222
 export BRCM_KERNEL_NF_FIREWALL BRCM_KERNEL_NF_MANGLE BRCM_KERNEL_NF_NAT
 endif
 
@@ -84,7 +80,7 @@ endif
 ifeq ($(strip $(BRCM_UCLIBC)),y)
 NTC=1
 ifeq ($(strip $(NTC)),1)
-TOOLCHAIN=/opt/toolchains_3_00/uclibc-crosstools
+TOOLCHAIN=/opt/toolchains/uclibc-crosstools_gcc-3.4.2_uclibc-20050428
 CROSS_COMPILE = $(TOOLCHAIN)/bin/mips-linux-uclibc-
 else
 TOOLCHAIN=/opt/toolchains/uclibc
@@ -95,6 +91,8 @@ TOOLCHAIN=/usr/crossdev/mips
 CROSS_COMPILE = $(TOOLCHAIN)/bin/mips-linux-
 endif
 
+
+
 AR              = $(CROSS_COMPILE)ar
 AS              = $(CROSS_COMPILE)as
 LD              = $(CROSS_COMPILE)ld
@@ -124,7 +122,7 @@ PROFILE_PATH = $(TARGETS_DIR)/$(PROFILE)/$(PROFILE)
 VENDOR_NAME = bcm
 FS_KERNEL_IMAGE_NAME = $(VENDOR_NAME)$(PROFILE)_fs_kernel
 CFE_FS_KERNEL_IMAGE_NAME = $(VENDOR_NAME)$(PROFILE)_cfe_fs_kernel
-FLASH_IMAGE_NAME = $(VENDOR_NAME)$(PROFILE)_flash_image_$(BRCM_BOARD_ID)
+FLASH_IMAGE_NAME = $(VENDOR_NAME)$(PROFILE)_flash_image
 INC_BRCMDRIVER_PUB_PATH=$(BRCMDRIVERS_DIR)/opensource/include
 INC_BRCMDRIVER_PRIV_PATH=$(BRCMDRIVERS_DIR)/broadcom/include
 INC_BRCMBOARDPARMS_PATH=$(TARGETS_DIR)/boardparms
@@ -134,118 +132,39 @@ INC_ADSLDRV_PATH=$(BRCMDRIVERS_DIR)/broadcom/char/adsl/impl1
 BROADCOM_CFM_DIR=$(BROADCOM_DIR)/cfm
 INC_BRCMCFM_PATH=$(BROADCOM_CFM_DIR)/inc
 
+# Michael: this save current config to default config should be enable for every model
+export BRCM_CFG_XFER_TO_FACDEFLT=y
 
-ifeq ($(strip $(BRCM_APP_PHONE)),sip)
-export VOXXXLOAD=1
-export VOIPLOAD=1
-export SIPLOAD=1
-BRCM_RELEASETAG := $(BRCM_RELEASETAG).sip
-endif
-
-ifeq ($(strip $(BRCM_APP_PHONE)),mgcp)
-export VOXXXLOAD=1
-export VOIPLOAD=1
-export MGCPLOAD=1
-BRCM_RELEASETAG := $(BRCM_RELEASETAG).mgcp
-endif
-
-ifneq ($(strip $(BUILD_VODSL)),)
-export VOXXXLOAD=1
-endif
-
-BRCM_DSP_HAL := gw
-BRCM_DSP_HAL_EXTENSION :=
-XCHANGE_DSP_APP_EXTENSION :=
-export XCHANGE_DSP_APP=$(BRCM_DSP_CODEC)
-
-ifeq ($(strip $(BRCM_DSP_FXO)),y)
-XCHANGE_DSP_APP := dspApp3341_fxo
-endif
-
-ifeq ($(strip $(BRCM_DSP_PCM)),y)
-XCHANGE_DSP_APP := dspApp3341_tdm
-BRCM_DSP_HAL_EXTENSION := _pcm
-endif
-
-ifeq ($(strip $(BRCM_DSP_HYBRID)),y)
-XCHANGE_DSP_APP := dspApp3341_hybrid
-BRCM_DSP_HAL_EXTENSION := _hybrid
-endif
-
-ifeq ($(strip $(BRCM_DSP_HYBRID_EXT)),y)
-BRCM_DSP_HAL_EXTENSION := _hybrid
-XCHANGE_DSP_APP := dspApp3341_hybrid
-XCHANGE_DSP_APP_EXTENSION := _ext
-endif
-
-# APM application with FXO uses the hybrid HAL, as the FXO is provided by TDM port
-ifeq ($(strip $(BRCM_DSP_APM_FXO)),y)
-XCHANGE_DSP_APP := dspApp3341
-BRCM_DSP_HAL_EXTENSION := _hybrid
-XCHANGE_DSP_APP_EXTENSION := _fxo
-endif
-
-ifeq ($(strip $(BRCM_DSP_APM_FXO_EXT)),y)
-XCHANGE_DSP_APP := dspApp3341
-BRCM_DSP_HAL_EXTENSION := _hybrid
-XCHANGE_DSP_APP_EXTENSION := _fxo_ext
-endif
 
-ifeq ($(strip $(BRCM_DSP_HYBRID_FXO)),y)
-XCHANGE_DSP_APP := dspApp3341_hybrid
-BRCM_DSP_HAL_EXTENSION := _hybrid
-XCHANGE_DSP_APP_EXTENSION := _fxo
+ifeq ($(strip $(BRCM_PROFILER_ENABLED)),y)
+export BRCM_PROFILER_TOOL=1
+else
+export BRCM_PROFILER_TOOL=0
 endif
 
-ifeq ($(strip $(BRCM_DSP_HYBRID_FXO_EXT)),y)
-XCHANGE_DSP_APP := dspApp3341_hybrid
-BRCM_DSP_HAL_EXTENSION := _fxo
-XCHANGE_DSP_APP_EXTENSION := _fxo_ext
-endif
+#Set up ADSL standard
+export ADSL=$(BRCM_ADSL_STANDARD)
 
-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)
+#swda add,04/07/2005
+#Set up ADSL supporting line modes
+export BRCM_DSL_MODE_GDMT
+export BRCM_DSL_MODE_GLITE
+export BRCM_DSL_MODE_T1413
+export BRCM_DSL_MODE_ADSL2
+export BRCM_DSL_MODE_READSL2
+export BRCM_DSL_MODE_ADSL2PLUS
+export BRCM_DSL_MODE_ANNEXM
+export BRCM_DSL_MODE_BITSWAP
+export BRCM_DSL_MODE_SRA
 
-# If no codec is selected, build G.711 load.
-# Any XCHANGE_BUILD_APP directory would be OK
-# because G.711 is included with all the voice DSP images.
-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
-                                                                                
-ifeq ($(strip $(XCHG_LE9502_SLIC)),y)
-ifeq ($(strip $(BRCM_DSP_FXO)),y)
-export XCHANGE_BUILD_APP=Bcm$(BRCM_CHIP)_Le9502FXO
-BRCM_RELEASETAG := $(BRCM_RELEASETAG).LE9502
-BRCM_DSP_HAL := LE9502_FXO
-else
-export XCHANGE_BUILD_APP=Bcm$(BRCM_CHIP)_Le9502
-BRCM_RELEASETAG := $(BRCM_RELEASETAG).LE9502
-BRCM_DSP_HAL := LE9502
-endif
-export XCHG_LE9502_SLIC
-endif
-                                                                                
+#Set up ADSL version
+export ADSL_VERSION=$(BRCM_ADSL_VERSION)
 
-ifeq ($(strip $(XCHG_LE9500_SLIC)),y)
-ifeq ($(strip $(BRCM_DSP_FXO)),y)
-export XCHANGE_BUILD_APP=Bcm$(BRCM_CHIP)_Le9500FXO
-BRCM_RELEASETAG := $(BRCM_RELEASETAG).LE9500
-BRCM_DSP_HAL := LE9500_FXO
-endif
-export XCHG_LE9500_SLIC
-endif
+export WAN_LED_BLINKING
 
-                                                                                
-#Set up ADSL standard
-export ADSL=$(BRCM_ADSL_STANDARD)
+#michael add
+#Use chipId to decide what the ADSL config option on html
+export CHIP_ADSL_VERSION=$(BRCM_ADSL_DRIVER)
 
 #Set up ADSL_PHY_MODE  {file | obj}
 export ADSL_PHY_MODE=file
@@ -268,45 +187,67 @@ SUBDIRS_OPENSOURCE = $(OPENSOURCE_DIR)/atm2684/pvc2684ctl \
         $(OPENSOURCE_DIR)/reaim  \
         $(OPENSOURCE_DIR)/iproute2  \
         $(OPENSOURCE_DIR)/gdbserver  \
+        $(OPENSOURCE_DIR)/libosip2 \
         $(OPENSOURCE_DIR)/siproxd \
         $(OPENSOURCE_DIR)/zebra  \
         $(OPENSOURCE_DIR)/net-snmp  \
         $(OPENSOURCE_DIR)/ftpd \
         $(OPENSOURCE_DIR)/libcreduction \
-        $(OPENSOURCE_DIR)/busybox
+        $(OPENSOURCE_DIR)/busybox \
+        $(OPENSOURCE_DIR)/dproxy \
+       $(OPENSOURCE_DIR)/httpc \
+       $(OPENSOURCE_DIR)/mpd
 
 #In future, we need to add soap when it
 #is decoupled from cli
 
+# Andy porting from 2.21.5, 2005/04/14
+export BROADCOM_DIR=$(USERAPPS_DIR)/broadcom
+NEED_CHG_ACCESSREMOTE = "0"
+HTML_DIR = $(BROADCOM_DIR)/cfm/html.NETGEAR
+NEED_MOVE = "0"
 export BROADCOM_DIR=$(USERAPPS_DIR)/broadcom
-SUBDIRS_BROADCOM = $(BROADCOM_DIR)/cfm \
-        $(BROADCOM_DIR)/upnp/router/upnp \
-        $(BROADCOM_DIR)/nas \
-        $(BROADCOM_DIR)/wlctl \
-        $(BROADCOM_DIR)/vodsl \
-        $(BROADCOM_DIR)/atmctl \
-        $(BROADCOM_DIR)/adslctl \
-        $(BROADCOM_DIR)/netctl \
-        $(BROADCOM_DIR)/dnsprobe \
-        $(BROADCOM_DIR)/igmp \
-        $(BROADCOM_DIR)/dhcpr \
+SUBDIRS_BROADCOM = $(BROADCOM_DIR)/nvram \
+       $(BROADCOM_DIR)/cfm \
+       $(BROADCOM_DIR)/upnp/router/upnp \
+       $(BROADCOM_DIR)/nas \
+       $(BROADCOM_DIR)/wlctl \
+       $(BROADCOM_DIR)/wlenablectrl \
+       $(BROADCOM_DIR)/autoprovisionlan \
+       $(BROADCOM_DIR)/atmctl \
+       $(BROADCOM_DIR)/adslctl \
+       $(BROADCOM_DIR)/netctl \
+       $(BROADCOM_DIR)/dnsprobe \
+       $(BROADCOM_DIR)/igmp \
+       $(BROADCOM_DIR)/dhcpr \
        $(BROADCOM_DIR)/sntp \
        $(BROADCOM_DIR)/ippd \
        $(BROADCOM_DIR)/ddnsd \
        $(BROADCOM_DIR)/ethctl \
-        $(BROADCOM_DIR)/hotplug \
-        $(BROADCOM_DIR)/epittcp
+       $(BROADCOM_DIR)/hotplug \
+       $(BROADCOM_DIR)/epittcp \
+       $(BROADCOM_DIR)/snmp \
+       $(BROADCOM_DIR)/ses
 
 SUBDIRS_APP = $(SUBDIRS_BROADCOM) $(SUBDIRS_OPENSOURCE)
 SUBDIRS = $(foreach dir, $(SUBDIRS_APP), $(shell if [ -d "$(dir)" ]; then echo $(dir); fi))
 
-OPENSOURCE_APPS = pvc2684ctl pvc2684d brctl pppd udhcp iptables ebtables \
-                  reaim siproxd snmp zebra bftpd busybox gdbserver
+OPENSOURCE_APPS = pvc2684ctl pvc2684d brctl pppd udhcp iptables ebtables httpc mpd \
+                  reaim libosip2 siproxd snmp zebra bftpd busybox dproxy iproute2 gdbserver
 
-BROADCOM_APPS = cfm upnp nas wlctl vodsl atmctl adslctl netctl dnsprobe \
+BROADCOM_APPS = nvram cfm upnp nas wlctl wlenablectrl autoprovisionlan atmctl adslctl netctl dnsprobe \
                 igmp dhcpr diagapp sntp ddnsd ilmi ippd hotplug ethctl epittcp
+
+ifneq ($(strip $(BUILD_SIGNATURE_RSA)),)
+   export BUILD_SIGNATURE_RSA
+endif
+
 LIBC_OPTIMIZATION = libcreduction
 
+ifneq ($(strip $(BUILD_PPP_AUTH_LIMIT)),)
+   export BUILD_PPP_AUTH_LIMIT
+endif
+
 BUSYBOX_DIR = $(OPENSOURCE_DIR)/busybox
 
 BRCMAPPS = $(BROADCOM_APPS) $(OPENSOURCE_APPS) $(LIBC_OPTIMIZATION)
@@ -417,6 +358,9 @@ export BUILD_CFM_MENU=y
 endif
 
 cfm:
+ifneq ($(strip $(BUILD_SIGNATURE_RSA)),)
+       $(MAKE) -C $(BROADCOM_DIR)/cfm/web/sigmak
+endif
        $(MAKE) -C $(BROADCOM_DIR)/cfm $(BUILD_CFM)
 else
 cfm:
@@ -462,22 +406,30 @@ else
 reaim:
 endif
 
+ifneq ($(strip $(BRCM_KERNEL_NETQOS)),)
+iproute2:
+       cd $(OPENSOURCE_DIR);   (tar xkfj iproute2.tar.bz2 2> /dev/null || true)
+       $(MAKE) -C $(OPENSOURCE_DIR)/iproute2 dynamic
+else
+
+ifneq ($(strip $(BRCM_KERNEL_DN_IPQOS)),)
+iproute2:      
+       cd $(OPENSOURCE_DIR);   (tar xkfj iproute2.tar.bz2 2> /dev/null || true)
+       $(MAKE) -C $(OPENSOURCE_DIR)/iproute2 dynamic   
+else
+iproute2:
+endif#BRCM_KERNEL_DN_IPQOS
+
+endif#BRCM_KERNEL_NETQOS
+
 ifneq ($(strip $(BUILD_GDBSERVER)),)
 gdbserver:
-       $(MAKE) -C $(OPENSOURCE_DIR)/gdbserver dynamic
+       install -m 755 $(TOOLCHAIN)/mips-linux-uclibc/target-apps/usr/bin/gdbserver $(INSTALL_DIR)/bin 
+       $(STRIP) $(INSTALL_DIR)/bin/gdbserver
 else
 gdbserver:
 endif
 
-# adding iproute2 for QoS
-ifneq ($(strip $(BRCM_KERNEL_NETQOS)),)
-tc:
-                cd $(OPENSOURCE_DIR);   (tar xkfj iproute2.tar.bz2 2> /dev/null || true)
-                $(MAKE) -C $(OPENSOURCE_DIR)/iproute2 dynamic
-else
-tc:
-endif
-
 ifneq ($(strip $(BUILD_ETHWAN)),)
 export BUILD_ETHWAN=y
 endif
@@ -505,11 +457,14 @@ endif
 
 ifneq ($(strip $(BUILD_SIPROXD)),)
 siproxd:
-       cd $(OPENSOURCE_DIR);   (tar xkfj libosip2.tar.bz2 2> /dev/null || true)
        cd $(OPENSOURCE_DIR);   (tar xkfj siproxd.tar.bz2 2> /dev/null || true)
        $(MAKE) -C $(OPENSOURCE_DIR)/siproxd $(BUILD_SIPROXD)
+libosip2:
+       cd $(OPENSOURCE_DIR);   (tar xkfj libosip2.tar.bz2 2> /dev/null || true)
+       $(MAKE) -C $(OPENSOURCE_DIR)/libosip2
 else
 siproxd:
+libosip2:
 endif
 
 ifneq ($(strip $(BUILD_SNMP)),)
@@ -580,9 +535,17 @@ else
 export BUILD_SNMP_ATMFORUM_MIB=0
 endif
 
+ifneq ($(strip $(BRCM_SNMP)),)
+export BUILD_SNMP_CHINA_TELECOM_CPE_MIB=0
+endif
+
 snmp:
+ifneq ($(strip $(BRCM_SNMP)),)
+##     $(MAKE) -C $(BROADCOM_DIR)/snmp $(BUILD_SNMP)
+else
        cd $(OPENSOURCE_DIR);   (tar xkfj net-snmp.tar.bz2 2> /dev/null || true)
        $(MAKE) -C $(OPENSOURCE_DIR)/net-snmp $(BUILD_SNMP)
+endif
 else
 snmp:
 endif
@@ -595,12 +558,6 @@ else
 ilmi:
 endif
 
-ifneq ($(strip $(BUILD_VODSL)),)
-vodsl:
-       $(MAKE) -C $(BROADCOM_DIR)/vodsl $(BUILD_VODSL)
-else
-vodsl:
-endif
 
 # Leave it for the future when soap server is decoupled from cfm
 ifneq ($(strip $(BUILD_SOAP)),)
@@ -640,6 +597,13 @@ export WIRELESS=0
 wlctl:
 endif
 
+ifneq ($(strip $(WLAN_ENABLE_CTRL_BUTTON)),)
+wlenablectrl:
+       $(MAKE) -C $(BROADCOM_DIR)/wlenablectrl dynamic
+else
+wlenablectrl:
+endif
+
 #Always compile Ethernet control utility
 ethctl:
        $(MAKE) -C $(BROADCOM_DIR)/ethctl dynamic
@@ -673,6 +637,15 @@ else
 zebra:
 endif
 
+
+ifneq ($(strip $(ODM_AUTO_PROVISION_LAN)),)
+autoprovisionlan:
+       $(MAKE) -C $(BROADCOM_DIR)/autoprovisionlan dynamic
+else
+autoprovisionlan:
+endif
+
+
 ifneq ($(strip $(BUILD_ATMCTL)),)
 atmctl:
        $(MAKE) -C $(BROADCOM_DIR)/atmctl $(BUILD_ATMCTL)
@@ -730,6 +703,21 @@ else
 bftpd:
 endif
 
+ifneq ($(strip $(BUILD_HTTPC)),)
+httpc:
+       $(MAKE) -C $(OPENSOURCE_DIR)/httpc $(BUILD_HTTPC)
+else
+httpc:
+endif
+
+ifneq ($(strip $(BUILD_MPD)),)
+mpd:
+       $(MAKE) -C $(OPENSOURCE_DIR)/mpd $(BUILD_MPD)
+else
+mpd:
+endif
+
+
 ifneq ($(strip $(BUILD_DDNSD)),)
 ddnsd:
        $(MAKE) -C $(BROADCOM_DIR)/ddnsd $(BUILD_DDNSD)
@@ -751,6 +739,20 @@ else
 epittcp:
 endif
 
+ifneq ($(strip $(BUILD_SES)),)
+ses:
+       $(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
+
 ifneq ($(strip $(BUILD_IPPD)),)
 ippd:
        $(MAKE) -C $(BROADCOM_DIR)/ippd $(BUILD_IPPD)
@@ -758,12 +760,25 @@ else
 ippd:
 endif
 
+# Start: Andy porting from 2.21.5, 2005/04/14
+ifneq ($(strip $(BUILD_DPROXY)),)
+dproxy:
+       $(MAKE) -C $(OPENSOURCE_DIR)/dproxy $(BUILD_DPROXY)
+else
+dproxy:
+endif
+# End: Andy porting from 2.21.5, 2005/04/14
+
 hosttools:
+ifneq ($(strip $(BUILD_SIGNATURE_RSA)),)
+       $(MAKE) -C $(HOSTTOOLS_DIR)/sigmak
+endif
        $(MAKE) -C $(HOSTTOOLS_DIR)
 
 
 buildimage: $(KERNEL_DIR)/vmlinux
-       su --command="cd $(TARGETS_DIR); ./buildFS"
+       sudo su --command="cd $(TARGETS_DIR); ./buildFS"
+#      find $(TARGET_FS) -name CVS | xargs rm -rf
 ifeq ($(strip $(BRCM_KERNEL_ROOTFS)),squashfs)
        #$(HOSTTOOLS_DIR)/mksquashfs $(TARGET_FS) $(PROFILE_DIR)/rootfs.img -noappend -be -always-use-fragments -gzip
        $(HOSTTOOLS_DIR)/mksquashfs $(TARGET_FS) $(PROFILE_DIR)/rootfs.img -noappend -be -lzma -no-fragments -noI
@@ -784,14 +799,12 @@ ifneq ($(strip $(BRCM_KERNEL_ROOTFS)),nfs)
        $(STRIP) --remove-section=.note --remove-section=.comment vmlinux; \
        $(OBJCOPY) -O binary vmlinux vmlinux.bin; \
        $(HOSTTOOLS_DIR)/cmplzma -k -2 vmlinux vmlinux.bin vmlinux.lz;\
-       $(HOSTTOOLS_DIR)/bcmImageBuilder --output $(FS_KERNEL_IMAGE_NAME) --chip $(BRCM_CHIP) --board $(BRCM_BOARD_ID) --blocksize $(BRCM_FLASHBLK_SIZE) --cfefile $(CFE_FILE) --rootfsfile rootfs.img --kernelfile vmlinux.lz; \
-       $(HOSTTOOLS_DIR)/bcmImageBuilder --output $(CFE_FS_KERNEL_IMAGE_NAME) --chip $(BRCM_CHIP) --board $(BRCM_BOARD_ID) --blocksize $(BRCM_FLASHBLK_SIZE) --cfefile $(CFE_FILE) --rootfsfile rootfs.img --kernelfile vmlinux.lz --include-cfe; \
-       $(HOSTTOOLS_DIR)/createimg -b $(BRCM_BOARD_ID) -n $(BRCM_NUM_MAC_ADDRESSES) -m $(BRCM_BASE_MAC_ADDRESS) -i $(CFE_FS_KERNEL_IMAGE_NAME) -o $(FLASH_IMAGE_NAME); \
-       $(HOSTTOOLS_DIR)/addvtoken $(FLASH_IMAGE_NAME) $(FLASH_IMAGE_NAME).w
-       @mkdir -p $(IMAGES_DIR)
-       @cp $(PROFILE_DIR)/$(FS_KERNEL_IMAGE_NAME) $(IMAGES_DIR)/$(FS_KERNEL_IMAGE_NAME)_$(BRCM_RELEASETAG)-$(shell date '+%y%m%d_%H%M')
-       @echo
-       @echo -e "Done! Image $(PROFILE) has been built in $(IMAGES_DIR)."
+       $(HOSTTOOLS_DIR)/bcmImageBuilder --output $(FS_KERNEL_IMAGE_NAME) --board $(BRCM_BOARD_ID) --blocksize $(BRCM_FLASHBLK_SIZE) --cfefile $(CFE_FILE) --rootfsfile rootfs.img --kernelfile vmlinux.lz; \
+       $(HOSTTOOLS_DIR)/bcmImageBuilder --output $(CFE_FS_KERNEL_IMAGE_NAME) --board $(BRCM_BOARD_ID) --blocksize $(BRCM_FLASHBLK_SIZE) --cfefile $(CFE_FILE) --rootfsfile rootfs.img --kernelfile vmlinux.lz --include-cfe; \
+       mkdir -p $(IMAGES_DIR)
+       cp $(PROFILE_DIR)/$(FS_KERNEL_IMAGE_NAME) $(IMAGES_DIR)/$(FS_KERNEL_IMAGE_NAME)_$(BRCM_RELEASETAG)-$(shell date '+%y%m%d_%H%M')
+       echo
+       echo -e "Done! Image $(PROFILE) has been built in $(IMAGES_DIR)."
 else
        cd $(PROFILE_DIR); \
        cp $(KERNEL_DIR)/vmlinux . ; \
@@ -833,6 +846,7 @@ kernel_clean: sanity_check
        $(MAKE) -C $(KERNEL_DIR) mrproper
        rm -f $(KERNEL_DIR)/arch/mips/defconfig
        rm -f $(HOSTTOOLS_DIR)/lzma/decompress/*.o
+       rm -f $(TARGETS_DIR)/*.o $(TARGETS_DIR)/.*.flags $(TARGETS_DIR)/.depend
        rm -rf $(XCHANGE_DIR)/dslx/lib/LinuxKernel
        rm -rf $(XCHANGE_DIR)/dslx/obj/LinuxKernel
 
@@ -849,10 +863,9 @@ target_clean: sanity_check
        rm -f $(PROFILE_DIR)/$(FS_KERNEL_IMAGE_NAME)
        rm -f $(PROFILE_DIR)/$(CFE_FS_KERNEL_IMAGE_NAME)
        rm -f $(PROFILE_DIR)/$(FLASH_IMAGE_NAME)
-       rm -f $(PROFILE_DIR)/$(FLASH_IMAGE_NAME).w
        rm -fr $(PROFILE_DIR)/modules
        find targets -name vmlinux -print -exec rm -f "{}" ";"
-       su --command="rm -fr $(TARGET_FS)"
+       sudo su --command="rm -fr $(TARGET_FS)"
 
 hosttools_clean:
        $(MAKE) -C $(HOSTTOOLS_DIR) clean
@@ -865,14 +878,28 @@ hosttools_clean:
 
 export  BRCM_VERSION BRCM_RELEASE BRCM_EXTRAVERSION BRCM_RELEASETAG BRCM_BOARD RUN_NOISE \
        INC_KERNEL_BASE KERNEL_DIR BRCMDRIVERS_DIR USERAPPS_DIR HOSTTOOLS_DIR TARGETS_DIR DEFAULTCFG_DIR XCHANGE_DIR FSSRC_DIR BUSYBOX_DIR \
-       PROFILE_DIR INSTALL_DIR LINUXDIR INC_BRCMDRIVER_PUB_PATH INC_BRCMDRIVER_PRIV_PATH INC_BRCMBOARDPARMS_PATH INC_ENDPOINT_PATH INC_ADSLDRV_PATH BROADCOM_CFM_DIR INC_BRCMCFM_PATH BRCM_KERNEL_ROOTFS BRCMAPPS \
-       BRCM_UCLIBC CROSS_COMPILE TOOLCHAIN AS LD CC CXX AR NM STRIP SSTRIP OBJCOPY OBJDUMP RANLIB LIB_PATH LIBCDIR LIBDIR  \
+       PROFILE_DIR INSTALL_DIR LINUXDIR INC_BRCMDRIVER_PUB_PATH INC_BRCMDRIVER_PRIV_PATH INC_BRCMBOARDPARMS_PATH INC_ENDPOINT_PATH INC_ADSLDRV_PATH BROADCOM_CFM_DIR INC_BRCMCFM_PATH BRCM_KERNEL_ROOTFS BRCMAPPS BRCM_MIPS_ONLY_BUILD \
+       BRCM_UCLIBC CROSS_COMPILE TOOLCHAIN AS LD CC CXX AR NM STRIP SSTRIP OBJCOPY OBJDUMP RANLIB LIB_PATH LIBCDIR LIBDIR \
        BUILD_BR2684CTL BUILD_PVC2684CTL BUILD_RT2684D BUILD_BRCTL BUILD_CFM BUILD_CFM_CLI BUILD_IPTABLES BUILD_EBTABLES BUILD_VODSL BUILD_SIPROXD \
-       BRCM_APP_PHONE BUILD_SOAP BUILD_SOAP_VER BRCM_DSP_CODEC_G711 BRCM_DSP_CODEC_G723 BRCM_DSP_CODEC_G726 BRCM_DSP_CODEC_G729 \
-   BRCM_DSP_CODEC_G7xx BRCM_DSP_PCM BRCM_DSP_HYBRID BRCM_DSP_HYBRID_EXT BRCM_DSP_APM_FXO BRCM_DSP_APM_FXO_EXT BRCM_DSP_HYBRID_FXO \
-   BRCM_DSP_HYBRID_FXO_EXT BRCM_DSP_CODEC_T38_EXT BRCM_DSP_CODEC_T38_INT BRCM_DSP_HAL BRCM_DSP_HAL_EXTENSION  XCHANGE_DSP_APP_EXTENSION BRCM_VOICE_COUNTRY_JAPAN BRCM_VOICE_GLOBAL_CFLAGS \
-       BUILD_PPPD BUILD_REAIM BUILD_GDBSERVER BUILD_UDHCP BUILD_DHCPR BUILD_UPNP BUILD_SNMP BUILD_NAS BUILD_WLCTL BUILD_BUSYBOX BUILD_DNSPROBE BUILD_SLACTEST BUILD_VCONFIG BUILD_ETHWAN \
+       BRCM_APP_PHONE BUILD_SOAP BUILD_SOAP_VER BRCM_DSP_CODEC_G711 BRCM_DSP_CODEC_G723 BRCM_DSP_CODEC_G726 BRCM_DSP_CODEC_G729 BRCM_MIPS_ONLY_BUILD \
+       DEFAULT_USB_PID BRCM_DSP_CODEC_G7xx BRCM_DSP_PCM BRCM_DSP_HYBRID BRCM_DSP_HYBRID_EXT BRCM_DSP_APM_FXO BRCM_DSP_APM_FXO_EXT BRCM_DSP_HYBRID_FXO \
+       BRCM_DSP_HYBRID_FXO_EXT BRCM_DSP_CODEC_T38_EXT BRCM_DSP_CODEC_T38_INT BRCM_DSP_HAL BRCM_DSP_HAL_EXTENSION  XCHANGE_DSP_APP_EXTENSION BRCM_VOICE_COUNTRY_JAPAN BRCM_VOICE_GLOBAL_CFLAGS \
+       BUILD_PPPD BUILD_REAIM BRCM_KERNEL_NETQOS BUILD_GDBSERVER BUILD_UDHCP BUILD_DHCPR BUILD_UPNP BUILD_SNMP BUILD_NAS BUILD_WLCTL BUILD_BUSYBOX BUILD_DNSPROBE BUILD_SLACTEST BUILD_VCONFIG BUILD_ETHWAN BUILD_PPP_DOMAIN_SUFFIX \
        BUILD_ZEBRA BUILD_ATMCTL BUILD_ADSLCTL BUILD_NETCTL BUILD_IGMP BRCM_PTHREADS BUILD_DIAGAPP \
        BUILD_CFM_TELNETD BUILD_CFM_SSHD BUILD_SSHD_MIPS_GENKEY BUILD_FTPD BRCM_DRIVER_PCI \
        BRCM_PSI_VERSION WEB_POPUP BUILD_DIR BUILD_DDNSD BUILD_SNTP BUILD_TOD BUILD_IPPD BUILD_VCONFIG JTAG_KERNEL_DEBUG \
-       BUILD_EPITTCP
+       BUILD_EPITTCP BUILD_DPROXY BUILD_PPPDEFAULT_GW BUILD_MTU_LAN_PPP \
+       BRCM_DEFAULT_HOST_NAME DEFAULT_WLAN_ESSID BUILD_PPP_IPEXTENSION BRCM_DRIVER_PHONE \
+       BUILD_EPITTCP BUILD_NVRAM BUILD_SES BUILD_BRCM_VLAN BRCM_SNMP BRCM_LDX_APP BUILD_HTTPC BUILD_STATIC_DNS \
+       DISABLE_IGMP_SNOOPING_OPTION BUILD_PARTCONF BUILD_USER_ACCOUNT BRCM_KERNEL_ATMQOS \
+       BRCM_KERNEL_DN_IPQOS ODM_WANIP_GWNAME
+
+export CONFIG_NET_SCH_CBQ CONFIG_NET_SCH_CSZ CONFIG_NET_SCH_HPFQ CONFIG_NET_SCH_HFCS CONFIG_NET_SCH_ATM \
+       CONFIG_NET_SCH_PRIO CONFIG_NET_SCH_RED CONFIG_NET_SCH_SFQ CONFIG_NET_SCH_TEQL CONFIG_NET_SCH_TBF \
+       CONFIG_NET_SCH_GRED CONFIG_NET_SCH_DSMARK CONFIG_NET_SCH_INGRESS CONFIG_NET_QOS CONFIG_NET_ESTIMATOR \
+       CONFIG_NET_CLS CONFIG_NET_CLS_TCINDEX CONFIG_NET_CLS_ROUTE4 CONFIG_NET_CLS_ROUTE CONFIG_NET_CLS_FW \
+       CONFIG_NET_CLS_U32 CONFIG_NET_CLS_RSVP CONFIG_NET_CLS_RSVP6 CONFIG_NET_CLS_POLICE ODM_LANG_NETGEAR \
+       ODM_MULTI_LANG BUILD_BLOCK_MULTICAST_FLOOD BUILD_MPD
+
+export BRCM_KERNEL_NF_NAT_ALG_SIP BUILD_NSASOFT_TRAFFIC_EMULATOR BUILD_AUTO_PROVISION_ON_WAN ODM_AUTO_PROVISION_LAN BUILD_SYS_ALG BUILD_SYS_VPN_ALG BUILD_SYS_SIP_ALG
+export BUILD_PPP_ALWAYS_RETRY