GNU Make 第3版

[cover photo]
TOPICS
発行年月日
PRINT LENGTH
304
ISBN
978-4-87311-269-5
原書
Managing Projects with GNU Make, Third Edition
FORMAT
Print PDF
Ebook
3,080円
Ebookを購入する
Print
3,080円

makeは、Unixのプログラム開発や各種ソフトウェアのインストールに必須の基 本ツールです。本書ではmakeの概念、基本操作、ルールの文法、変数とマク ロ、関数、大規模プロジェクトで利用する方法、Windows環境での注意など、基 礎から高度なテクニックまでを詳しく解説しています。makeの入門書として初 心者に役に立つのはもちろんのこと、makeのリファレンスとして、中、上級者 にとっても非常に有益な一冊です。

正誤表

ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正が施されている場合がありますので、書籍最終ページの奥付でお手持ちの書籍の刷版、刷り年月日をご確認の上、ご利用ください。

3刷正誤表


2007年8月2日

■p.46 表3-1 3行目
【誤】a := b 直ちに 後で
【正】a := b 直ちに 直ちに

目次

監訳者まえがき
まえがき
第3版にむけて
1章 簡単なメイクファイルを書いてみよう
	1.1 ターゲットと必須項目
	1.2 依存関係の検証
	1.3 再構築作業を最小にする
	1.4 makeの実行
	1.5 makefileの基本文法
2章 ルール
	2.1 明示的ルール
		2.1.1 ワイルドカード
		2.1.2 擬似ターゲット
		2.1.3 空のターゲット
	2.2 変数
		2.2.1 自動変数
	2.3 VPATHとvpathによるファイルの検索
	2.4 パターンルール
		2.4.1 パターン
		2.4.2 静的パターンルール
		2.4.3 サフィックスルール
	2.5 暗黙ルールのデータベース
		2.5.1 暗黙ルールを活用する
		2.5.2 ルールの構造
	2.6 特殊ターゲット
	2.7 自動的な依存関係の生成
	2.8 ライブラリ管理
		2.8.1 ライブラリの作成と更新
		2.8.2 ライブラリを必須項目として使う
		2.8.3 二重コロンルール
3章 変数とマクロ
	3.1 変数を何に使うべきか
	3.2 変数の種類
		3.2.1 その他の代入
	3.3 マクロ
	3.4 変数はいつ展開されるか
	3.5 ターゲットとパターンに固有の変数
	3.6 変数はどこからくるのか
	3.7 条件判断とinclude命令
		3.7.1 include命令
		3.7.2 includeと依存関係
	3.8 標準的なmake変数
4章 関数
	4.1 ユーザ定義関数
	4.2 組み込み関数
		4.2.1 文字列関数
		4.2.2 その他の重要な関数
		4.2.3 ファイル名関数
		4.2.4 実行制御
		4.2.5 比較的重要なその他の関数
	4.3 高度なユーザ定義関数
		4.3.1 eval関数と値
		4.3.2 フック関数
		4.3.3 関数に値を渡す
5章 コマンド
	5.1 コマンドの構文解析
		5.1.1 長いコマンド
		5.1.2 コマンド修飾子
		5.1.3 エラーと中断
	5.2 空のコマンド
	5.3 コマンド環境
	5.4 コマンドを評価する
	5.5 コマンドラインの制限
6章 大きなプロジェクトの管理
	6.1 再帰的make
		6.1.1 コマンドラインオプション
		6.1.2 値を渡す
		6.1.3 エラー処理
		6.1.4 その他のターゲットの構築
		6.1.5 makefileの相互依存
		6.1.6 コードの重複を回避する
	6.2 非再帰的make
	6.3 巨大システムのコンポーネント
	6.4 ファイルシステムの配置
	6.5 構築とテストの自動化
7章 ポータブルなmakefile
	7.1 移植における問題点
	7.2 Cygwin
		7.2.1 行末文字
		7.2.2 ファイルシステム
		7.2.3 プログラムの衝突
	7.3 プログラムとファイルを管理する
	7.4 ポータビリティのないツールで作業する
		7.4.1 標準シェル
	7.5 automake
8章 CとC++
	8.1 ソースとバイナリの分離
		8.1.1 簡単な方法
		8.1.2 難しい方法
	8.2 読み出し専用のソース
	8.3 依存関係の生成
		8.3.1 Tromeyの手法
		8.3.2 makedependプログラム
	8.4 複数のバイナリツリーを利用する
	8.5 部分的なソースツリー
	8.6 リファレンスビルド、ライブラリ、インストーラ
9章 Java
	9.1 makeの代替
		9.1.1 Ant
		9.1.2 IDE
	9.2 Java向け汎用makefile
	9.3 Javaのコンパイル
		9.3.1 高速な手法:一体型コンパイル
		9.3.2 依存関係からコンパイルする
		9.3.3 CLASSPATHの設定
	9.4 jarの管理
	9.5 リファレンスツリーとサードバーティ製jarファイル
10章 makeの性能改善
	10.1 ベンチマーク
	10.2 ボトルネックの特定と対応
		10.2.1 単純変数対再帰変数
		10.2.2 @を無効にする
		10.2.3 初期化の遅延
	10.3 並列make
	10.4 分散make
11章 makefileの実例
	11.1 Book makefile
		11.1.1 例題の管理
		11.1.2 XMLの処理
		11.1.3 出力の生成
		11.1.4 ソーステキストの検証
	11.2 Linuxカーネルのmakefile
		11.2.1 コマンドラインオプション
		11.2.2 設定と構築
		11.2.3 コマンド表示の管理
		11.2.4 ユーザ定義関数
12章 makefileのデバッグ
	12.1 makeのデバッグ機能
		12.1.1 コマンドラインオプション
		12.1.2 --debugオプション
	12.2 デバッグ用のコードを書く
		12.2.1 優れたコーディングの習慣
		12.2.2 防衛的コード
		12.2.3 デバッグテクニック
	12.3 よくあるエラーメッセージ
		12.3.1 文法エラー
		12.3.2 コマンドスクリプト中のエラー
		12.3.3 No Rule to Make Target(ターゲットを構築するためのルールがない)
		12.3.4 Overriding Commands for Target(コマンドが上書きされている)
付録A makeの実行
付録B 限界を超えて
付録C GNU Free Documentation License――GNU Project――Free Software Foundation (FSF)
索引