我的项目由大约十几个组件组成,每个组件的源代码都位于主源代码目录下的自己的子目录中。许多组件使用来自其他组件的头文件,我正在尝试安排这些头文件,以便这些头文件都可以在单个include/
目录中使用。如果这是一个坏主意,或者如果有更好的方法可以使一个组件的标题轻松地提供给另一个组件,请立即阻止我。
include/
在构建组件之后将组件的标头复制到其中很简单:cp *.hpp ../include
在 makefile 中运行良好。但是当make clean
在单个组件上运行时,我想删除该组件的标题include/
而不删除任何其他组件。据我所知,这意味着我必须在 makefile 的“删除”命令中维护组件的头文件列表,如下所示:
clean:
rm -fv ../include/header1.hpp ../include/header2.hpp ...
维护此列表是手动工作,我希望将其自动化。我想做到这一点,因为我预计如果在将相同标头的新版本复制到位之前构建依赖于复制标头的组件会出现问题 - 诊断问题非常耗时。
如何让我的 makefile 清理单独目录中的标题列表?或者,是否有更好的方法让我的头文件可用于同一项目中的其他组件?