Yeah I was thinking something like: VERSION := 1.3.0 OLD_VERSION := 1.2.0
EMPTY := SPACE := $(EMPTY) $(EMPTY) ver_is_less_than = $(strip \ $(let \ ( \ (major1 $(word 1,$(subst .,$(SPACE),$1))) \ (minor1 $(word 2, ...)) ... \ ) \ $(if $(expr $(major1) <= $(major2) \ 1, \ $(if $(expr $(minor1) < $(minor2) ...)))))) ifneq ($(call ver_is_less,$(VERSION),$(OLD_VERSION)),) ... endif