C++ 在多个文件夹上运行Make
我的makefile具有以下结构:C++ 在多个文件夹上运行Make,c++,makefile,C++,Makefile,我的makefile具有以下结构: FOLDERS = folder 目前,我能够在文件夹/rel和文件夹/dbg中创建发布和调试版本。 我想扩展此功能,以便将文件夹更改为 FOLDERS = folder1 folder2 folder3 对于变量中的每个文件夹,它应该编译所有cpp文件,并将对象文件移动到/rel或/dbg(以指定的为准,例如Makefile release或Makefile debug) 此外,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中完成这一切