【发布时间】:2016-11-03 18:47:39
【问题描述】:
在我目前工作的公司,正在使用几种 IDE(它们为不同的嵌入式平台开发固件)。 他们所有的 C 项目都使用 Makefile,因此我们决定在他们的默认 Makefile 中添加规则以运行静态代码分析工具。
他们使用的 IDE 之一是 Eclipse。
在这里,我们向 Make Target 视图添加了其他目标,例如,它会从 Makefile 中触发 lint 目标。
由于我们使用多个 IDE,我们可以告诉 Makefile 调用的工具为正在使用的 IDE 生成特定的输出。
对于 Eclipse,我们通过调整构建命令并在末尾添加类似 IDE_ENV=eclipse 的内容来做到这一点。
这工作得很好。
最近一位工程师提到,如果他可以为单个文件运行 Makefile 中定义的工具,那将非常有帮助。
因此,我更新了 Makefile,它现在接受一个变量 SOURCE_FILE,其中包含需要检查的文件路径。
在 Eclipse 中,我尝试添加 SOURCE_FILE=${selected_resource_loc} 和 SOURCE_FILE=${resource_loc},但这些变量在运行 Make Target 时似乎不起作用。
我还尝试在 Makefile 中直接使用$(selected_resource_loc) 和$(resource_loc),但没有任何运气。
有人可以告诉我在从 Make Target 视图运行目标时如何将当前选定的文件传递给 Make 吗?
【问题讨论】:
-
我尝试将它作为外部工具运行,但是当我这样运行它时,Eclipse 不会解析输出。
-
我已经尝试了多种方法,但我认为目前不可能。也许您应该尝试在 eclipse 论坛上发布此内容或在 eclipse 的 Bugzilla 上打开功能请求。似乎从未在此字段中解释变量。
-
(只是一个想法:)当您将 make 作为外部工具运行时,您是否启用了刷新?
-
也许我误解了你,但如果你右键单击项目树中的文件,会有一个选项“构建选定的文件”。那是你要找的吗?编辑:似乎这仅适用于自动生成的make文件(?):(
-
这不仅仅是构建,我想从我的 makefile 运行特定规则并将选定/活动文件作为参数传递。
标签: c++ c eclipse makefile eclipse-cdt