<分区>
我有一个很大的源代码树,在里面的某个地方我有一个带有 main 函数的文件,我想生成一个 makefile 而不手动解析所有依赖项(包括目录和必要的 c 文件)。因此,该工具需要从主文件夹开始搜索并在文件树中上下搜索,以找到与主文件“最接近”的包含文件。
<分区>
我有一个很大的源代码树,在里面的某个地方我有一个带有 main 函数的文件,我想生成一个 makefile 而不手动解析所有依赖项(包括目录和必要的 c 文件)。因此,该工具需要从主文件夹开始搜索并在文件树中上下搜索,以找到与主文件“最接近”的包含文件。
最佳答案
有免费工具 HWUT,这是一个可以完成这项工作的单元测试工具! HWUT at Sourceforge
HWUT 这样做是出于促进单元测试设置的动机。您可以安装“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。如果项目仍然太大,您可以指定多组根目录来分别搜索源、包含和库。
顺便说一句:有一种“sols”(让我们懒惰的灵魂安全)模式直接为模块中的所有函数生成测试文件,即
hwut sols "module-to-test.c"
不仅会生成一个 Makefile,还会生成一组测试文件,作为编写测试的起点。
关于c - 是否有生成 makefile 并解决依赖关系的工具?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32481607/