Start reading!
For instance, start here:
info automake
---
Now, let me please set the stage for you.
Let's start here:
http://en.wikipedia.org/wiki/Automake (Do not keep reading until after you have actually read that page!! I mean it! Scout's Honor!)
The magickal folks who wrote all those tools intended for them to "just work" on ... an IBM mainframe, an AS/400, your Kindle Fire, your Windows PC, your Macintosh, your portable phone (or any and every flavor), or
any of the several-dozen(!) hardware platforms supported by Unix/Linux.
And ... they
do!
Thought Question: How?
The answer ... is Automake.
When you install a new package from source-code, the first command that you execute is:
./Configure. And
this executes a whole slew of "discovery" steps that determine exactly what
your hardware and software environment is. Based on this, Automake
constructs an appropriate
Makefile, and everything else that is needed, so that "everything 'Just Works'" on
your environment.
If what I just said sounds like
"effin' brilliant Voodoo ..." ... trust me: it
is. There be Gods in these woods.
Infinitely More than Wyzards. These be not Mortal folk.