폴더 문제 해결 형식 문제

폴더 문제 해결 형식 문제

현재 디렉터리를 재귀적으로 검색하지만 "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)

현재 쿠분투 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.

관련 정보