Makeを使用して、GimpelPC-Lintをソースコードに段階的に適用したいと思います。前回lintを実行してからソースファイルが変更された場合にのみ、ソースファイルに対してlintを実行するようにします。誰かこれをやっていますか?どのようにアプローチしていますか?
1888 次
2 に答える
4
一般的なパターンは、出力を作成することです(または、出力がない場合は人工的な出力を作成します)。
(出力をそのファイルにリダイレクトする)$(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
于 2011-12-06T12:34:44.050 に答える
1
gcc(またはその他)が呼び出されるたびに、lintコンパイルをコンパイルルールに追加できます。これにより、テストまたは使用する前に、コードに問題が発生します。一方、これは大規模なプロジェクトでは遅すぎます。
私は通常、チェックインする前にプロジェクトをリントします。したがって、チェックアウトされたすべてのものをリントする小さなスクリプトを作成しました。穏やかなプラットフォーム(適切なサーバー上のsvnなど)を使用している場合は、サーバーでこれを実行することもできるため、ユーザーはlintが終了するのを待たずに作業できます。
于 2011-12-06T12:29:04.253 に答える