【发布时间】:2015-09-09 13:59:23
【问题描述】:
我有一个大的源代码树,在里面的某个地方我有一个带有 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,还会生成一组测试文件,作为编写测试的起点。
【讨论】:
【讨论】:
注意,如果您已经有一个带有适当包含路径的 gcc 编译行,您可以让编译器自动生成一个列表
包含的 .h 文件的依赖项。请参阅-MM option。
【讨论】: