DragonFly On-Line Manual Pages
MKDEP(1) DragonFly General Commands Manual MKDEP(1)
NAME
mkdep - construct Makefile dependency list
SYNOPSIS
mkdep [-ap] [-f file] [-S srcdir] [flags] file ...
DESCRIPTION
The mkdep utility takes a set of flags for the C compiler and a list of C
source files as arguments and constructs a set of include file
dependencies which are written into the file .depend. An example of its
use in a Makefile might be:
CFLAGS= -O -I../include
SRCS= file1.c file2.c
depend:
mkdep ${CFLAGS} ${SRCS}
where the macro SRCS is the list of C source files and the macro CFLAGS
is the list of flags for the C compiler.
The user has the ability to change the preprocessor and preprocessor
options used. For instance, to use gcc as the preprocessor and to ignore
system headers, one would use
depend:
env MKDEP_CPP="gcc -E" MKDEP_CPP_OPTS=-MM mkdep \
${CFLAGS} ${SRCS}
The options are as follows:
-a Append to the output file, so that multiple mkdep's may be run
from a single Makefile.
-f file
Write the include file dependencies to file, instead of the
default .depend.
-p Cause mkdep to produce dependencies of the form:
program: program.c
so that subsequent makes will produce program directly from its C
module rather than using an intermediate .o module. This is
useful for programs whose source is contained in a single module.
-S srcdir
Treat srcdir as the root of the source tree, and prefix each
dependency target with the path of its source file relative to
srcdir, excluding the file name itself. A source file located
directly in srcdir, with no intervening subdirectory, is left
unqualified. The match is textual (i.e., no path normalization):
srcdir must appear literally at the start of each source pathname
given on the command line.
Without specifying -S, sources that share a file name in
different subdirectories produce identical targets, which can
cause build failures or broken output. This option avoids this
by qualifying each target with its subdirectory.
For example, the command
mkdep -S /src /src/abc.c /src/dir1/abc.c /src/dir2/abc.c
generates:
abc.o: /src/abc.c
dir1/abc.o: /src/dir1/abc.c
dir2/abc.o: /src/dir2/abc.c
ENVIRONMENT
CC Specifies the C compiler to use. The specified compiler
is expected to have options consistent with the GNU C
compiler.
MKDEP_CPP Specifies the preprocessor to use. The default is "${CC}
-E".
MKDEP_CPP_OPTS Specifies the non-CFLAGS options for the preprocessor.
The default is "-M".
FILES
.depend File containing list of dependencies.
SEE ALSO
cc(1), cpp(1), make(1)
HISTORY
The mkdep command appeared in 4.3BSD-Tahoe.
DragonFly 6.5-DEVELOPMENT August 24, 2026 DragonFly 6.5-DEVELOPMENT