GNU Make

1 概要

GNU Make はビルドプロセスを自動化するツールです。makefile にビルドルールを記述することで、ソースファイルの変更を検出し必要な部分だけを再コンパイルできます。C プロジェクトのビルド自動化として長年広く使われています。

このリポジトリは GNU Make をビルドシステムの中核として使用しています。トップレベルの makefile から prod/calc/prod/calc.net/test/ 配下の各 makefile を呼び出す階層構造になっており、makefw/ サブモジュールが提供するテンプレート makefile を各サブディレクトリから利用しています。make コマンド一つでライブラリ・実行ファイル・テストのビルドをまとめて実行できます。

makefw/ サブモジュールは、パスと言語に基づいてテンプレートを自動選択する仕組みを持ち、Linux / Windows の差異を吸収します。makepart.mk ファイルによるカスタマイズも可能です。

2 習得目標

3 学習マテリアル

3.1 公式ドキュメント

3.2 チュートリアル・入門

4 このリポジトリとの関連

4.1 使用箇所 (具体的なファイル・コマンド)

主要コマンド:

make

make clean

make doxy
make docs

ファイル構成:

makefile ファイル構成一覧
ファイル 役割
makefile (トップレベル) 全体のビルド制御
prod/calc/libsrc/calcbase/makefile libcalcbase 静的ライブラリのビルド
prod/calc/libsrc/calc/makefile libcalc 動的ライブラリのビルド
prod/calc/src/add/makefile add 実行ファイルのビルド
test/src/calc/libcalcbaseTest/addTest/makefile add テストのビルド
makefw/makefiles/ テンプレート makefile 群

カスタマイズ:
各サブディレクトリに makepart.mk を配置することで、テンプレートの動作をカスタマイズできます。

4.2 関連ドキュメント