プログラミングユーティリティ

プロジェクト全体の構築

ある時点のソースおよびそれによって構築されるオブジェクトファイルを、プロジェクト開発中に何度か保存する必要があります。プロジェクト全体を構築するには、make を各サブディレクトリごとに実行して、各モジュールを構築し、それをインストールします。以下の例は、入れ子にした make コマンドを使用して単純なプロジェクトを構築する方法を示しています。

プロジェクトが binlib という 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
$