In terms of tools shameless plug is
http://os2ports.smedley.id.au/index.php?page=BuildEnvDVD In the absolute best case scenario, the process is:
1) extract source
2) run configure using something like:
ash ./configure --prefix=/name_of_app --disable-shared --enable-static 2>&1 | tee configure.log
--prefix specifies where we want to install the app - default will be /usr or /usr/local
--disable-shared tells it not to build shared libraries (in most cases the app won't know how to build shared libraries (ie DLL's)
--enable-static forces static libraries to be built
2>&1 | tee configure.log puts the output from configure into a file called configure.log for debugging purposes
3) assuming configure completes:
make 2>&1 | tee build.log
runs make, with output of the command pipes into build.log
4) If no, errors.
make install
output will be put into the directory specified as prefix in 2)
I'd suggest starting with a simple command line app like wget
People seem to want to be ambitious and start with something like virtualbox!