目的
将新增加的原文件通过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)
####################################################################