この本では、makeについての解説、および派生物であるnmake, GNU make, imake や 依存ルール生成を行う makedepend などを解説しています。
依存規則(AはBから手順Cでつくられるといったぐあい) を記述した makefile を使って、
Aがない、またはAよりBのタイムスタンプが新しければAは作り直す。
これをゴールとなる目標物から再帰探索、ビルドツリーを作成して、依存規則上問題のないものから順にビルドして、最終的に目標物をビルドしてくれる仕組みがmakeです。
プロジェクトサイズがそこそこ大きくなると、細かいビルドオプションを変更したい(最適化レベルが違う、includeパス, libararyパスの変更) などがあり、makefile での記述が大変になりますので、
ディレクトリごとに makefileを細分化して分割統治したりと、いろいろな方法がとられていますが、
環境によっては、もう少し柔軟性のある、Apache Antや、Microsoft MSBuildなど他のツールを使うようになっています。
(Eclipseは標準でAntプラグインを備えていますし、Visual Studio は MSBuildエンジンでビルドしてます)
現代のmakeでは、同時実行可能なビルドがあれば、指定された同時実行数までビルドする機能がありますが、このあたりを含め
-
購入金額
1,890円
-
購入日
2005年01月29日
-
購入場所
お富さん
2012/01/29
仰るとおり基本中の基本ですね。
はにゃさん
2012/01/29
コメントありがとうございます。
10年前まで GNU make と Microsoft nmakeでバカみたいに長い Makefileを書いてました。
今はmsbuildや ビルドツールが要らないphpでの開発が主なので、makeもだいぶ忘れてます。
開発じゃなくても、unix系でソースビルドするとき, autoconf, automake が発狂した場合に手直しするときにも必要な知識だったりしますし、ちょっと優先度が低いものの、覚えておいて損はないでしょうね。