wow. that was easy: git mv core nucleus
[feisty_meow.git] / nucleus / tools / dependency_tool / makedepend.txt
diff --git a/nucleus/tools/dependency_tool/makedepend.txt b/nucleus/tools/dependency_tool/makedepend.txt
new file mode 100644 (file)
index 0000000..e8a90f7
--- /dev/null
@@ -0,0 +1,264 @@
+
+
+
+User Commands                                       MAKEDEPEND(1)
+
+
+
+N\bNA\bAM\bME\bE
+     makedepend - create dependencies in makefiles
+
+S\bSY\bYN\bNO\bOP\bPS\bSI\bIS\bS
+     m\bma\bak\bke\bed\bde\bep\bpe\ben\bnd\bd  [  -\b-D\bDn\bna\bam\bme\be=\b=d\bde\bef\bf  ]  [  -\b-D\bDn\bna\bam\bme\be ] [ -\b-I\bIi\bin\bnc\bcl\blu\bud\bde\bed\bdi\bir\br ] [
+     -\b-Y\bYi\bin\bnc\bcl\blu\bud\bde\bed\bdi\bir\br ] [ -\b-a\ba ] [ -\b-f\bfm\bma\bak\bke\bef\bfi\bil\ble\be ] [ -\b-o\boo\bob\bbj\bjs\bsu\buf\bff\bfi\bix\bx ] [ -\b-p\bpo\bob\bb-\b-
+     j\bjp\bpr\bre\bef\bfi\bix\bx  ]  [ -\b-s\bss\bst\btr\bri\bin\bng\bg ] [ -\b-w\bww\bwi\bid\bdt\bth\bh ] [ -\b-v\bv ] [ -\b-m\bm ] [ -- o\bot\bth\bh-\b-
+     e\ber\bro\bop\bpt\bti\bio\bon\bns\bs -- ] sourcefile ...
+
+D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
+     M\bMa\bak\bke\bed\bde\bep\bpe\ben\bnd\bd reads each _\bs_\bo_\bu_\br_\bc_\be_\bf_\bi_\bl_\be in sequence and  parses  it
+     like  a  C-preprocessor,  processing  all _\b#_\bi_\bn_\bc_\bl_\bu_\bd_\be_\b, _\b#_\bd_\be_\bf_\bi_\bn_\be_\b,
+     _\b#_\bu_\bn_\bd_\be_\bf_\b, _\b#_\bi_\bf_\bd_\be_\bf_\b, _\b#_\bi_\bf_\bn_\bd_\be_\bf_\b, _\b#_\be_\bn_\bd_\bi_\bf_\b, _\b#_\bi_\bf and _\b#_\be_\bl_\bs_\be directives so
+     that  it can correctly tell which _\b#_\bi_\bn_\bc_\bl_\bu_\bd_\be_\b, directives would
+     be used in a compilation.  Any _\b#_\bi_\bn_\bc_\bl_\bu_\bd_\be_\b, directives can ref-
+     erence  files  having other _\b#_\bi_\bn_\bc_\bl_\bu_\bd_\be directives, and parsing
+     will occur in these files as well.
+
+     Every file that a _\bs_\bo_\bu_\br_\bc_\be_\bf_\bi_\bl_\be  includes,  directly  or  indi-
+     rectly,  is  what  m\bma\bak\bke\bed\bde\bep\bpe\ben\bnd\bd  calls  a "dependency".  These
+     dependencies are then written to a _\bm_\ba_\bk_\be_\bf_\bi_\bl_\be in  such  a  way
+     that m\bma\bak\bke\be(\b(1\b1)\b) will know which object files must be recompiled
+     when a dependency has changed.
+
+     By default, m\bma\bak\bke\bed\bde\bep\bpe\ben\bnd\bd places its output in the  file  named
+     _\bm_\ba_\bk_\be_\bf_\bi_\bl_\be  if  it  exists,  otherwise _\bM_\ba_\bk_\be_\bf_\bi_\bl_\be_\b.  An alternate
+     makefile may be specified with  the  -\b-f\bf  option.   It  first
+     searches the makefile for the line
+
+         #  DO NOT DELETE THIS LINE -- make depend depends on it.
+
+     or one provided with the -\b-s\bs option, as a delimiter  for  the
+     dependency  output.   If  it finds it, it will delete every-
+     thing following this to the end of the makefile and put  the
+     output  after this line.  If it doesn't find it, the program
+     will append the string to the end of the makefile and  place
+     the output following that.  For each _\bs_\bo_\bu_\br_\bc_\be_\bf_\bi_\bl_\be appearing on
+     the command line, m\bma\bak\bke\bed\bde\bep\bpe\ben\bnd\bd puts lines in the  makefile  of
+     the form
+
+          sourcefile.o: dfile ...
+
+     Where  "sourcefile.o" is the name from the command line with
+     its suffix replaced with ".o", and "dfile" is  a  dependency
+     discovered  in a _\b#_\bi_\bn_\bc_\bl_\bu_\bd_\be directive while parsing _\bs_\bo_\bu_\br_\bc_\be_\bf_\bi_\bl_\be
+     or one of the files it included.
+
+E\bEX\bXA\bAM\bMP\bPL\bLE\bE
+     Normally, m\bma\bak\bke\bed\bde\bep\bpe\ben\bnd\bd will be used in a  makefile  target  so
+     that  typing "make depend" will bring the dependencies up to
+     date for the makefile.  For example,
+         SRCS = file1.c file2.c ...
+
+
+
+X Version 11          Last change: Release 6                    1
+
+
+
+
+
+
+User Commands                                       MAKEDEPEND(1)
+
+
+
+         CFLAGS = -O -DHACK -I../foobar -xyz
+         depend:
+                 makedepend -- $(CFLAGS) -- $(SRCS)
+
+O\bOP\bPT\bTI\bIO\bON\bNS\bS
+     M\bMa\bak\bke\bed\bde\bep\bpe\ben\bnd\bd will ignore any option that it  does  not  under-
+     stand  so that you may use the same arguments that you would
+     for c\bcc\bc(\b(1\b1)\b).\b.
+
+     -\b-D\bDn\bna\bam\bme\be=\b=d\bde\bef\bf o\bor\br -\b-D\bDn\bna\bam\bme\be
+          Define.  This places a definition for _\bn_\ba_\bm_\be  in  m\bma\bak\bke\bed\bde\be-\b-
+          p\bpe\ben\bnd\bd'\b's\bs  symbol  table.  Without _\b=_\bd_\be_\bf the symbol becomes
+          defined as "1".
+
+     -\b-I\bIi\bin\bnc\bcl\blu\bud\bde\bed\bdi\bir\br
+          Include directory.  This  option  tells  m\bma\bak\bke\bed\bde\bep\bpe\ben\bnd\bd  to
+          prepend _\bi_\bn_\bc_\bl_\bu_\bd_\be_\bd_\bi_\br to its list of directories to search
+          when it encounters a _\b#_\bi_\bn_\bc_\bl_\bu_\bd_\be directive.   By  default,
+          m\bma\bak\bke\bed\bde\bep\bpe\ben\bnd\bd  only searches the standard include directo-
+          ries (usually /usr/include  and  possibly  a  compiler-
+          dependent directory).
+
+     -\b-Y\bYi\bin\bnc\bcl\blu\bud\bde\bed\bdi\bir\br
+          Replace  all  of  the standard include directories with
+          the single specified include directory;  you  can  omit
+          the _\bi_\bn_\bc_\bl_\bu_\bd_\be_\bd_\bi_\br to simply prevent searching the standard
+          include directories.
+
+     -\b-a\ba   Append the dependencies to the end of the file  instead
+          of replacing them.
+
+     -\b-f\bfm\bma\bak\bke\bef\bfi\bil\ble\be
+          Filename.   This  allows  you  to  specify an alternate
+          makefile in which m\bma\bak\bke\bed\bde\bep\bpe\ben\bnd\bd can place its output.
+
+     -\b-o\boo\bob\bbj\bjs\bsu\buf\bff\bfi\bix\bx
+          Object file suffix.  Some systems may have object files
+          whose suffix is something other than ".o".  This option
+          allows you to specify another suffix, such as ".b" with
+          _\b-_\bo_\b._\bb or ":obj" with _\b-_\bo_\b:_\bo_\bb_\bj and so forth.
+
+     -\b-p\bpo\bob\bbj\bjp\bpr\bre\bef\bfi\bix\bx
+          Object  file  prefix.   The  prefix is prepended to the
+          name of the object file. This is usually used to desig-
+          nate  a  different  directory for the object file.  The
+          default is the empty string.
+
+     -\b-s\bss\bst\btr\bri\bin\bng\bg
+          Starting string delimiter.  This option permits you  to
+          specify  a  different string for m\bma\bak\bke\bed\bde\bep\bpe\ben\bnd\bd to look for
+          in the makefile.
+
+
+
+
+X Version 11          Last change: Release 6                    2
+
+
+
+
+
+
+User Commands                                       MAKEDEPEND(1)
+
+
+
+     -\b-w\bww\bwi\bid\bdt\bth\bh
+          Line width.   Normally,  m\bma\bak\bke\bed\bde\bep\bpe\ben\bnd\bd  will  ensure  that
+          every  output line that it writes will be no wider than
+          78 characters for the sake of readability.  This option
+          enables you to change this width.
+
+     -\b-v\bv   Verbose  operation.   This  option causes m\bma\bak\bke\bed\bde\bep\bpe\ben\bnd\bd to
+          emit the list of files included by each input  file  on
+          standard output.
+
+     -\b-m\bm   Warn  about  multiple  inclusion.   This  option causes
+          m\bma\bak\bke\bed\bde\bep\bpe\ben\bnd\bd to produce  a  warning  if  any  input  file
+          includes another file more than once.  In previous ver-
+          sions of m\bma\bak\bke\bed\bde\bep\bpe\ben\bnd\bd this was the default behavior;  the
+          default  has  been changed to better match the behavior
+          of the C compiler, which  does  not  consider  multiple
+          inclusion  to be an error.  This option is provided for
+          backward compatibility, and to aid in  debugging  prob-
+          lems related to multiple inclusion.
+
+     -\b--\b- o\bop\bpt\bti\bio\bon\bns\bs -\b--\b-
+          If  m\bma\bak\bke\bed\bde\bep\bpe\ben\bnd\bd  encounters  a double hyphen (--) in the
+          argument list, then any unrecognized argument following
+          it  will  be  silently  ignored; a second double hyphen
+          terminates  this  special  treatment.   In  this   way,
+          m\bma\bak\bke\bed\bde\bep\bpe\ben\bnd\bd  can  be made to safely ignore esoteric com-
+          piler arguments that  might  normally  be  found  in  a
+          CFLAGS m\bma\bak\bke\be macro (see the E\bEX\bXA\bAM\bMP\bPL\bLE\bE section above).  All
+          options that m\bma\bak\bke\bed\bde\bep\bpe\ben\bnd\bd recognizes and  appear  between
+          the pair of double hyphens are processed normally.
+
+A\bAL\bLG\bGO\bOR\bRI\bIT\bTH\bHM\bM
+     The approach used in this program enables it to run an order
+     of magnitude faster than any other "dependency generator"  I
+     have ever seen.  Central to this performance are two assump-
+     tions: that all files compiled by a single makefile will  be
+     compiled  with  roughly the same _\b-_\bI and _\b-_\bD options; and that
+     most files in a single directory will  include  largely  the
+     same files.
+
+     Given  these  assumptions,  m\bma\bak\bke\bed\bde\bep\bpe\ben\bnd\bd  expects to be called
+     once for each makefile, with all source files that are main-
+     tained  by  the  makefile appearing on the command line.  It
+     parses each source and include file exactly once,  maintain-
+     ing an internal symbol table for each.  Thus, the first file
+     on the command line will take an amount of time proportional
+     to  the  amount  of time that a normal C preprocessor takes.
+     But on subsequent files, if it encounter's an  include  file
+     that it has already parsed, it does not parse it again.
+
+     For  example,  imagine  you are compiling two files, _\bf_\bi_\bl_\be_\b1_\b._\bc
+     and _\bf_\bi_\bl_\be_\b2_\b._\bc_\b, they each include the header file _\bh_\be_\ba_\bd_\be_\br_\b._\bh_\b, and
+
+
+
+X Version 11          Last change: Release 6                    3
+
+
+
+
+
+
+User Commands                                       MAKEDEPEND(1)
+
+
+
+     the  file  _\bh_\be_\ba_\bd_\be_\br_\b._\bh  in  turn  includes the files _\bd_\be_\bf_\b1_\b._\bh and
+     _\bd_\be_\bf_\b2_\b._\bh_\b.  When you run the command
+
+         makedepend file1.c file2.c
+
+     m\bma\bak\bke\bed\bde\bep\bpe\ben\bnd\bd will parse _\bf_\bi_\bl_\be_\b1_\b._\bc and consequently, _\bh_\be_\ba_\bd_\be_\br_\b._\bh and
+     then  _\bd_\be_\bf_\b1_\b._\bh and _\bd_\be_\bf_\b2_\b._\bh_\b.  It then decides that the dependen-
+     cies for this file are
+
+         file1.o: header.h def1.h def2.h
+
+     But when the program parses _\bf_\bi_\bl_\be_\b2_\b._\bc and discovers  that  it,
+     too, includes _\bh_\be_\ba_\bd_\be_\br_\b._\bh_\b, it does not parse the file, but sim-
+     ply adds _\bh_\be_\ba_\bd_\be_\br_\b._\bh_\b, _\bd_\be_\bf_\b1_\b._\bh and _\bd_\be_\bf_\b2_\b._\bh to the list  of  depen-
+     dencies for _\bf_\bi_\bl_\be_\b2_\b._\bo_\b.
+
+S\bSE\bEE\bE A\bAL\bLS\bSO\bO
+     cc(1), make(1)
+
+B\bBU\bUG\bGS\bS
+     m\bma\bak\bke\bed\bde\bep\bpe\ben\bnd\bd parses, but does not currently evaluate, the SVR4
+     #predicate(token-list) preprocessor expression; such expres-
+     sions  are  simply  assumed  to be true.  This may cause the
+     wrong _\b#_\bi_\bn_\bc_\bl_\bu_\bd_\be directives to be evaluated.
+
+     Imagine you are parsing two files, say _\bf_\bi_\bl_\be_\b1_\b._\bc and  _\bf_\bi_\bl_\be_\b2_\b._\bc_\b,
+     each  includes the file _\bd_\be_\bf_\b._\bh_\b.  The list of files that _\bd_\be_\bf_\b._\bh
+     includes might truly be different when _\bd_\be_\bf_\b._\bh is included  by
+     _\bf_\bi_\bl_\be_\b1_\b._\bc  than  when  it  is  included  by _\bf_\bi_\bl_\be_\b2_\b._\bc_\b.  But once
+     m\bma\bak\bke\bed\bde\bep\bpe\ben\bnd\bd arrives at a list of dependencies for a file,  it
+     is cast in concrete.
+
+A\bAU\bUT\bTH\bHO\bOR\bR
+     Todd Brunhoff, Tektronix, Inc. and MIT Project Athena
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+X Version 11          Last change: Release 6                    4
+
+
+