---
name: "mkdep"
section: "1"
platform: "linux"
package: "bmake"
version: "20200710-17"
release: "Debian 13 (Trixie)"
platforms: ["linux", "freebsd", "openbsd"]
url: "https://new.carta.tech/mkdep"
---

# mkdep(1)

construct Makefile dependency list

## NAME

**mkdep** – construct Makefile dependency list

## SYNOPSIS

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

## DESCRIPTION

**mkdep** 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 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.

## SEE ALSO

[cc(1)](/cc/1.md), [cpp(1)](/cpp/1.md), [make(1)](/make/1.md)

## FILES

- *.depend*

  file containing list of dependencies

## HISTORY

The **mkdep** command appeared in 4.3BSD-Tahoe.
