Makefile에서 환경변수 값을 확인하세요.

Makefile에서 환경변수 값을 확인하세요.

환경 변수의 값을 확인해야 하는 Makefile 대상이 있습니다. 그러나 정확한 구문을 이해하지 못합니다. 열심히 노력했지만 찾지 못했습니다. 도움을 주시면 감사하겠습니다.

환경 변수 이름: TEST, 값: "TRUE"

test_target: 
    ifeq ($(TEST),"TRUE")
            echo "Do something"
    endif

다음 오류가 발생합니다.

/bin/sh: -c: line 0: syntax error near unexpected token `"TRUE","TRUE"'
/bin/sh: -c: line 0: `ifeq ("TRUE","TRUE")'

답변1

ifeq()지시문은 열 1에 있어야 하며 모든 선행 공백을 제거해야 합니다.

test_target: 
ifeq ($(TEST),"TRUE")
        echo "Do something"
endif

^ 공백 없음

답변2

TAB 뒤에 배치할 수 없습니다 ifeq. 공백이 허용됩니다. 읽다GNU 문서 만들기.

test_target: 
ifeq ($(TEST),"TRUE")
    echo "Do something"
endif

또한 현재 상태와 비교 하면 다음 $(TEST)과 같습니다."TRUE"

$ make TEST=TRUE
make: Nothing to be done for 'test_target'.

$ make TEST='"TRUE"'
echo "Do something"
Do something

관련 정보