forefile中的foreach找不到所有文件

时间:2014-10-03 02:08:17

标签: c++ foreach makefile

我正在尝试编写通用Makefile并尝试使用“foreach”来搜索项目中的所有文件。多个导演中有大约250个文件,但我似乎无法做到这一点。任何想法为什么它不起作用?

SRCDIRS = ./Src
SRCEXTS = .c .cpp
HDREXTS = .h

SOURCES = $(foreach $(SRCDIRS),$(SRCDIRS),$(wildcard $(addprefix $(d)/*,$(SRCEXTS))))
HEADERS = $(foreach $(SRCDIRS),$(SRCDIRS),$(wildcard $(addprefix $(d)/*,$(HDREXTS))))

谢谢!

2 个答案:

答案 0 :(得分:3)

我想你想要这样的东西:

SOURCES = $(foreach d,$(SRCDIRS),$(wildcard $(addprefix $(d)/*, $(SRCEXTS))))
HEADERS = $(foreach d,$(SRCDIRS),$(wildcard $(addprefix $(d)/*, $(HDREXTS))))

答案 1 :(得分:0)

wildcard无法递归搜索文件。因此无法找到子目录中的文件。

CPP_SRCS = $(shell find . -iname "*.cpp")
的工作原理。