ある時点のソースおよびそれによって構築されるオブジェクトファイルを、プロジェクト開発中に何度か保存する必要があります。プロジェクト全体を構築するには、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 $