aboutsummaryrefslogtreecommitdiff
path: root/ja_JP.eucJP/man/man1/mkdep.1
blob: 8079073ffaf45cdec3f46e1f37dd57dc6f200ee0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
.\" 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
.\" jpman %Id: mkdep.1,v 1.3 1997/08/20 12:35:25 horikawa Stab %
.\"
.Dd June 6, 1993
.Dt MKDEP 1
.Os BSD 4.2
.Sh 名称
.Nm mkdep
.Nd Makefile の依存関係リストを構築する
.Sh 書式
.Nm
.Op Fl ap
.Op Fl f Ar file
.Op Ar flags
.Ar file ...
.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 関連項目
.Xr cc 1 ,
.Xr cpp 1 ,
.Xr make 1
.Sh 関連ファイル
.Bl -tag -width .depend -compact
.It Pa .depend
依存関係リストを含むファイル
.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 歴史
.Nm
コマンドは
.Bx 4.3 Tahoe
から登場しました。