現在のディレクトリを再帰的に検索しますが、「Test」というディレクトリは、無視する欠陥の検索とcppcheckの make ターゲットを作成しようとしています。しかし、いくつかの形式の問題が発生しました。
ユーザーが作成したコマンドとスクリプトコマンドが端末に表示されるときと同じように見えます。
ユーザー入力用のマイ端末には、次のものが表示されます。
cppcheck --quiet --force !(Tests)
実行時のmakefile出力の端末表示との比較Make.securityCheck:
=================== cppcheck ======================
Tue Aug 29 13:32:00 PDT 2017
===================================================
cppcheck --quiet --force !(Tests)
makefile スクリプトを実行するとエラーが発生します。
syntax error near unexpected token `('
私のユーザー入力が正しく評価された場合
ファイル生成:
CPPCHECK ?= cppcheck
CPPCHECK_FLAGS += --quiet --force
FLAWFINDER ?= flawfinder
FLAWFINDER_FLAGS += --quiet --dataonly --minlevel 4
SOURCES ?= !(Tests)
.securityCheck:
@$(ECHO) =================== cppcheck ======================
@$(DATE)
@$(TIME)
@$(ECHO) ===================================================
$(CPPCHECK) $(CPPCHECK_FLAGS) $(SOURCES)
@$(ECHO) ================== flawfinder =====================
@$(DATE)
@$(TIME)
@$(ECHO) ===================================================
$(FLAWFINDER) $(FLAWFINDER_FLAGS) $(SOURCES)
現在Kubuntu 16.04 LTSを使用しています。 uname -aが提供するLinuxのバージョンは4.10.0-33-genericです。 make --version は GNU Make 4.1 を提供します。また、bashを使用します。
答え1
あなたが見ているエラーは、おそらく入力ファイル(または現在のディレクトリにある他の非Cまたは非C ++ソースコードファイル)をcppcheck
使用して実行されているようです。Makefile
SOURCES
に設定しないで!(Tests)
、実行したいプログラムの実際のソースコードファイルに設定することをお勧めしますcppcheck
。