我正在尝试编写通用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))))
谢谢!
答案 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")
的工作原理。