1 .\" Man page Copyright (c) 2002
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\" notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\" notice, this list of conditions and the following disclaimer in the
11 .\" documentation and/or other materials provided with the distribution.
13 .\" THIS DOCUMENTATION IS PROVIDED BY THE APPLE ``AS IS'' AND
14 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16 .\" ARE DISCLAIMED. IN NO EVENT SHALL APPLE BE LIABLE
17 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 .Dd "December 25, 2002"
31 .Nd process raw dependency files produced by cpp -MD
38 .Op Fl o Ar outputfile
41 .Op Fl D Ar c|d|m|o|t|D
45 command basically does two things:
47 Process the raw dependency files produced by the cpp -MD option.
48 There is one line in the file for every #include encountered, but
49 there are repeats and patterns like .../dir1/../dir2 that appear which
50 should reduce to .../dir2.
52 canonicalizes and flushes repeats from the dependency list.
53 It also sorts the file names and "fills" them to a 78 character line.
56 also updates the makefile directly with the dependency information,
57 so the .d file can be thrown away (see
59 option). This is done to save space.
61 assumes that dependency information in the makefile is sorted by .o
62 file name and it procedes to merge in (add/or replace [as appropriate])
63 the new dependency lines that it has generated.
66 assumes that any .d files it is given that were created
67 before the creation date of the "makefile" were processed
68 already. It ignores them unless the force flag
73 .Bl -tag -width indent
74 .It Fl D Ar c|D|d|m|o|t
75 Specify debugging option(s):
76 .Bl -tag -width indent
80 show very low level debugging
82 show new dependency crunching
84 show generation of makefile
86 show files being opened
91 Delete the .d file after it is processed
93 Force an update of the dependencies in the makefile,
94 even if the makefile is more recent than the .n file.
97 has been run already.)
99 Specify the makefile to be upgraded. The defaults are
103 .It Fl o Ar outputfile
104 Specify an output file (other than a makefile) for the dependencies.
108 but the file will be created if necessary.
110 Set the verbose flag.
112 Expunge old dependency information from the makefile.
117 Old, possibly not used by anyone.
121 utility was written by Robert V. Baron at Carnegie-Mellon University.