Exactly. If you have a rule saying
foo.ver: foo.c
produce foo.ver.tmp
mv-if-changed foo.ver.tmp foo.ver
then you are in trouble if foo.c is newer than foo.ver, but foo.ver
is not updated. It will produce foo.ver.tmp every time you invoke make.
Regards,
Martin