我正在尝试实现一个简单的字符串比较来获取文件的类型(使用其扩展名),如下所示:
extract_pkg: $(PKG)
$(eval EXT := $(suffix $(PKG)))
@echo $(EXT)
ifeq ($(EXT), .zip)
@echo "is zip file"
else
@echo "is not a zip file"
endif
extract_pkg : PKG = mypkg.zip
但是,当我运行它时,它会进入 else 分支。我的猜测是,它与点有关,但我没有找到解决方案。谢谢你的帮助 !
编辑 1:基本代码实际上有点像下面,它按预期工作:
test_cmp:
ifeq (.zip,.zip)
@echo ".zip==.zip"
endif
ifeq (zip,zip)
@echo "zip==zip"
endif
因此问题出在其他地方!