文件夹排除格式问题

文件夹排除格式问题

我正在尝试为 flawfinder 和 cppcheck 创建 make 目标,这些目标将递归搜索当前目录,但忽略名为“Test”的目录。但是,我遇到了一些格式问题。

我的用户编写的命令和脚本命令在终端上显示时看起来相同

我的用户输入的终端显示:

cppcheck --quiet --force !(Tests) 

与运行时 makefile 输出的终端显示相比制作.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

我相信您看到的错误可能是cppcheck使用Makefile(或当前目录中的某些其他非 C 或非 C++ 源代码文件)作为输入文件运行的。

我建议您不要将其设置SOURCES!(Tests),而是将其设置为您要运行的程序的实际源代码文件cppcheck

相关内容