0
点赞
收藏
分享

微信扫一扫

Z3Gateway 子Makefile

sullay 2022-04-04 阅读 27

目的

将新增加的原文件通过Makefile追加至“Z3Gateway.Makefile”,使用工程定义规则编译。

####################################################################
# Module    Makefile                                                   				#
####################################################################
# 目录/文件, cfile/src/a.c
FilePath = $(abspath $(lastword $(MAKEFILE_LIST)))
# 目录/, cfile/src/
FileDir = $(dir $(FilePath))
# 文件, a.c
FileName = $(notdir $(FilePath))

#$(info FilePath: $(FilePath))
#$(info FileDir: $(FileDir))
#$(info FileName: $(FileName))	

WorkDir = $(shell pwd)

####################################################################
#子模块名称
SrcPath = module
#源代码目录(含(SrcPath )),10层
SrcFolder := $(shell find $(SrcPath) -maxdepth 10 -type d)
#各个源代码目录名称(文件夹名称)
BaseSrcFolder := $(basename $(patsubst $(SrcPath)/%, %, $(SrcFolder)))
$(info SrcFolder: $(SrcFolder))
####################################################################
INCLUDES += \
 -Imodule/util \
 -Imodule/sdk-callback

####################################################################
SrcExts = .c .cc .cpp
HdrExts = .h

# 目标目录下所有的源文件的集合
SrcFiles = $(foreach n,$(SrcFolder),$(wildcard $(addprefix $(n)/*, $(SrcExts))))  
# 目标目录下所有的头文件的集合
HeaderFiles = $(foreach n,$(SrcFolder),$(wildcard $(addprefix $(n)/*, $(HdrExts))))  
# 目标目录下所有的 .c 源文件的集合
CFiles = $(filter %.c,$(SrcFiles))  
# 目标目录下所有的 .o 文件的集合 (注意== 这些只是文件名集合的变量, 实际上这些 .o 文件还没有生成)
LocalObjs    += $(addprefix $(OUTPUT_DIR)/, $(addsuffix .o, $(basename $(SrcFiles))))  
# 目标目录下所有的 .d 文件的集合 (注意== 这些只是文件名集合的变量, 实际上这些 .d 文件还没有生成)
LocalDeps    += $(addprefix $(OUTPUT_DIR)/, $(addsuffix .d, $(basename $(SrcFiles)))) 


$(info SrcFiles: $(SrcFiles))
$(info LocalObjs: $(LocalObjs))
#####################################################################
C_PATHS   += $(subst \,/,$(sort $(dir $(CFiles))))

CDEPS += $(LocalDeps)
OBJS += $(LocalObjs)
####################################################################

举报

相关推荐

0 条评论