是否有工具来生成makefile并解决依赖关系?
我有一个大的源代码树,在里面的某处我有一个带有main函数的文件,我想生成一个makefile而不需要手动解析所有依赖项(包括目录和必要的c文件)。 因此,该工具需要从主文件夹开始搜索并在文件树中上下搜索,以找到与主文件“最接近”的包含文件。
有免费的工具HWUT,一个完成这项工作的unit testing工具! 来自Sourceforge的HWUT
HWUT这样做是出于促进unit testing设置的动机。 你可以安装’ctags’(hwut会自动使用它)。 否则,HWUT使用编译器的目标文件输出(非常慢)分析代码。
有一次,你已经安装了hwut,你可以简单地调用它
> hwut sos your.c --root some/root/dir another/root/dir --args -DMyCompilerArg -DAnother Arg --
它将开始在“some / root / dir”和“another / root / dir”中搜索包含文件,源文件,目标文件和库。 从“your.c”文件开始,它将搜索所有必需的引用和标题,并生成格式良好的Makefile。 如果项目仍然太大,您可以指定多个根目录集以分别搜索源,包含和库。
- –root-sources …用于搜索源的根目录
- –root-includes …从哪里搜索包含标题
- –root-libraries …在哪里搜索库
- –root-objects …在哪里搜索对象
BTW:有一个’sols’(安全我们的laze souls)模式,它直接为模块中的所有function生成测试文件,即
hwut sols“module-to-test.c”
不仅会生成一个Makefile,还会生成一组测试文件,作为编写测试的起点。
注意,如果您已经有一个带有相应包含路径的gcc
编译行,您可以让编译器自动生成包含的.h
文件的依赖项列表。 请参阅-MM选项 。