DragonFly On-Line Manual Pages

Search: Section:  


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

Search: Section: