-----------------------------------------------------------------------
MAKEDEP - Generate Makefile dependencies - 1.44

Copyright (c) 1990-96 Tarma Software Research Ltd. All rights reserved.

MakeDep is free for your own personal use, but it is *not* in the public
domain. Tarma Software Research Ltd. makes no warranties of any kind
and does not accept any responsibility for the consequences of using
MkDep, unless they are positive.

Send your feedback and comments to:
	Ron van der Wal, Tarma Software Research Ltd. <ron@tarma.com>
-----------------------------------------------------------------------

Syntax:
	MakeDep [options] filename...

MakeDep scans the given set of files for #include directives and creates
a dependency list corresponding to the #include graph. This dependency
list is suitable for inclusion in a Makefile. Wildcards are allowed in
the filename specification.

Options:
	/Adep    Add 'dep' as additional dependency
	/E       Ignore INCLUDE and EXCLUDE environment variables
	/Ipath   Add 'path' to the list of INCLUDE directories
	/Ofile   Send output to 'file' instead of MAKEFILE.DEP
	/T       Generate dependency tree instead of dependency file
	/Xpath   Add 'path' to the list of EXCLUDE directories

Output:
	By default, the output is sent to one of the following the files:

	- MAKEFILE.DEP in case of a plain dependency list
	- TREE.DEP in case of a dependency tree report (/T option)

	Any default can be changed through the /O option.

Include processing:
	By default, MakeDep uses the contents of the INCLUDE environment
	variable, combined with any /I paths on the command line, to
	determine where to look for #included files. The search algorithm
	for #included files is as follows:
	
	#include "filename"
		searches the current working directory first, then all INCLUDE
		paths.

	#include <filename>
		searches all INCLUDE paths (only).
	
	The EXCLUDE environment variable and/or the /X command line option
	can be used to specify directories that must be excluded from the
	dependency list, even though they might be implied by the INCLUDE
	paths. This is particularly useful if one or more subdirectories
	need to be excluded. For example, given:

		#include <peanuts\defs.h>
		#include <tlx\501\defs.h>

	off a directory tree d:\dev, the options:

		/Id:\dev /Xd:\dev\tlx

	ensure that "d:\dev\peanuts\defs.h" is included in the dependency
	list, while "d:\dev\tlx\501\defs.h" (or anything else that starts
	with "d:\dev\tlx") is not. Normally, this option is used to exclude
	system directories and other static header file collections from
	the dependency lists.

	If the /E option is given the contents of the INCLUDE and EXCLUDE
	environment variables (if any) are ignored and only /I and /X have
	any effect.

Known limitations:
	- #include file searching does not conform to the Microsoft Visual
	C/C++ algorithm; this may lead to discrepancies sometimes.

	- There is currently no way to specify paths or filenames with
	embedded spaces.

	- #include directives that use macros, such as:

		#include INC_FORM(defs.h)

	are currently not recognized properly.

	- Extension-less header filenames, as in:

		#include <iostream>

	are properly handled only if an extension-less header file exists.

Remark:
	MakeDep has been superceded by MkDep, which is faster and is mostly
	Microsoft compatible.
