C++ 在多个文件夹上运行Make

C++ 在多个文件夹上运行Make,c++,makefile,C++,Makefile,我的makefile具有以下结构: FOLDERS = folder 目前,我能够在文件夹/rel和文件夹/dbg中创建发布和调试版本。 我想扩展此功能,以便将文件夹更改为 FOLDERS = folder1 folder2 folder3 对于变量中的每个文件夹,它应该编译所有cpp文件,并将对象文件移动到/rel或/dbg(以指定的为准,例如Makefile release或Makefile debug) 此外,Makefile比所有文件夹都高一级 因此,目前,我使用$(通配符$(文件夹

我的makefile具有以下结构:

FOLDERS = folder
目前,我能够在
文件夹/rel
文件夹/dbg
中创建发布和调试版本。 我想扩展此功能,以便将
文件夹更改为

FOLDERS = folder1 folder2 folder3
对于变量中的每个文件夹,它应该编译所有cpp文件,并将对象文件移动到
/rel
/dbg
(以指定的为准,例如Makefile release或Makefile debug)

此外,Makefile比所有
文件夹都高一级

因此,目前,我使用
$(通配符$(文件夹)/*.cpp)
仅当文件夹包含一个文件夹但不包含两个文件夹时,此选项才有效。-->例如,当意图是
folder1/*.cpp
folder2/*.cpp


如果需要更多细节,请告诉我。我是新手。

你想要
$(通配符$(foo:=/*.cpp))
你可以创建一个makefile folder.mk,它处理一个文件夹($folder),然后调用这个makefile并在文件夹名$(MAKE)-f folder.mk folder=folder1i中传递。我必须从一个makefile中完成这一切