次: , 前: Installation Directory Variables, 上: Makefile Substitutions


4.7.3 ビルドディレクトリ

同じソースコードのコピーから,同時に複数のアーキテクチャに対するソフトウェ アパッケージのコンパイルをサポートすることが可能です.それぞれのアーキテ クチャに対するオブジェクトファイルは,それ自身のディレクトリに保存されま す.

これをサポートするために,makeは,ソースディレクトリにあるファ イルを見つけるためVPATH変数を使用します.GNU Makeとその 他のほとんどの最近のmakeプログラムはこうすることが可能です.もっ と古いmakeプログラムは,VPATHをサポートしていません.そ れを使用するときは,ソースコードをオブジェクトファイルと同じディレクトリ 置く必要があります.

VPATHをサポートするため,それぞれのMakefile.inには,以下の ような二行が必要です.

     srcdir = @srcdir@
     VPATH = @srcdir@

VPATHの値に変数を代入しないmakeのバージョンもあるので, VPATHに他の値,例えば`VPATH = $(srcdir)'を設定しないでくださ い.

configureMakefileを作成するとき,srcdirに正し い値を代入します.

暗黙のルールを期待して,(VPATHで見つかる)ソースディレクトリのファ イルのパス名を展開するmake変数の$<を使用しないでくださ い.(暗黙のルールとは,.cファイルから.oファイルを作成する 方法を教える`.c.o'の様なものです.)暗黙のルールで$<を設定し ないバージョンのmakeもあり,それは,空の値で展開します.

その代わり,Makefileコマンドラインは,ソースファイルを `$(srcdir)/'を前置して参照します.例えば以下のようにします.

     time.info: time.texinfo
             $(MAKEINFO) $(srcdir)/time.texinfo