환경 변수의 값을 확인해야 하는 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