We have been using the Makedep perl scripts for over two
years now, quite successfully. There have been a couple of
problems, though which I have been trying to alleviate. One
is the requirement for Perl on Win32, which is moot now that
there is a full Perl distro in the lib bundle. The other is that
the original code is very unreadable, and difficult to maintain.
The original
SF.net project seems to have gone into
hibernation, and the owner hasn't responded to my emails.
Also, it would be a great benefit to us if we could process the
data in various forms to analyze the inter-file dependencies, and
maybe generate charts from it.
So, last week I did a reimplementation of the Makedep functionality
in C++, calling it DepTool. The file was added to the tree this morning.
The makefiles were tweaked to use it instead of mkdep.pl.
When it runs, it produces 3 files:
make.files : a listing of all of the files which will be analyzed further
make.dep : the OBJECTS and INCLUDES definitions, and the
dependency list
make.ref : a new thing, this is basically the inverse of a dependency list.
It lists all .h files, and all files recursively which depend of
them. This has
the potential to be -very- useful.
It takes about 15 seconds to run on the /src directory. It -seems- like
it is
taking longer, but that it because it doesn't output progress info, to
save CPU.
It is actually -much- faster than Perl. This is with the added burden
of make.ref, which is a slow search.
Let me know if you have any major problems with it.
bob