Next: Automatic Remaking, Previous: Installation Directory Variables, Up: Makefile Substitutions
同じソースコードのコピーから,同時に複数のアーキテクチャに対するソフトウェ アパッケージのコンパイルをサポートすることが可能です.それぞれのアーキテ クチャに対するオブジェクトファイルは,それ自身のディレクトリに保存されま す.
これをサポートするために,makeは,ソースディレクトリにあるファ
イルを見つけるためVPATH
変数を使用します.GNU Makeとその
他のほとんどの最近のmakeプログラムはこうすることが可能です.もっ
と古いmakeプログラムは,VPATH
をサポートしていません.そ
れを使用するときは,ソースコードをオブジェクトファイルと同じディレクトリ
置く必要があります.
VPATH
をサポートするため,それぞれのMakefile.inには,以下の
ような二行が必要です.
srcdir = @srcdir@ VPATH = @srcdir@
VPATH
の値に変数を代入しないmakeのバージョンもあるので,
VPATH
に他の値,例えば‘VPATH = $(srcdir)’を設定しないでくださ
い.
configureはMakefileを作成するとき,srcdir
に正し
い値を代入します.
暗黙のルールを期待して,(VPATH
で見つかる)ソースディレクトリのファ
イルのパス名を展開するmake変数の$<
を使用しないでくださ
い.(暗黙のルールとは,.cファイルから.oファイルを作成する
方法を教える‘.c.o’の様なものです.)暗黙のルールで$<
を設定し
ないバージョンのmakeもあり,それは,空の値で展開します.
その代わり,Makefileコマンドラインは,ソースファイルを ‘$(srcdir)/’を前置して参照します.例えば以下のようにします.
time.info: time.texinfo $(MAKEINFO) $(srcdir)/time.texinfo