# -----------------------------------------------------------------|
# sercomm add
# -----------------------------------------------------------------|
help:
@echo "make help --> show usage, sercomm modified"
# @echo "make cfg_v4 --> copy kernel config for v4"
# @echo "make cfg_v4b --> copy kernel config for v4b"
# @echo "make cfe_v4sp --> copy kernel config for v4sp"
@echo "make cfg_nr --> copy kernel config for NUv2"
@echo "make cfg_nrb --> copy kernel config for NUv2"
@echo "make cfg_n2k --> copy kernel config for DGN2000"
@echo "make cfg_n2kb --> copy kernel config for DGN2000B"
@echo "make sc_kernel --> build vmlinux.lz"
@echo "make clean --> clean kernel"
@echo "make sc_driver --> install drivers"
@echo "make sc_GPL --> GPL release"
@echo "make bcm_fw --> build bcm code"
@echo "make bcm_clean --> clean bcm code"
@echo "make note --> driver change note"
##GPL_DIR=/root/fw/GPL
note:
@cat README
sc_GPL:
@echo
@echo "<-- GPL for bcm kernel -->"
@echo " GPL_DIR = $(GPL_DIR) "
#-- copy files --
#make clean
cp -ra ./ $(GPL_DIR)/kernel
#-- remove files --
rm -rf $(GPL_DIR)/kernel/bin
rm -rf $(GPL_DIR)/kernel/userapps
rm -f $(GPL_DIR)/kernel/shared
# cp -ra ../../BootCode/bcm963xx_cfe_src_010037_1002/shared $(GPL_DIR)/kernel/
cp -ra ../../BootCode/bcm963xx_cfe_src_010037_1201/shared $(GPL_DIR)/kernel/
#-- remove not open bcm drivers --
rm -rf $(GPL_DIR)/kernel/bcmdrivers/broadcom/atm
rm -rf $(GPL_DIR)/kernel/bcmdrivers/broadcom/atmbondingeth
rm -rf $(GPL_DIR)/kernel/bcmdrivers/broadcom/net
## rm -rf $(GPL_DIR)/kernel/bcmdrivers/broadcom/char/adsl
rm -rf $(GPL_DIR)/kernel/bcmdrivers/broadcom/char/atmapi
## rm -rf $(GPL_DIR)/kernel/bcmdrivers/broadcom/char/atmapi
rm -rf $(GPL_DIR)/kernel/bcmdrivers/broadcom/char/atmbonding
## rm -rf $(GPL_DIR)/kernel/bcmdrivers/broadcom/char/bcmprocfs
rm -rf $(GPL_DIR)/kernel/bcmdrivers/broadcom/char/profiler
#-- copy needed headers --
@mkdir -p $(GPL_DIR)/kernel/bcmdrivers/broadcom/char/adsl/impl1/softdsl
@cp bcmdrivers/broadcom/char/adsl/impl1/AdslCoreMap.h $(GPL_DIR)/kernel/bcmdrivers/broadcom/char/adsl/impl1/
@cp bcmdrivers/broadcom/char/adsl/impl1/softdsl/AdslCoreDefs.h $(GPL_DIR)/kernel/bcmdrivers/broadcom/char/adsl/impl1/softdsl/
@cp bcmdrivers/broadcom/char/adsl/impl1/softdsl/AdslXfaceData.h $(GPL_DIR)/kernel/bcmdrivers/broadcom/char/adsl/impl1/softdsl/
@cp bcmdrivers/broadcom/char/adsl/impl1/softdsl/CircBuf.h $(GPL_DIR)/kernel/bcmdrivers/broadcom/char/adsl/impl1/softdsl/
@mkdir -p $(GPL_DIR)/kernel/bcmdrivers/broadcom/char/adsl/impl1/adslcore6348
@cp bcmdrivers/broadcom/char/adsl/impl1/adslcore6348/adsl_defs.h $(GPL_DIR)/kernel/bcmdrivers/broadcom/char/adsl/impl1/adslcore6348
@mkdir -p $(GPL_DIR)/kernel/bcmdrivers/broadcom/char/adsl/impl1/adslcore6348B
@cp bcmdrivers/broadcom/char/adsl/impl1/adslcore6348B/adsl_defs.h $(GPL_DIR)/kernel/bcmdrivers/broadcom/char/adsl/impl1/adslcore6348B
@mkdir -p $(GPL_DIR)/kernel/bcmdrivers/broadcom/char/adsl/impl1/adslcore6348C
# @cp bcmdrivers/broadcom/char/adsl/impl1/adslcore6348C/adsl_defs.h $(GPL_DIR)/kernel/bcmdrivers/broadcom/char/adsl/impl1/adslcore6348C
#-- linux config --
sed 's/CONFIG_BCM_ENET=m/# CONFIG_BCM_ENET is not set/' $(GPL_DIR)/kernel/kernel/linux/.config > $(GPL_DIR)/kernel/kernel/linux/.config2
sed 's/CONFIG_BCM_WLAN=m/# CONFIG_BCM_WLAN is not set/' $(GPL_DIR)/kernel/kernel/linux/.config2 > $(GPL_DIR)/kernel/kernel/linux/.config3
sed 's/CONFIG_BCM_ADSL=m/# CONFIG_BCM_ADSL is not set/' $(GPL_DIR)/kernel/kernel/linux/.config3 > $(GPL_DIR)/kernel/kernel/linux/.config4
sed 's/CONFIG_BCM_ATMAPI=m/# CONFIG_BCM_ATMAPI is not set/' $(GPL_DIR)/kernel/kernel/linux/.config4 > $(GPL_DIR)/kernel/kernel/linux/.config
rm -f $(GPL_DIR)/kernel/kernel/linux/.config2
rm -f $(GPL_DIR)/kernel/kernel/linux/.config3
rm -f $(GPL_DIR)/kernel/kernel/linux/.config4
rm -f $(GPL_DIR)/kernel/kernel/linux/.config_4M
rm -f $(GPL_DIR)/kernel/kernel/linux/.config_8M
echo PROJ_DIR_KERNEL_SRC=kernel/kernel/linux >> $(GPL_DIR)/Rules.mak
echo "export PROJ_DIR_KERNEL_SRC" >> $(GPL_DIR)/Rules.mak
cp vmlinux.lz $(GPL_DIR)/
##only leave targets/96348W3-N2K
#mkdir $(GPL_DIR)/kernel/temp
#mv $(GPL_DIR)/kernel/targets/96348W3-N2K $(GPL_DIR)/kernel/temp
#rm -rf $(GPL_DIR)/kernel/targets
#mv $(GPL_DIR)/kernel/temp $(GPL_DIR)/kernel/targets
##del
#rm -rf $(GPL_DIR)/kernel/bcm963xx_3.12L.01_combo
#rm -rf $(GPL_DIR)/kernel/hostTools/*.c
#rm -rf $(GPL_DIR)/kernel/hostTools/Makefile
#rm -rf $(GPL_DIR)/kernel/bcmdrivers/broadcom/char/bcmprocfs/impl1/*.c
#rm -rf $(GPL_DIR)/kernel/bcmdrivers/broadcom/char/bcmprocfs/impl1/*.h
#rm -rf $(GPL_DIR)/kernel/bcmdrivers/broadcom/char/p8021ag
#rm -rf $(GPL_DIR)/kernel/bcmdrivers/broadcom/char/xtmcfg
#rm -rf $(GPL_DIR)/kernel/bcmdrivers/broadcom/char/adsl
sc_kernel: vmlinux.lz_only
@echo -e "\\e[36m -- make kernel done --\e[0m"
@echo
sc_GPL_build2:
cp vmlinux.lz ../vmlinux.lz
sc_GPL_build: vmlinux.lz_only sc_GPL_build2
@echo -e "\\e[36m -- make kernel done --\e[0m"
@echo
sc_modules: profile_check create_install modbuild kernelbuildlite
ifeq ($(TARGET_HOME),)
FS_DIR = $(BUILD_DIR)/../../Source/target
else
FS_DIR = $(TARGET_HOME)/target
endif
BCM_DIR= $(BUILD_DIR)/bin
sc_driver: sc_modules sc_modules_install nas_sc wlctl_sc wl_sc adsl_sc wps_sc
@echo BUILD_DIR=$(BUILD_DIR)
@echo FS_DIR=$(FS_DIR)
@echo BCM_DIR=$(BCM_DIR)
cp $(BCM_DIR)/adsldd.ko $(FS_DIR)/lib/modules/
cp $(BCM_DIR)/bcm_enet.ko $(FS_DIR)/lib/modules/
# cp $(BCM_DIR)/vnet.ko $(FS_DIR)/lib/modules/
cp $(BCM_DIR)/atmapi.ko $(FS_DIR)/lib/modules/
cp $(BCM_DIR)/blaa_dd.ko $(FS_DIR)/lib/modules/
cp $(BCM_DIR)/br2684.ko $(FS_DIR)/lib/modules/
cp $(BCM_DIR)/adsl_phy.bin $(FS_DIR)/lib/modules/
cp $(BCM_DIR)/adslctl $(FS_DIR)/usr/sbin/
cp $(BCM_DIR)/atmctl $(FS_DIR)/usr/sbin/
cp $(BCM_DIR)/wlctl $(FS_DIR)/usr/sbin/
cp $(BCM_DIR)/nas $(FS_DIR)/usr/sbin/
cp $(BCM_DIR)/wl.ko $(FS_DIR)/lib/modules/
cp $(BCM_DIR)/libwlctl.so $(FS_DIR)/lib/
# cp $(BCM_DIR)/libwlbcmcrypto.so $(FS_DIR)/lib/
# cp $(BCM_DIR)/libwlbcmshared.so $(FS_DIR)/lib/
@if [ -e $(BCM_DIR)/libwlbcmcrypto.so ]; then\
echo "copy libwlbcmcrypto.so from $(BCM_DIR) to $(FS_DIR)";\
cp $(BCM_DIR)/libwlbcmcrypto.so $(FS_DIR)/lib/;\
fi
@if [ -e $(BCM_DIR)/libwlbcmshared.so ]; then\
echo "copy libwlbcmshared.so from $(BCM_DIR) to $(FS_DIR)";\
cp $(BCM_DIR)/libwlbcmshared.so $(FS_DIR)/lib/;\
fi
@if [ -e $(FS_DIR)/usr/etc/wlan ]; then\
rm -rf $(FS_DIR)/usr/etc/wlan ;\
fi
@if [ -e $(BCM_DIR)/wsccmd ]; then\
cp $(BCM_DIR)/wsccmd $(FS_DIR)/usr/sbin ;\
fi
@if [ -e $(BCM_DIR)/wsc_config_1a_ap.txt ]; then\
cp $(BCM_DIR)/wsc_config_1a_ap.txt $(FS_DIR)/usr/etc ;\
fi
mkdir $(FS_DIR)/usr/etc/wlan
cp $(BCM_DIR)/bcm4322_map.bin $(FS_DIR)/usr/etc/wlan
@echo -e "\\e[36m -- sc_driver --\e[0m"
vmlinux.lz_only : sanity_check profile_check create_install kernelbuild hosttools vmlinux.lz_gen
vmlinux.lz_gen:
@rm -f ./vmlinux
@rm -f ./vmlinux.bin
@rm -f ./vmlinux.lz
cp $(KERNEL_DIR)/vmlinux . ; \
$(STRIP) --remove-section=.note --remove-section=.comment vmlinux; \
$(OBJCOPY) -O binary vmlinux vmlinux.bin; \
$(HOSTTOOLS_DIR)/cmplzma -k -2 vmlinux vmlinux.bin vmlinux.lz
nas_sc:
# echo "nas_sc=$(BROADCOM_DIR)"
rm -rf $(BROADCOM_DIR)/nas/*
cp -pRdf $(BRCMDRIVERS_DIR)/broadcom/net/wl/bcm9$(BRCM_CHIP)/nas/* $(BROADCOM_DIR)/nas;
$(MAKE) -C $(BROADCOM_DIR)/nas sc
wlctl_sc:
rm -rf $(BROADCOM_DIR)/wlctl/*
cp -pRdf $(BRCMDRIVERS_DIR)/broadcom/net/wl/bcm9$(BRCM_CHIP)/wlctl/* $(BROADCOM_DIR)/wlctl
$(MAKE) -C $(BROADCOM_DIR)/wlctl sc
wl_sc:
cp $(BRCMDRIVERS_DIR)/broadcom/net/wl/bcm9$(BRCM_CHIP)/wl.ko bin/
#cp $(BRCMDRIVERS_DIR)/broadcom/net/wl/bcm9$(BRCM_CHIP)/shared/bcm4318_map.bin bin/
wps_sc:
$(MAKE) -C $(BRCMDRIVERS_DIR)/broadcom/net/wl/bcm9$(BRCM_CHIP)/wsc sc
adsl_sc:
cp $(BRCMDRIVERS_DIR)/broadcom/char/adsl/bcm9$(BRCM_CHIP)/adsl_phy.bin bin/
$(MAKE) -C $(BROADCOM_DIR)/atmctl sc
$(MAKE) -C $(BROADCOM_DIR)/adslctl sc
sc_modules_install:
cp $(BRCMDRIVERS_DIR)/broadcom/char/adsl/bcm9$(BRCM_CHIP)/adsldd.ko bin/
cp $(BRCMDRIVERS_DIR)/broadcom/net/enet/bcm9$(BRCM_CHIP)/bcm_enet.ko bin/
# cp $(BRCMDRIVERS_DIR)/broadcom/net/enet/bcm9$(BRCM_CHIP)/vnet.ko bin/
cp $(BRCMDRIVERS_DIR)/broadcom/char/atmapi/bcm9$(BRCM_CHIP)/atmapi.ko bin/
cp $(BRCMDRIVERS_DIR)/broadcom/atm/bcm9$(BRCM_CHIP)/blaa_dd.ko bin/
cp kernel/linux/net/atm/br2684.ko bin/
show:
@echo Profile=$(PROFILE)
@echo WL=$(WL)
sc_help:
# @more Readme_allen.txt
@echo
@echo "-----------------------------------------------------------"
@echo "make sc_adsl: display usage to change ATM driver/ adsl phy"
sc_adsl:
@echo " CMD ATM driver ADSL phy"
@echo " ------------- -------------------- -----------"
@echo " make sc_adsl_1: 3.12.01 org 3.12.01 org"
@echo " make sc_adsl_2: AdslDrv_Linux3_A2x020e a2pb023b (A) b2pb022l (B)"
@echo " make sc_adsl_3: AdslDrv_Linux3_A2x020a b2pb021k"
@echo " make sc_adsl_4: AdslDrv_Linux3_A2x020e a2pb023b (A) b2pb023h (B)"
@echo
@echo "Reference:"
@echo " DGN2000A AdslDrv_Linux3_A2x020e a2pb023b"
@echo " DGN2000B AdslDrv_Linux3_A2x020a b2pb021k"
# @echo " DGN2000B AdslDrv_Linux3_A2x020e b2pb022l"
@echo " DGN2000B AdslDrv_Linux3_A2x020e b2pb023h"
@echo " DG834NUv2A AdslDrv_Linux3_A2x020e a2pb023b"
# @echo " DG834NUv2B AdslDrv_Linux3_A2x020a b2pb021k"
@echo " DG834NUv2B AdslDrv_Linux3_A2x020e b2pb023h"
.PHONY: sc_adsl_rm_link
sc_adsl_rm_link:
rm -rf bcmdrivers/broadcom/char/adsl/impl1
rm -f bcmdrivers/broadcom/include/bcm963xx
rm -f userapps/broadcom/adslctl
# rm -f userapps/broadcom/cfm
sc_adsl_1: sc_adsl_rm_link
@echo " ... link to original code ... "
ln -sf impl1_org bcmdrivers/broadcom/char/adsl/impl1
ln -sf bcm963xx_org bcmdrivers/broadcom/include/bcm963xx
ln -sf adslctl_org userapps/broadcom/adslctl
# ln -sf cfm_org userapps/broadcom/cfm
sc_adsl_2: sc_adsl_rm_link
@echo " ... link to AdslDrv_Linux3_A2x020e / b2pb022l ... "
ln -sf adslcore6348B_b2pb022l bcmdrivers/broadcom/char/adsl/impl1_A2x020e/adslcore6348B
ln -sf impl1_A2x020e bcmdrivers/broadcom/char/adsl/impl1
ln -sf bcm963xx_A2x020e bcmdrivers/broadcom/include/bcm963xx
ln -sf adslctl_A2x020e userapps/broadcom/adslctl
# ln -sf cfm_A2x020e userapps/broadcom/cfm
sc_adsl_3: sc_adsl_rm_link
@echo " ... link to AdslDrv_Linux3_A2x020a / b2pb021k ... "
ln -sf impl1_A2x020a bcmdrivers/broadcom/char/adsl/impl1
ln -sf bcm963xx_A2x020a bcmdrivers/broadcom/include/bcm963xx
ln -sf adslctl_A2x020a userapps/broadcom/adslctl
# ln -sf cfm_org userapps/broadcom/cfm
sc_adsl_4: sc_adsl_rm_link
@echo " ... link to AdslDrv_Linux3_A2x020e / b2pb023h ... "
ln -sf adslcore6348B_b2pb023h bcmdrivers/broadcom/char/adsl/impl1_A2x020e/adslcore6348B
ln -sf impl1_A2x020e bcmdrivers/broadcom/char/adsl/impl1
ln -sf bcm963xx_A2x020e bcmdrivers/broadcom/include/bcm963xx
ln -sf adslctl_A2x020e userapps/broadcom/adslctl
_chmod:
@chmod 774 $(TARGETS_DIR)/buildFS
cfg_v4: _chmod
rm -f targets/96348W3/96348W3
cp targets/96348W3/96348W3A targets/96348W3/96348W3
cp kernel/linux/.config_4M kernel/linux/.config
rm -f shared/opensource/include/bcm963xx/bcm_hwdefs.h
ln -sf bcm_hwdefs_4m.h shared/opensource/include/bcm963xx/bcm_hwdefs.h
cfg_v4b: _chmod
rm -f targets/96348W3/96348W3
cp targets/96348W3/96348W3B targets/96348W3/96348W3
cp kernel/linux/.config_4M kernel/linux/.config
rm -f shared/opensource/include/bcm963xx/bcm_hwdefs.h
ln -sf bcm_hwdefs_4m.h shared/opensource/include/bcm963xx/bcm_hwdefs.h
cfg_v4sp: _chmod
rm -f targets/96348W3/96348W3
cp targets/96348W3/96348W3A targets/96348W3/96348W3
cp kernel/linux/.config_8M kernel/linux/.config
rm -f shared/opensource/include/bcm963xx/bcm_hwdefs.h
ln -sf bcm_hwdefs_8m.h shared/opensource/include/bcm963xx/bcm_hwdefs.h
cfg_nr: _chmod sc_adsl_2
rm -f targets/96358GW-MIMO/96358GW-MIMO
cp targets/96358GW-MIMOA/96358GW-MIMOA targets/96358GW-MIMO/96358GW-MIMO
cp kernel/linux/.config_NR kernel/linux/.config
rm -f shared/opensource/include/bcm963xx/bcm_hwdefs.h
ln -sf bcm_hwdefs_4m.h shared/opensource/include/bcm963xx/bcm_hwdefs.h
cfg_nrb: _chmod sc_adsl_4
rm -f targets/96358GW-MIMO/96358GW-MIMO
cp targets/96358GW-MIMOB/96358GW-MIMOB targets/96358GW-MIMO/96358GW-MIMO
cp kernel/linux/.config_NR kernel/linux/.config
rm -f shared/opensource/include/bcm963xx/bcm_hwdefs.h
ln -sf bcm_hwdefs_4m.h shared/opensource/include/bcm963xx/bcm_hwdefs.h
cfg_n2k: _chmod sc_adsl_2
rm -f targets/96348W3-N2K/96348W3-N2K
cp targets/96348W3-N2KA/96348W3-N2KA targets/96348W3-N2K/96348W3-N2K
cp kernel/linux/.config_n2k kernel/linux/.config
rm -f shared/opensource/include/bcm963xx/bcm_hwdefs.h
ln -sf bcm_hwdefs_4m.h shared/opensource/include/bcm963xx/bcm_hwdefs.h
cfg_n2kb: _chmod sc_adsl_2
rm -f targets/96348W3-N2K/96348W3-N2K
cp targets/96348W3-N2KB/96348W3-N2KB targets/96348W3-N2K/96348W3-N2K
cp kernel/linux/.config_n2k kernel/linux/.config
rm -f shared/opensource/include/bcm963xx/bcm_hwdefs.h
ln -sf bcm_hwdefs_4m.h shared/opensource/include/bcm963xx/bcm_hwdefs.h
clean_bcm_links:
@echo -e "\\e[36m -- clean_bcm_links --\e[0m"
rm -f bcmdrivers/opensource/char/serial/bcm9$(BRCM_CHIP)
rm -f bcmdrivers/opensource/char/board/bcm963xx/bcm9$(BRCM_CHIP)
rm -f bcmdrivers/broadcom/atm/bcm9$(BRCM_CHIP)
rm -f bcmdrivers/broadcom/net/wl/bcm9$(BRCM_CHIP)
rm -f bcmdrivers/broadcom/net/enet/bcm9$(BRCM_CHIP)
rm -f bcmdrivers/broadcom/char/adsl/bcm9$(BRCM_CHIP)
rm -f bcmdrivers/broadcom/char/atmapi/bcm9$(BRCM_CHIP)
rm -f bcmdrivers/broadcom/char/bcmprocfs/bcm9$(BRCM_CHIP)