普通 tarball からインストールする時は
./configure make sudo make install
のようにインストールします。この場合は全てのファイルが /usr/local に入るわけですが、
これだと複数のソフトウェアをインストールした場合に、どのファイルがどのソフトウェアに所属するのか分からなくなって、アンインストールができなくなります。
なので僕はいつも tarball からソフトウェアをインストールする場合は、
例えば hoge というソフトウェアをインストールする場合、必ず /opt/hoge にインストールしています。
./configure --prefix=/opt/hoge make sudo make install
こうすると複数のソフトウェアをインストールしても、ソフトウェアごとにディレクトリが分かれるので、
sudo rm -rf /opt/hoge
とすれば一発でアンインストールできます。
環境変数 PATH の設定は、以前書いたエントリー環境変数 PATH を自動で設定する方法で自動で設定されるので、楽チンです。
さらに他の環境変数も次のように定義しています。
# MANPATH の設定
MANPATH=
add_env MANPATH "${HOME}/man" "${HOME}/opt/*/man/ja" "${HOME}/opt/*/man"
add_env MANPATH "/usr/local/man/ja" "/usr/local/man"
add_env MANPATH "/usr/local/*/man/ja" "/usr/local/*/man"
add_env MANPATH "/opt/local/man/ja" "/opt/local/man"
add_env MANPATH "/opt/local/*/man/ja" "/opt/local/*/man"
add_env MANPATH "/opt/*/man/ja" "/opt/*/man"
add_env MANPATH "/usr/share/jman"
add_env MANPATH "/usr/*/man/ja"
add_env MANPATH "/usr/*/man"
add_env MANPATH "/usr/man/ja" "/usr/man"
clean_env MANPATH
export MANPATH
# LD_LIBRARY_PATH の設定
LD_LIBRARY_PATH=
add_env LD_LIBRARY_PATH "${HOME}/lib" "${HOME}/opt/*/lib"
add_env LD_LIBRARY_PATH "/usr/local/lib" "/usr/local/*/lib"
add_env LD_LIBRARY_PATH "/opt/local/lib" "/opt/local/*/lib"
add_env LD_LIBRARY_PATH "/opt/*/lib"
add_env LD_LIBRARY_PATH "/lib"
add_env LD_LIBRARY_PATH "/usr/lib"
add_env LD_LIBRARY_PATH "/usr/*/lib"
clean_env LD_LIBRARY_PATH
export LD_LIBRARY_PATH
# LIBRARY_PATH の設定
LIBRARY_PATH=
add_env LIBRARY_PATH "${HOME}/lib" "${HOME}/opt/*/lib"
add_env LIBRARY_PATH "/usr/local/lib" "/usr/local/*/lib"
add_env LIBRARY_PATH "/opt/local/lib" "/opt/local/*/lib"
add_env LIBRARY_PATH "/opt/*/lib"
add_env LIBRARY_PATH "/lib"
add_env LIBRARY_PATH "/usr/lib"
add_env LIBRARY_PATH "/usr/*/lib"
clean_env LIBRARY_PATH
export LIBRARY_PATH
# C_INCLUDE_PATH の設定
C_INCLUDE_PATH=
add_env C_INCLUDE_PATH "${HOME}/include" "${HOME}/opt/*/include"
add_env C_INCLUDE_PATH "/usr/local/include" "/usr/local/*/include"
add_env C_INCLUDE_PATH "/opt/local/include" "/opt/local/*/include"
add_env C_INCLUDE_PATH "/opt/*/include"
add_env C_INCLUDE_PATH "/usr/include"
add_env C_INCLUDE_PATH "/usr/*/include"
clean_env C_INCLUDE_PATH
export C_INCLUDE_PATH
こうしておくと、/opt にインストールしたソフトウェアの man もちゃんと読めますし、
コンパイルする時にヘッダファイルもちゃんとインクルードしてくれるし、
ライブラリもちゃんとロードしてくれます。
既にシステムにパッケージがインストールされているんだけど最新バージョンを試してみたいときなんかは、
とりあえず /opt にインストールしてテストすることができます。
/opt のパスは /usr よりも先に設定されるので /opt にインストールしたものが優先されます。
/etc/ld.so.conf を書き換えない限りは /opt にインストールした環境はシステムに影響を与えないので、
他のプログラムの動作に影響を与えることはありません。
上記の方法を使うと複数バージョンをインストールすることも簡単です。
複数バージョンをインストールする場合は /opt/pkgs/hoge-x.x.x にインストールします。
./configure --prefix=/opt/pkgs/hoge-1.0.0 make sudo make install
このままではパスが通りませんので、シンボリックリンクをはってあげます。
sudo ln -s /opt/pkgs/hoge-1.0.0 /opt/hoge
違うバージョンを使いたい場合はシンボリックリンクをはりなおす。
sudo ln -s /opt/pkgs/hoge-2.0.0 /opt/hoge
複数バージョンのインストールなんかは RPM のようなパッケージ管理システムを使ってもできないので、かなり便利です。

昔の記事へのコメントで恐縮です。こちらのPATH設定方法をぜひ活用させていただきたいと思っているのですが、clean_env関数の内容はどのように書けばよいのでしょうか?(前記事の記述ではadd_envしか定義されていないようなので) よろしくお願いいたします。
clean_env() は重複した内容をクリアすることを意図していますが、別になくても動作には問題ないです。
僕自身も面倒で実装してないです。