>皆様初めまして、HN「けろ助」と申します。
はじめまして。
>ビルドを効率的、柔軟に行えるようにするには、makefile (make)、build.xml (ant) の記述ノウハウはもちろ
>んのこと、ディレクトリ構成等も慎重に考えて設計しなくてはならないように思います。
いやあ、このあたりは、最近はかなり「若い奴にお任せ」してる部分が大きいので、
私がこの方面に詳しいかというとそんなことはないと思います (^^;
詳しくないなりに思うところを書きますが、こういうのはアプリケーションと
環境により千差万別なわけですが、実はプログラマが仕事で書くプログラムの
95%は特定顧客からの受注アプリケーションだという現実があって(※1)、
その場合、特に相手がUNIXワークステーションだったりすると環境はかなり
限定できますから、「ディレクトリまるごとtarで固めてインストール先で展開。
パスは全て絶対指定」みたいなやり方でもなんとかなっちゃう、という面はあると
思います。
Windows環境ではさすがにそういうのは避けるべきかと思いますが(PCはきっと
他のことにも使うので)、業務用の特注アプリケーションだと、Cドライブにしか
インストールできなくてもさほど問題にはならなかったりします。
一般に配布するのでどこでも動くようにしたい、と考え出すと、途端に難しく
なりますよね。Cの場合、かつては#ifdef __SOLARIS__ とか書いてましたが
これはひどいということでautoconfみたいなのが出てきましたけどconfig.hに
頼ってたらテストが大変(というか不可能)という状況には変わりなく、
結局は、(Javaが本質的にそうであるように)最初からどこでも動くように書くのが
正しいのでしょう。
# そういう意味で、typedef int int32_t; みたいなのは、少なくともアプリケーション
# プログラムとしては、方向性が間違ってると思う。
Javaではそういうところは改善されているはずが、Webアプリ構築のために
アプリケーションサーバを導入すると移植性なんかどっか行っちゃったりしますし、
JDKのバージョンに泣かされることもあります。
「Tigerはいつになったら仕事で使えるんだろう?」
「あと数年は無理じゃないですかねえ」
という会話を、まさに今日、同僚としてました。
>ビルドについて詳細に取り上げている書籍、もしくはサイトをご存知の方、ご教授願います。
これは私も知りたいです。詳しい方、よろしくお願いいたします。
※1「魔法のおなべ」より
http://cruel.org/freeware/magicpot.html