In my cross-platform-programming quests, I'm looking for ways to
determine via my Makefiles which system/platform said build process is
running on, so I can automatically pull in the correct libraries, build
to the correct target directories, use the correct platform-specific
code, etc.
Back in the "old days" for me (mid 1990s), the Unix builds I was making
were mostly Solaris, HP-UX, Irix, Digital-Unix, AIX....etc etc. In such
cases, 'uname -rs' all had distinctly different outputs.
Now, 'uname -rs' (and the newer 'uname -o') all say "Linux" or
"GNU/Linux" for all the Linux distributions.
So I'm left with figuring out much harder ways to tell system revs
apart. I'm guessing I'm going to have to make an application which does
nothing but evaluate a system and report it's variant (Redhat vs SuSE
vs. Debian) and revision (Debian Woody/3.0, Sarge/3.1, etc).
Thing is, I don't even know where to start. Will some uname-based
analysis work by itself? Haven't seen anything yet that will
distinguish between the different Linux distros. I suspect there will
be other cmds/APIs I can use to do stuff. I'm looking for suggestions.
-Matt