我有一个使用Makefile构建的C++库,之前所有的源代码都在一个目录中,Makefile像这样运行:
SOURCES = $(wildcard *.cpp)
这个命令一直很好用。
现在我添加了一些位于子目录(比如 subdir
)中的源代码文件。我知道可以这样做:
SOURCES = $(wildcard *.cpp) $(wildcard subdir/*.cpp)
但是我想找到一种避免手动指定subdir
的方法,即让wildcard
自动查找子目录,或者以某种方式生成子目录列表,并使用多个wildcard
函数进行扩展。此时,拥有非递归解决方案(仅扩展第一层)就足够了。
我没有找到任何东西 - 我最好的猜测是使用find -type d
来列出子目录,但感觉像是一种hack。是否有任何内置的方法可以实现这个功能?
**
)。 - user1804599