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

How can I run an incremental PC-Lint using make

本文关键字:PC-Lint 运行 何使用 make      更新时间:2023-10-16

我想使用Make以增量方式将Gimpel PC-Lint应用于我的源代码。我希望它只在源文件自上次运行lint以来发生变化时才对源文件运行lint。有人这么做吗?你是怎么处理的?

常见的模式是创建输出(或者在没有输出的情况下创建人工输出)。

Edit注意$(LINT) $< > $@将扩展为类似lint test.cpp > test.lint的内容(将输出重定向到该文件)

 %.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

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

我通常在检查之前检查我的项目。因此,我编写了一个小脚本,在其中检查已检出的所有内容。如果你有一个温和的平台(例如svn在一个合适的服务器上),这甚至可以由服务器完成,这样用户就可以工作而不必等待lint完成。