makefile - 需要帮助了解为什么 ifeq 不起作用
问题描述
我在makefile中有以下代码:
TEMP="VBU538ForBootloader"
# build
build: .build-post
.build-pre:
# Add your pre 'build' code here...
.build-post: .build-impl
@echo "Current config:" $(CONF)
@echo "Compare to:" $(TEMP)
ifeq ($(CONF),$(TEMP))
@echo "Making production files for VBU538 .... "
else
@echo "Skipping production files."
endif
不知何故,ifeq 并没有达到我的预期,尽管在我看来我的代码与其他示例相似。该代码产生以下输出:
Current config: VBU538ForBootloader
Compare to: VBU538ForBootloader
Skipping production files.
我总是得到Skipping production files.
虽然我预计输出应该是Making production files for VBU538 ....
有谁知道它没有按预期运行的原因?
解决方案
您的代码不是MCVE,因此很难提供帮助。可能是您的COMP
和TEMP
变量看起来相同,但它们不是(空格,其他不可见字符......)您可以尝试使用以下方法进行检查:
@echo 'Current config: X$(CONF)X'
@echo 'Compare to: X$(TEMP)X'
代替
@echo "Current config:" $(CONF)
@echo "Compare to:" $(TEMP)
推荐阅读
- c# - 将字段添加到 JSON 数组 C#
- swift - 如何在使用项目模板生成的 Kitura 项目中设置日志记录级别?
- c - puts and printf do not give out full text (text containing CJK characters), when the text is read from a local file, on Windows, MSVC
- error-handling - Inno setup - 如何设置安装程序“以非管理员身份运行”?
- matlab - 在 matlab m 文件中添加断点会使其运行速度变慢吗?
- javascript - 在 JS 中单击第一个按钮后添加第二个按钮
- python - 如何使用地图在一行中根据用户输入打印数字的倍数
- sql - 获取特定值之前的最后一行
- naming - 您会推荐发送和持久化一些消息的方法的哪个名称?
- python - 如何解决,tensorflow.python.framework.errors_impl.InvalidArgumentError?