这是我见过的最奇怪的行为。我知道您看到下面的解释可能会感到震惊,但确实,这种情况正在发生。
LON_GEMINI_BOX
我正在尝试导出来自 bash 脚本的变量名。
并尝试在 makefile 中访问此变量的值来定义一些特定的内容。
看起来像: 在 bash 脚本中,
export LON_GEMINI_BOX = 1
在生成文件中,
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)