mkdep(1)

mkdep1

Construct makefile dependency list

Usage

mkdep [-ap] [-f file] [flags] file ...

Overview

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 cc as the preprocessor and to ignore system headers, one would use

depend:
	env MKDEP_CPP="cc -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

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.

Environment

CC

Specifies the C compiler to use. The specified compiler is expected to have options consistent with the GNU C compiler. The default is cc.

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.

Releases

87 releases since FreeBSD 2.0.5-RELEASE; the text changed 46 times.

  1. 2.0.5–2.2.2
  2. 2.2.5–2.2.7
  3. 2.2.8–2.2.9
  4. 3.0–3.3
  5. 3.4–3.5.1
  6. 4.0–4.2
  7. 4.3
  8. 4.4–4.6.2
  9. 4.7
  10. 4.8–4.11
  11. 5.0
  12. 5.1–5.2.1
  13. 5.3–5.5
  14. 6.0–6.3
  15. 6.4
  16. 7.0
  17. 7.1
  18. 7.2
  19. 7.3
  20. 7.4
  21. 8.0
  22. 8.1
  23. 8.2
  24. 8.3
  25. 8.4
  26. 9.0
  27. 9.1
  28. 9.2
  29. 9.3
  30. 10.0
  31. 10.1
  32. 10.2
  33. 10.3
  34. 10.4
  35. 11.0
  36. 11.1
  37. 11.2
  38. 11.3
  39. 11.4
  40. 12.0
  41. 12.1
  42. 12.2
  43. 12.3
  44. 12.4
  45. 13.0–13.2
  46. 13.3–14.5
  47. 15.0–16.0

-n until FreeBSD 2.2.9-RELEASE.

History

The mkdep command appeared in 4.3BSD-Tahoe.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.