我是C/C++的新手,尤其是gnu makefiles。我有一个makefile,它会自动生成一个目录中所有源和头的列表,以便make
输出二进制文件。
随着我的项目的发展,我当然不想把所有的源文件和头文件都集中在一个目录中。而是创建(嵌套的(子目录。。。。。。。
有没有一种方法——我想以subdirs := $(wildcard */)
为起点——并进一步涉及for... in... ($subdirs)
,首先只生成子目录和嵌套子目录中的源文件和头文件的列表?也许稍后会为每个子目录的源和头添加一个make
调用?
非常感谢。
你诚挚的von Spotz
您可以使用$(shell)
并编写脚本:
ALL_SOURCES := $(shell find * -name '*.cpp' -print)
(假设使用.cpp
作为C++源文件扩展名(。您应该已经安装了完整的make
文档:
info -f make