December 12, 2005 MKDEP 1

### NAME

mkdep - construct Makefile dependency list

### SYNOPSIS

mkdep [-aDdopq] [-f file] [-s suffixes] ```--` [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 Ns's may be run from a single Makefile.

-D
  Post process (as -d) but read the list of filenames from stdin.

-d
  Post process and merge previously created (for example by ``cc -MD x.c'') depend files into a single file.

-f
  Write the include file dependencies to file, instead of the default ``.depend''.

-o
  Add an additional .OPTIONAL line for each dependant file.

-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. -p is equivalent to specifying a null suffix with -s.

-q
  Do not print a warning for inaccessible files when -d is given.

-s
  Expand each target filename to a list, replacing the `.o' suffix with each element of suffixes. The list of suffixes may be space or comma separated.

### FILES

```.depend`
  File containing list of dependencies.

### SEE ALSO

cc(1), cpp(1), make(1)

### HISTORY

The mkdep command appeared in 4.3BSDTahoe.