vmlinux-dirs-2.doc

来源:互联网 发布:网络信息安全技术 编辑:程序博客网 时间:2024/06/05 03:14

//在这些变量中找到含有目录的字符,并去除最后的/

vmlinux-dirs-2 :=$(patsubst %/,%,$(filter %/, $(net-y) $(net-m) $(libs-y) $(libs-m)))


$(vmlinux-dirs-2):$(brcmdriver-dirs)

//这里会分别进入netlib等目录进行编译,暂不关心,只关心依赖条件BCM驱动

$(Q)$(MAKE)$(build)=$@


-------------------------------------------------------------------------------------------------------------------------


//BCM驱动目录

BRCMDRIVERS_DIR= $(BUILD_DIR)/bcmdrivers


//BCM驱动相关,这里只关心BRCMDRIVERS_DIR

brcmdrivers-y :=$(INC_BRCMBOARDPARMS_PATH)/$(BRCM_BOARD)/ $(BRCMDRIVERS_DIR)/$(INC_SPI_PATH)/ $(INC_FLASH_PATH)/


//BCM驱动变量中找到含有目录的字符,并去除最后的/

brcmdriver-dirs :=$(patsubst %/,%,$(filter %/, $(brcmdrivers-y) $(brcmdrivers-m)))


//这里暂不关心vmlinux-dirs-1,仅关心和BCM驱动相关,其中preparebrcmdriver

//仅用于建立对应产品的驱动软链接

$(brcmdriver-dirs):$(vmlinux-dirs-1) preparebrcmdriver

//进入BCM驱动目录进行编译

$(Q)$(MAKE)-j1 $(build)=$@


------------------------------------------------------------------------------------------------------------------------


//BCM驱动预处理

preparebrcmdriver:

//这里进入bcmdrivers目录,执行该目录下的Makefile,目标对象为symlinks

$(Q)$(MAKE)-C $(BRCMDRIVERS_DIR) symlinks



//这里的宏CONFIG_BCM_ENDPOINThostTools\scripts\gendefconfig中产生的,最终是根据

//targetprofile的配置来控制是否含有ENDPT驱动

//LN_DRIVER_DIRS += ln –sn impl1 broadcom/char/endpoint/bcm9xxx

ifneq($(CONFIG_BCM_ENDPOINT),)

LN_DRIVER_DIRS+=ln -sn impl$(CONFIG_BCM_ENDPOINT_IMPL)broadcom/char/endpoint/$(LN_NAME);

obj-$(CONFIG_BCM_ENDPOINT)+= broadcom/char/endpoint/$(LN_NAME)/

endif


//这里的宏CONFIG_BCM_ENDPOINThostTools\scripts\gendefconfig中产生的,最终是根据

//targetprofile的配置来控制是否含有DSPAPP驱动

//LN_DRIVER_DIRS += ln –sn impl1 broadcom/char/dspapp/bcm9xxx

ifneq($(CONFIG_BCM_BCMDSP),)

LN_DRIVER_DIRS+=ln -sn impl$(CONFIG_BCM_BCMDSP_IMPL)broadcom/char/dspapp/$(LN_NAME);

obj-$(CONFIG_BCM_BCMDSP)+= broadcom/char/dspapp/$(LN_NAME)/

endif


symlinks:applinks

//删除bcm9xxxxx的目录

find. -lname "*" -name "$(LN_NAME)" -print -exec rm-f "{}" ";"

//执行上面已经填充好的两个软链接命令

$(CONFIG_SHELL)-c "$(LN_DRIVER_DIRS)"

0 0
原创粉丝点击