When building with make and GCC, the version number is specified as a -D parameter on the command line. This is not part of of make's up-to-date check, which only looks at file dates. If a revision.h file is used, as is done for MSVC++, would on the other hand cause the build to never be considered up-to-date, as revision.h is always updated at the start of each build (even if it's with the same contents). I've seen a few hacks to avoid always updating revision.h, which typically involves creating another file, diffing it against revision.h, and replacing the latter with the former if they are different. This does however require diff, which may not be installed by default, at least for mingw (haven't checked).
So far, I just delete simsys*.o before every build if I really care about the revision number. Since I check the SVN log before updating, I skip this step if there are trivial changes.