我正在尝试检查makefile中的java版本,如果版本不正确则退出。
checkJava::
ifeq ($(shell java -version | grep "1.5.0"),0)
@echo "Found version"
else
$(error "Could not find correct java version, please install 1.5")
endif
执行此操作时,java -version输出不会出现在我预期的位置,并且无法正常工作。建议如何解决?谢谢!
编辑: 在grep
之后添加了收盘报价答案 0 :(得分:2)
您需要打印状态代码,因为会返回输出。您还需要确保java -version转到stdout - 我的IBM JDK将它发送到stderr。
ifeq ($(shell java -version 2>&1|grep 1.5.0 >/dev/null; printf $$?),0)