Как запустить инкрементный PC-Lint с помощью make - PullRequest
4 голосов
/ 06 декабря 2011

Я хотел бы применить Gimpel PC-Lint к моему исходному коду постепенно, используя Make.Я хочу, чтобы он запускал lint только для исходного файла, если исходный файл изменился с момента последнего запуска lint.Кто-нибудь делает это?Как вы к этому подходите?

Ответы [ 2 ]

4 голосов
/ 06 декабря 2011

Обычным шаблоном является создание вывода (или создание искусственного вывода, если его нет).

Редактировать обратите внимание, что $(LINT) $< > $@ расширится до чего-то вроде lint test.cpp > test.lint (перенаправление вывода в этот файл)

1009 * Е.Г. *

 %.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 голос
/ 06 декабря 2011

Вы можете добавить компиляцию lint в свои правила компиляции всякий раз, когда вызывается gcc (или что-то еще). Это немедленно подняло бы любую проблему с кодом перед тестированием или использованием его. С другой стороны, это будет слишком медленно для более крупного проекта.

Обычно я проверяю свои проекты перед тем, как их проверять. Поэтому я сделал небольшой скрипт, в котором я собираю все, что было проверено. Если у вас слабая платформа (например, svn на подходящем сервере), это может сделать даже сервер, поэтому пользователи могут работать, не дожидаясь окончания работы lint.

...