이것은 내가 본 것 중 가장 이상한 행동입니다. 아래 설명을 보시면 충격을 받으시겠지만, 그렇습니다. 이런 일이 일어나고 있습니다.
LON_GEMINI_BOX
Bash 스크립트에서 변수 이름을 내보내려고 합니다.
그리고 구체적인 내용을 정의하기 위해 makefile에서 이 변수의 값에 액세스해 보세요.
다음과 같습니다. bash 스크립트에서,
export LON_GEMINI_BOX = 1
make 파일에서,
ifeq ($(LON_GEMINI_BOX), 1)
This is how im defined
EXTRA_CFLAGS +=
EXTRA_CFLAGS +=
else
why is this happening
endif
저는 빌드 과정 중에 항상 다른 부분에 개입합니다. 변수 이름 LON_GEMINI1_BOX
을 다른 것으로 조정하면 LON_GEMINI_BOX
예상대로 내보내지고 작동합니다.
문제가 무엇인지 알아 내려고 노력하고 있습니다.
답변1
Makefile 조건에서는 모든 공백을 제거하는 것이 좋습니다. 이 makefile을 살펴보세요. 정상적으로 실행됩니다.
TXT="--"
ifeq ($(LON_GEMINI_BOX),1)
TXT="works!"
EXTRA_CFLAGS +=
EXTRA_CFLAGS +=
else
TXT="why is this happening"
endif
all:
@echo $(TXT)