ある時点のソースおよびそれによって構築されるオブジェクトファイルを、プロジェクト開発中に何度か保存する必要があります。プロジェクト全体を構築するには、make を各サブディレクトリごとに実行して、各モジュールを構築し、それをインストールします。以下の例は、入れ子にした make コマンドを使用して単純なプロジェクトを構築する方法を示しています。
プロジェクトが bin と lib という 2 つの異なるサブディレクトリに置かれていて、両方のサブディレクトリで、make を使用して、プロジェクトのデバッグ、テスト、インストールを行うものとします。
最初に、プロジェクトのルートディレクトリ (プロジェクトの一番上のディレクトリ) に、以下のようなメークファイルを置きます。
# プロジェクトのルート makefile
TARGETS= debug test install
SUBDIRS= bin lib
all: $(TARGETS)
$(TARGETS):
@for i in $(SUBDIRS) ; ¥
do ¥
cd $$i ; ¥
echo "Current directory: $$i" ;¥
$(MAKE) $@ ; ¥
cd .. ; ¥
done
次に、各サブディレクトリ (この場合は bin) に、以下の一般的な形式のメークファイルを作成します。
#サブディレクトリ中の makefile
debug:
@echo " Building debug target"
@echo
test:
@echo " Building test target"
@echo
install:
@echo " Building install target"
@echo
プロジェクトのルートディレクトリで make と入力すると、以下のように出力されます。
$ make
Current directory: bin
Building debugging target
Current directory: lib
Building debugging target
Current directory: bin
Building testing target
Current directory: lib
Building testing target
Current directory: bin
Building install target
Current directory: lib
Building install target
$