如何使用make运行增量PC-Lint

时间:2011-12-06 12:16:35

标签: c++ makefile lint pc-lint

我想使用Make以增量方式将Gimpel PC-Lint应用于我的源代码。我希望它只对源文件运行lint,如果源文件自上次运行lint以来已更改。有人这样做吗?你是如何接近它的?

2 个答案:

答案 0 :(得分:4)

常见的模式是创建输出(如果没有则创建人工输出)。

修改请注意,$(LINT) $< > $@会扩展为lint test.cpp > test.lint(将输出重定向到该文件)

E.g。

 %.o: %.cpp | %.lint
      S(CC) -o $@ $(CPPFLAGS) $<

 %.lint: %.cpp
      $(LINT) $< > $@

或没有输出的过程:

 %.o: %.cpp | %.emailsent
      S(CC) -o $@ $(CPPFLAGS) $<

 %.emailsent: %.cpp
      $(DOEMAIL) $^   # no output from mail sender
      touch $@        # won't be reached DOEMAIL returned error

答案 1 :(得分:1)

只要调用gcc(或其他),就可以将lint编译添加到编译规则中。这将在测试或使用之前立即提出代码的任何问题。另一方面,对于较大的项目来说,这将太慢了。

我经常在检查之前将我的项目搞定。因此我制作了一个小脚本,我将所有已经检查过的内容放在一边。如果你有一个温和的平台(例如svn在合适的服务器上),这甚至可以由服务器完成,因此用户可以在不必等待lint完成的情况下继续工作。