Gnu make:生成所有子目录的列表

时间:2020-11-08 20:33:04

标签: c++ makefile gnu

我是C / C ++和gnu makefile的新手。我暂时有了一个makefile,该文件会自动生成一个目录中所有源和标头的列表,以便make输出二进制文件。

随着项目的发展,我当然不想将所有源文件和头文件都集中到一个目录中。而是创建(嵌套)子目录。......

有没有办法-我以subdirs := $(wildcard */)为起点-并进一步涉及for... in... ($subdirs)首先只在子目录和嵌套子目录中生成源文件和头文件的列表?也许以后再添加一个make调用来访问每个子目录的源和标题吗?

非常感谢您。

您真诚的 冯·斯波茨

1 个答案:

答案 0 :(得分:4)

您可以使用$(shell)并将其编写为脚本:

ALL_SOURCES := $(shell find * -name '*.cpp' -print)

(假设您使用.cpp作为C ++源文件扩展名)。您应该已经安装了make的完整文档:

info -f make