Makefile中的foreach未找到所有文件

foreach in Makefile not finding all files

本文关键字:文件 中的 foreach Makefile      更新时间:2023-10-16

我正在尝试编写一个通用的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))))

谢谢!

我想你想要这样的东西:

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

wildcard无法递归搜索文件。所以子目录中的文件找不到。

CPP_SRCS = $(shell find . -iname "*.cpp")
作品