Makefile define的问题

愤怒的呆鱼 愤怒的呆鱼 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

source := Ng Ho F1 No
dir := /cc/test/cpp/src
define VAR
lib = $(foreach L,$(source), $(dir)/$(L)Class.cc)
SRC = $(foreach L, $(lib), $(wildcard $(L)))
endef

loop := Class
$(foreach, L, $(loop), $(eval $(call VAR, $(L))))

.PHONY:all
all:
@echo "Makefile begin"
@echo "source: " $(source)
@echo "lib: " $(lib)
@echo "SRC: " $(SRC)
@echo "Makefile end"


一个比较简单的Makefile,我的/cc/test/cpp/src目录下有NgClass.cc HoClass.cc F1Class.cc三个文件
然后我期望SRC可以得到这三个文件名,带上了目录

但是现在我的执行结果实这样的:
Makefile begin
source: Ng Ho F1 No
lib: /cc/test/cpp/src/NgClass.cc /cc/test/cpp/src/HoClass.cc /cc/test/cpp/src/F1Class.cc /cc/test/cpp/src/NoClass.cc
SRC:
Makefile end

这是为什么?求大神解答
...全文

相关推荐

评论
收藏 已收藏
分享
返回顶部