Bcm6816uni_xchg_common.doc
来源:互联网 发布:js简易购物车合计代码 编辑:程序博客网 时间:2024/06/07 03:07
//cxcAppBcm6816uni.mk
includecxcApp$(notdir $(CURDIR)).mk
-------------------------------------------------------------------------------------------------------------------------
CXC_VRG_BOARD_TYPE:= bcm6816uni
CXC_VRG_VENDOR_BOARD_TYPE:=
CXC_VRG_VENDOR_TARGET_LIST:=
CXC_VRG_VENDOR_TARGET_LIST:= pstnCtl
CXC_XDRV_6816_DEFAULT_TARGETS := bcm6816_apm \
bcm6816_boot \
bcm6816_clock \
dlbStub \
bcm6816_handshake \
ledSim \
cp0Mips \
debugCmtInterface \
exceptionHdlrMips \
exceptionHdlrCmtMips\
itpcMips \
spinLockMips
CXC_XDRV_COMMON_DEFAULT_TARGETS := bcm63xx_intCtrl \
bcm63xx_timer \
bcm63xx_resetCallout\
cacheMips \
casDriver \
dbgCom \
globalInterruptMips \
ipcSharedMem \
flowCtrl
CXC_XDRV_TARGET_LIST= $(CXC_XDRV_6816_DEFAULT_TARGETS) \
$(CXC_XDRV_COMMON_DEFAULT_TARGETS) \
bcm6816_slicsi3239 \
bcm6816_slicl9530 \
bcm6816_tpdl9530 \
bcm63xx_zarlink \
bcm63xx_silabs
CXC_XDRV_VENDOR_TARGET_LIST:=
CXC_CM_APP_BUILD_OPTIONS:=
CXC_LDX_APP_NAME= dspApp_flexible
XCHG_C_GLOBAL_DEFS+= SPI_CMD_ONE_BYTE
CXC_LDX_APP_TARGET= output
include../rules/cxcAppRules.mk
xchg_common:
//XCHG_ROOT = xChange\dslx_common\xchg_common
$(MAKE)-C $(XCHG_ROOT) -f xchg_common.mk
XCHG_LIB_DIR=$(CXC_BASE_LIB_DIR)/$(CXC_XCHG_OUTPUT_DIR)
XCHG_OBJ_DIR=$(CXC_BASE_OBJ_DIR)/$(CXC_XCHG_OUTPUT_DIR)
-----------------------------------------------------------------------------------------------------------------------------
xchg_common.mk
include$(XCHG_ROOT)/rules/xChgEnv.mk
include$(XCHG_RULES_DIR)/xChgCheckVars.mk
include$(XCHG_ROOT)/xchg_common_env.mk
//XCHG_VALID_TARGETS定义在xchg_common_targets.mk中
//XCHG_ALL_TARGETS:=
// assert blog bos containers crt mem rfs rpc rpcStubs sme str
// switch trace
XCHG_VALID_TARGETS=$(XCHG_ALL_TARGETS)$(addprefix clean_,$(XCHG_ALL_TARGETS)) $(addprefixaudit_,$(XCHG_ALL_TARGETS))
//XCHG_MAKE_TARGETS = assert bos containers sme str trace blog crt mem,定义在
//cxcAppRules.mk中
libTargets:= $(XCHG_MAKE_TARGETS)
//默认目标
all:
//包含各模块的makefile文件,如assert模块,则包含
//xChange\dslx_common\xchg_common\assert\ assert.mk
//其中各模块的makefile文件中包含了该模块需要编译的关键变量,如assert.mk中
//XCHG_LIB_BASE := assert
//ASSERT_ROOT := $(XCHG_DIR_$(XCHG_LIB_BASE))
//XCHG_SRC_FILES_$(XCHG_LIB_BASE) := $(notdir $(wildcard$(ASSERT_ROOT)/src/*.c))
//XCHG_SRC_FILES += $(XCHG_SRC_FILES_$(XCHG_LIB_BASE))
XCHG_MODULE_MAKEFILES:=
$(foreachtarget,$(libTargets),$(XCHG_DIR_$(target))/$(target).mk)
include$(XCHG_MODULE_MAKEFILES)
//该makefile定义了默认目标all的实现
include$(XCHG_ROOT)/rules/xChgRules.mk
//target对象构造,依赖各模块,XCHG_MAKE_TARGETS在上面有定义,其中各个模块就是
//最终所需要的*.a文件,XCHG_MAKE_TARGETS的构造实现是使用下面的
//XCHG_ARCHIVE_TEMPLATE静态库生成模板
target:$(XCHG_MAKE_TARGETS)
//在上面libTargets中的值就是XCHG_MAKE_TARGETS的所有值,这里就是用
//XCHG_ARCHIVE_TEMPLATE静态库生成模板构造各个模块对象文件
//其中XCHG_MAKE_TARGETS= assert bos等,所以target就分别等于assert、
//bos等。其中XCHG_ARCHIVE_TEMPLATE静态库生成模板定义在xChgRules.mk中
$(foreachtarget,$(libTargets),$(eval $(call XCHG_ARCHIVE_TEMPLATE,$(target))))
---------------------------------------------------------------------------------------------------------------------------
xChgRules.mk
//默认目标文件依赖target,taget在上面定义
all:target
//静态库生成模板
defineXCHG_ARCHIVE_TEMPLATE
//对象添加前后缀
XCHG_OBJ_FILES_$(1):= $(addprefix $(XCHG_OBJ_DIR)/, $(addsuffix$(XCHG_OBJ_EXT),$(basename $(XCHG_SRC_FILES_$(1)))))
//依赖文件
XCHG_DEP_FILES_$(1):= $$(XCHG_OBJ_FILES_$(1):$(XCHG_OBJ_EXT)=.d)
//预处理文件
XCHG_PREPROCESSED_FILES_$(1):= $(addsuffix .pp,$(basename $(XCHG_SRC_FILES_$(1))))
//构造库文件名
XCHG_LIB_NAME_$(1):= $(call XCHG_MAKE_LIB_NAME,$(1))
//设置目标的依赖头文件
$(1): XCHG_C_LOCAL_INCLUDE := $$(XCHG_C_LOCAL_INCLUDE_$(1))
//设置目标的依赖DEF文件
$(1): XCHG_C_LOCAL_DEFS := $$(XCHG_C_LOCAL_DEFS_$(1))
//DEF文件的依赖
$$(XCHG_DEP_FILES_$(1)): XCHG_C_LOCAL_INCLUDE := $$(XCHG_C_LOCAL_INCLUDE_$(1))
$$(XCHG_DEP_FILES_$(1)): XCHG_C_LOCAL_DEFS := $$(XCHG_C_LOCAL_DEFS_$(1))
//预处理文件的依赖
$$(XCHG_PREPROCESSED_FILES_$(1)): XCHG_C_LOCAL_INCLUDE := $$(XCHG_C_LOCAL_INCLUDE_$(1))
$$(XCHG_PREPROCESSED_FILES_$(1)): XCHG_C_LOCAL_DEFS := $$(XCHG_C_LOCAL_DEFS_$(1))
//目标对象构造,依赖来上面设置的库文件名
$(1): $$(XCHG_LIB_NAME_$(1))
//库文件构造,依赖于相关联的OBJ文件
$$(XCHG_LIB_NAME_$(1)): $$(XCHG_OBJ_FILES_$(1))
$(ECHO)'Creating Archive $$@'
//构造库文件的所在目录
$(MKDIR)-p $$(@D)
//删除旧的库文件
$(RM)-f $$@
//使用AR命令进行库文件打包
$(XCHG_ARCHIVE)$(XCHG_ARCHIVE_OPTS)$$@ $$^
$(ECHO)
endef
- Bcm6816uni_xchg_common.doc
- doc
- doc
- DOC
- doc
- doc
- \doc\pt-doc.txt
- doc书籍
- Java Doc
- 计时器.doc
- 状态栏.doc
- Substring.doc
- IndexOf.doc
- Doc 命令
- 自我介绍.doc
- doc命令
- Doc 命令
- DOC常用命令
- hdu1263 简单模拟
- 队列模拟
- Android LCD(一):LCD基本原理篇
- hdu 2119 二分图匹配之最小点集覆盖
- Android LCD(二):LCD常用接口原理篇
- Bcm6816uni_xchg_common.doc
- sgu 495 Kids and Prizes 求概率
- Ubuntu12.10 下搭建Java环境
- build_xdrv.doc
- 1.5新特性
- Android LCD(三):Samsung LCD接口篇
- mtd设备驱动
- hdu 4864 Task 贪心
- build_vrg.doc