美文网首页
Makefile比较数字值

Makefile比较数字值

作者: CodingCode | 来源:发表于2024-07-09 02:54 被阅读0次
VER_VALUE := 22.10.0.0
VER_MAJOR := $(shell echo $(VER_VALUE) | cut -f1 -d.)
VER_MINOR := $(shell echo $(VER_VALUE) | cut -f2 -d.)

# compare major version >= 22
VER_GE_22 := $(shell [ $(VER_MAJOR) -ge 22 ] && echo true)
ifeq ($(VER_GE_22),true)
  STRING1="I am OK"
else
  STRING1="I am NOT OK"
endif

# compare case 2
VER_GE_2220:= $(shell [ $(VER_MAJOR) -gt 22 -o \( $(VER_MAJOR) -eq 22 -a $(VER_MAJOR) -ge 10 \) ] && echo true)
ifeq ($(VER_GE_2220),true)
  STRING2="I am OK"
else
  STRING2="I am NOT OK"
endif

# compare case 3: bind 2 commands together
ifeq ($(shell [ `echo $(VER_VALUE) | cut -f1 -d.` -ge 22 ] && echo true), true)
  STRING3="I am OK"
else
  STRING3="I am NOT OK"
endif

# compare case 4
VER_VALUE=221000
ifeq ($(shell [ $(VER_VALUE) -ge 221000 ] && echo true), true)
  STRING4="I am OK"
else
  STRING4="I am NOT OK"
endif

all:
    @echo $(STRING1)
    @echo $(STRING2)
    @echo $(STRING3)
    @echo $(STRING4)

相关文章

网友评论

      本文标题:Makefile比较数字值

      本文链接:https://www.haomeiwen.com/subject/twvacjtx.html