.\" Copyright (c) 1987, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)mkdep.1 8.1 (Berkeley) 6/6/93 .\" %FreeBSD: src/usr.bin/mkdep/mkdep.1,v 1.15 2004/07/02 22:22:28 ru Exp % .\" .\" $FreeBSD$ .\" .Dd June 6, 1993 .Dt MKDEP 1 .Os .Sh 名称 .Nm mkdep .Nd Makefile の依存関係リストを構築する .Sh 書式 .Nm .Op Fl ap .Op Fl f Ar file .Op Ar flags .Ar .Sh 解説 .Nm ユーティリティは、 C コンパイラへのフラグと C のソースファイルリストを引数にとり、 インクルードファイルの依存関係リストを構築し、 ファイル ``.depend'' に書き出します。 例えば Makefile においては以下のように用いられます: .Bd -literal -offset indent CFLAGS= -O -I../include SRCS= file1.c file2.c depend: mkdep ${CFLAGS} ${SRCS} .Ed .Pp ここでマクロ SRCS は C のソースファイルのリストであり、 CFLAGS は C コンパイラへ与えるフラグのリストです。 .Pp ユーザは、使用するプリプロセッサとプリプロセッサオプションを変更可能です。 例えば、gcc をプリプロセッサとして使用し、システムのヘッダを無視するには、 次のようにします: .Bd -literal -offset indent depend: env MKDEP_CPP="gcc -E" MKDEP_CPP_OPTS=-MM mkdep \\ ${CFLAGS} ${SRCS} .Ed .Pp オプションは以下の通りです: .Bl -tag -width Ds .It Fl a 結果を出力ファイルに追加します。 これにより同一の Makefile から .Nm を複数回実行することができます。 .It Fl f インクルードファイル依存関係を、デフォルトの ``.depend'' ではなく、ファイル .Ar file に書き出します。 .It Fl p 依存関係を以下の形式で出力します: .Bd -literal -offset indent program: program.c .Ed .Pp これにより、後続の make は中間ファイル .Pa \&.o を経ることなく、直接 C のソースモジュールから .Ar program を生成することができるようになります。 この機能は、ソースが単一のモジュールから構成されているプログラムに便利です。 .El .Sh 環境変数 .Bl -tag -width MKDEP_CPP_OPTS .It Ev CC 使用する C コンパイラを指定します。 指定されたコンパイラは、 GNU C コンパイラと一貫性のあるオプションを持つと仮定されます。 .It Ev MKDEP_CPP 使用するプリプロセッサを指定します。デフォルトは "${CC} -E" です。 .It Ev MKDEP_CPP_OPTS プリプロセッサに対する CFLAGS 以外のオプションを指定します。 デフォルトは "-M" です。 .El .Sh 関連項目 .Xr cc 1 , .Xr cpp 1 , .Xr make 1 .Sh 関連ファイル .Bl -tag -width .depend -compact .It Pa .depend 依存関係リストを含むファイル .El .Sh 歴史 .Nm コマンドは .Bx 4.3 Tahoe から登場しました。