XCHANGE_DIR = $(BUILD_DIR)/xChange
FSSRC_DIR = $(TARGETS_DIR)/fs.src
CFE_FILE = $(TARGETS_DIR)/cfe/cfe$(BRCM_CHIP).bin
+SHARED_DIR = $(BUILD_DIR)/shared
CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
else if [ -x /bin/bash ]; then echo /bin/bash; \
else echo sh; fi ; fi)
ifeq ($(strip $(BRCM_UCLIBC)),y)
NTC=1
ifeq ($(strip $(NTC)),1)
-TOOLCHAIN=/opt/toolchains/uclibc-crosstools
+TOOLCHAIN=/opt/toolchains/uclibc-crosstools_gcc-3.4.2_uclibc-20050502
CROSS_COMPILE = $(TOOLCHAIN)/bin/mips-linux-uclibc-
else
TOOLCHAIN=/opt/toolchains/uclibc
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
ifeq ($(strip $(BRCM_APP_PHONE)),sip)
export VOXXXLOAD=1
export VOIPLOAD=1
export SIPLOAD=1
+
+ifeq ($(strip $(BRCM_VODSL_CONFIG_MANAGER)),y)
+ export BRCM_VODSL_CFGMGR=1
+endif
+
BRCM_RELEASETAG := $(BRCM_RELEASETAG).sip
endif
export VOXXXLOAD=1
export VOIPLOAD=1
export MGCPLOAD=1
+export BRCM_VODSL_CFGMGR=0
BRCM_RELEASETAG := $(BRCM_RELEASETAG).mgcp
endif
+ifeq ($(strip $(BRCM_PROFILER_ENABLED)),y)
+export BRCM_PROFILER_TOOL=1
+else
+export BRCM_PROFILER_TOOL=0
+endif
+
ifneq ($(strip $(BUILD_VODSL)),)
export VOXXXLOAD=1
endif
+ifeq ($(strip $(BRCM_VODSL_STUNC)),y)
+ export BRCM_VODSL_STUN_CLIENT=1
+endif
+
BRCM_DSP_HAL := gw
BRCM_DSP_HAL_EXTENSION :=
XCHANGE_DSP_APP_EXTENSION :=
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
+ifeq ($(strip $(BRCM_DSP_PCM_G726)),y)
+XCHANGE_DSP_APP := dspApp3341_tdm_g726
+BRCM_DSP_HAL_EXTENSION := _pcm
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
+ifeq ($(strip $(BRCM_DSP_PCM_T38_EXT)),y)
+XCHANGE_DSP_APP := dspApp3341_tdm_t38
+BRCM_DSP_HAL_EXTENSION := _pcm
endif
ifeq ($(strip $(BRCM_DSP_APM_FXO_EXT)),y)
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
+#
+# 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
+# the correct board HAL application.
+#
+ifeq ($(strip $(BRCM_DSP_FXO)),y)
+ifeq ($(strip $(BRCM_SLIC_LE9502)),y)
+export XCHANGE_BUILD_APP=Bcm$(BRCM_CHIP)_Le9502FXO
+BRCM_RELEASETAG := $(BRCM_RELEASETAG)._LE9502
+BRCM_DSP_HAL := _Le9502FXO
+BRCM_DSP_HAL_EXTENSION :=
+export BRCM_SLIC_LE9502
+else
+ifeq ($(strip $(BRCM_SLIC_LE9500)),y)
+export XCHANGE_BUILD_APP=Bcm$(BRCM_CHIP)_Le9500FXO
+BRCM_RELEASETAG := $(BRCM_RELEASETAG)._LE9500
+BRCM_DSP_HAL := _Le9500FXO
+BRCM_DSP_HAL_EXTENSION :=
+export BRCM_SLIC_LE9500
+endif
+endif
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
+
+#
+# DSP codec flags definition. To be used throughout the application (for configuration and vodsl)
+#
+
+BRCM_DSP_CODEC_DEFINES := -DXCFG_G711_SUPPORT=1
+
+ifeq ($(strip $(BRCM_DSP_CODEC_G723)),y)
+BRCM_DSP_CODEC_DEFINES += -DXCFG_G7231_SUPPORT=1
+endif
+
+ifeq ($(strip $(BRCM_DSP_CODEC_G726)),y)
+BRCM_DSP_CODEC_DEFINES += -DXCFG_G726_SUPPORT=1
+endif
+
+ifeq ($(strip $(BRCM_DSP_CODEC_G729)),y)
+BRCM_DSP_CODEC_DEFINES += -DXCFG_G729_SUPPORT=1
+endif
+
+ifeq ($(strip $(BRCM_DSP_CODEC_G7xx)),y)
+BRCM_DSP_CODEC_DEFINES += -DXCFG_G7231_SUPPORT=1
+BRCM_DSP_CODEC_DEFINES += -DXCFG_G726_SUPPORT=1
+BRCM_DSP_CODEC_DEFINES += -DXCFG_G729_SUPPORT=1
+endif
+
+ifeq ($(strip $(BRCM_DSP_PCM)),y)
+BRCM_DSP_CODEC_DEFINES += -DXCFG_G729_SUPPORT=1
+endif
+
+ifeq ($(strip $(BRCM_DSP_PCM_G726)),y)
+BRCM_DSP_CODEC_DEFINES += -DXCFG_G726_SUPPORT=1
+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
+
+ifeq ($(strip $(BRCM_DSP_CODEC_T38_EXT)),y)
+BRCM_DSP_CODEC_DEFINES += -DXCFG_G726_SUPPORT=1
+BRCM_DSP_CODEC_DEFINES += -DXCFG_G729_SUPPORT=1
+BRCM_DSP_CODEC_DEFINES += -DXCFG_FAX_SUPPORT=1
+endif
+
+ifeq ($(strip $(BRCM_DSP_APM_FXO_EXT)),y)
+BRCM_DSP_CODEC_DEFINES += -DXCFG_G729_SUPPORT=1
+BRCM_DSP_CODEC_DEFINES += -DXCFG_G726_SUPPORT=1
+BRCM_DSP_CODEC_DEFINES += -DXCFG_FAX_SUPPORT=1
+endif
+
+
+#
+# Definition of the number of voice channels supported based on the specific
+# application being created.
+#
+
+ifeq ($(strip $(BRCM_DSP_APM_FXO_EXT)), y)
+BRCM_DSP_CHAN_DEFINES = -DNUM_APM_VOICE_CHANNELS=2 -DNUM_TDM_VOICE_CHANNELS=0 -DNUM_FXO_CHANNELS=1
+else
+BRCM_DSP_CHAN_DEFINES = -DNUM_APM_VOICE_CHANNELS=0 -DNUM_TDM_VOICE_CHANNELS=0 -DNUM_FXO_CHANNELS=0
endif
+export BRCM_DSP_CODEC_DEFINES
+export BRCM_DSP_CHAN_DEFINES
export BRCM_DSP_FXO
export XCHANGE_BUILD_APP=Bcm$(BRCM_CHIP)$(BRCM_DSP_HAL)$(BRCM_DSP_HAL_EXTENSION)
export XCHANGE_DSP_APP_EXTENSION
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
+
+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=
endif
-export XCHG_LE9502_SLIC
+
+ifeq ($(strip $(BRCM_VODSL_DUAL_3341)),y)
+BRCM_RELEASETAG := $(BRCM_RELEASETAG).dual3341
endif
-
-
+
#Set up ADSL standard
export ADSL=$(BRCM_ADSL_STANDARD)
###########################################
export OPENSOURCE_DIR=$(USERAPPS_DIR)/opensource
SUBDIRS_OPENSOURCE = $(OPENSOURCE_DIR)/atm2684/pvc2684ctl \
+ $(OPENSOURCE_DIR)/openssl \
+ $(OPENSOURCE_DIR)/ipsec-tools \
$(OPENSOURCE_DIR)/bridge-utils \
$(OPENSOURCE_DIR)/ppp/pppoe \
$(OPENSOURCE_DIR)/udhcp \
$(OPENSOURCE_DIR)/iptables \
$(OPENSOURCE_DIR)/ebtables \
$(OPENSOURCE_DIR)/reaim \
- $(OPENSOURCE_DIR)/gdbserver \
+ $(OPENSOURCE_DIR)/iproute2 \
+ $(OPENSOURCE_DIR)/libosip2 \
$(OPENSOURCE_DIR)/siproxd \
$(OPENSOURCE_DIR)/zebra \
$(OPENSOURCE_DIR)/net-snmp \
$(BROADCOM_DIR)/ethctl \
$(BROADCOM_DIR)/hotplug \
$(BROADCOM_DIR)/epittcp \
- $(BROADCOM_DIR)/ses
+ $(BROADCOM_DIR)/snmp \
+ $(BROADCOM_DIR)/tr69c \
+ $(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 = ipsec-tools pvc2684ctl pvc2684d brctl pppd udhcp iptables ebtables \
+ 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 ses
+ igmp dhcpr diagapp sntp ddnsd ilmi ippd hotplug ethctl epittcp snmp ses
LIBC_OPTIMIZATION = libcreduction
+ifneq ($(strip $(BUILD_GDBSERVER)),)
+TOOLCHAIN_UTIL_APPS = gdbserver
+endif
+
BUSYBOX_DIR = $(OPENSOURCE_DIR)/busybox
-BRCMAPPS = $(BROADCOM_APPS) $(OPENSOURCE_APPS) $(LIBC_OPTIMIZATION)
+BRCMAPPS = openssl $(BROADCOM_APPS) $(OPENSOURCE_APPS) $(TOOLCHAIN_UTIL_APPS) $(LIBC_OPTIMIZATION)
all: sanity_check profile_check kernelbuild modbuild app hosttools buildimage
modules: profile_check modbuild hosttools buildimage
-app: profile_check prebuild $(BRCMAPPS) hosttools buildimage
+app: profile_check prebuild $(BRCMAPPS) hosttools rm_cvs buildimage
prebuild:
mkdir -p $(INSTALL_DIR)/bin $(INSTALL_DIR)/lib
+rm_cvs:
+ @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:
find bcmdrivers/broadcom/char/endpoint/ \( -name '*.o' -o -name '*.a' -o -name '*.lib' -o -name '*.ko' -o -name '*.cmd' -o -name '.*.cmd' -o -name '*.c' -o -name '*.mod' \) -print -exec rm -f "{}" ";"
reaim:
endif
+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_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
@echo Warning: You need to build iptables first !!!!!
endif
+ifneq ($(strip $(BUILD_IPSEC_TOOLS)),)
+ipsec-tools:
+ cd $(OPENSOURCE_DIR); (tar xkfj ipsec-tools.tar.bz2 2> /dev/null || true)
+ $(MAKE) -C $(OPENSOURCE_DIR)/ipsec-tools $(BUILD_IPSEC_TOOLS)
+else
+ipsec-tools:
+endif
+
+ifneq ($(strip $(BUILD_CERT)),)
+openssl:
+ cd $(OPENSOURCE_DIR); (tar xkfj openssl.tar.bz2 2> /dev/null || true)
+ $(MAKE) -C $(OPENSOURCE_DIR)/openssl dynamic
+else
+openssl:
+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)),)
export BUILD_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
+endif
+
+ifneq ($(strip $(BUILD_SNMP_UDP)),)
+export BUILD_SNMP_UDP=y
+endif
+
+ifneq ($(strip $(BUILD_SNMP_EOC)),)
+export BUILD_SNMP_EOC=y
+endif
+
+ifneq ($(strip $(BUILD_SNMP_AAL5)),)
+export BUILD_SNMP_AAL5=y
+endif
+
+ifneq ($(strip $(BUILD_SNMP_AUTO)),)
+export BUILD_SNMP_AUTO=y
+endif
+
+ifneq ($(strip $(BUILD_SNMP_DEBUG)),)
+export BUILD_SNMP_DEBUG=y
+endif
+
+ifneq ($(strip $(BUILD_SNMP_TRANSPORT_DEBUG)),)
+export BUILD_SNMP_TRANSPORT_DEBUG=y
+endif
+
+ifneq ($(strip $(BUILD_SNMP_LAYER_DEBUG)),)
+export BUILD_SNMP_LAYER_DEBUG=y
+endif
+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
#add hotplug here, for nas use only
hotplug:
$(MAKE) -C $(BROADCOM_DIR)/hotplug $(BUILD_NAS)
-
+
else
export WIRELESS=0
nas:
ippd:
endif
+ifneq ($(strip $(BUILD_PORT_MIRRORING)),)
+export BUILD_PORT_MIRRORING=1
+else
+export BUILD_PORT_MIRRORING=0
+endif
+
hosttools:
$(MAKE) -C $(HOSTTOOLS_DIR)
#
# System code clean-up
#
-###########################################
-
+###########################################
+
subdirs: $(patsubst %, _dir_%, $(SUBDIRS))
$(patsubst %, _dir_%, $(SUBDIRS)) :
hosttools_clean:
$(MAKE) -C $(HOSTTOOLS_DIR) clean
-
+
###########################################
#
# System-wide exported variables
+# (in alphabetical order)
#
-###########################################
-
-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 \
- 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 \
- 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_NVRAM BUILD_SES
+###########################################
+
+export \
+AR \
+AS \
+BRCM_APP_PHONE \
+BRCMAPPS \
+BRCM_BOARD \
+BRCM_DRIVER_PCI \
+BRCMDRIVERS_DIR \
+BRCM_DSP_APM_FXO \
+BRCM_DSP_APM_FXO_EXT \
+BRCM_DSP_CODEC_G711 \
+BRCM_DSP_CODEC_G723 \
+BRCM_DSP_CODEC_G726 \
+BRCM_DSP_CODEC_G729 \
+BRCM_DSP_CODEC_G7xx \
+BRCM_DSP_CODEC_T38_EXT \
+BRCM_DSP_CODEC_T38_INT \
+BRCM_DSP_HAL \
+BRCM_DSP_HAL_EXTENSION \
+BRCM_DSP_PCM \
+BRCM_DSP_PCM_G726 \
+BRCM_DSP_PCM_T38_EXT \
+BRCM_EXTRAVERSION \
+BRCM_KERNEL_NETQOS \
+BRCM_KERNEL_ROOTFS \
+BRCM_LDX_APP \
+BRCM_MIPS_ONLY_BUILD \
+BRCM_MIPS_ONLY_BUILD \
+BRCM_PSI_VERSION \
+BRCM_PTHREADS \
+BRCM_RELEASE \
+BRCM_RELEASETAG \
+BRCM_SNMP \
+BRCM_UCLIBC \
+BRCM_VERSION \
+BRCM_VODSL_DUAL_3341 \
+BRCM_VOICE_COUNTRY_JAPAN \
+BRCM_VOICE_GLOBAL_CFLAGS \
+BROADCOM_CFM_DIR \
+BUILD_ADSLCTL \
+BUILD_ATMCTL \
+BUILD_BR2684CTL \
+BUILD_BRCM_VLAN \
+BUILD_BRCTL \
+BUILD_BUSYBOX \
+BUILD_CERT \
+BUILD_CFM \
+BUILD_CFM_CLI \
+BUILD_CFM_SSHD \
+BUILD_CFM_TELNETD \
+BUILD_DDNSD \
+BUILD_DHCPR \
+BUILD_DIAGAPP \
+BUILD_DIR \
+BUILD_DNSPROBE \
+BUILD_EBTABLES \
+BUILD_EPITTCP \
+BUILD_ETHWAN \
+BUILD_FTPD \
+BUILD_GDBSERVER \
+BUILD_IGMP \
+BUILD_IPPD \
+BUILD_IPSEC_TOOLS \
+BUILD_IPTABLES \
+BUILD_NAS \
+BUILD_NETCTL \
+BUILD_NVRAM \
+BUILD_PORT_MIRRORING \
+BUILD_PPPD \
+BUILD_PVC2684CTL \
+BUILD_REAIM \
+BUILD_RT2684D \
+BUILD_SES \
+BUILD_SIPROXD \
+BUILD_SLACTEST \
+BUILD_SNMP \
+BUILD_SNTP \
+BUILD_SOAP \
+BUILD_SOAP_VER \
+BUILD_SSHD_MIPS_GENKEY \
+BUILD_TOD \
+BUILD_TR69C \
+BUILD_TR69C_SSL \
+BUILD_UDHCP \
+BUILD_UPNP \
+BUILD_VCONFIG \
+BUILD_VCONFIG \
+BUILD_VODSL \
+BUILD_WLCTL \
+BUILD_ZEBRA \
+BUSYBOX_DIR \
+CC \
+CROSS_COMPILE \
+CXX \
+DEFAULTCFG_DIR \
+FSSRC_DIR \
+HOSTTOOLS_DIR \
+INC_ADSLDRV_PATH \
+INC_BRCMBOARDPARMS_PATH \
+INC_BRCMCFM_PATH \
+INC_BRCMDRIVER_PRIV_PATH \
+INC_BRCMDRIVER_PUB_PATH \
+INC_BRCMSHARED_INC_PATH \
+INC_BRCMSHARED_SRC_PATH \
+INC_ENDPOINT_PATH \
+INC_KERNEL_BASE \
+INSTALL_DIR \
+JTAG_KERNEL_DEBUG \
+KERNEL_DIR \
+LD \
+LIBCDIR \
+LIBDIR \
+LIB_PATH \
+LINUXDIR \
+NM \
+OBJCOPY \
+OBJDUMP \
+PROFILE_DIR \
+RANLIB \
+RUN_NOISE \
+SSTRIP \
+STRIP \
+TARGETS_DIR \
+TOOLCHAIN \
+USERAPPS_DIR \
+WEB_POPUP \
+XCHANGE_DIR \
+XCHANGE_DSP_APP_EXTENSION
+