BuildDependencies

Graphing file dependencies using cinclude2dot.

Note: using my hacked cinclude2dot, which colors headers differently and doesn't recurse.

cinclude2dot --quotetypes quote *.cc *.h > source.dot
dot -Tps source.dot > source.ps

Before

Attach:depend-dot.ps

After

It may not look like much. I bet there are actually more edges in this graph than in the first one. That's because many recursive dependencies have been replaced by direct dependencies. You can see that Graphviz has chosen to arrange the files in six tiers rather than ten.

Attach:depend-dot-after.ps

Here's a summary of changes in dependencies. They were created with the dep-compare.py script in the /nmap-exp/david/nmap-dependency branch.

FingerPrintResults.o   43   14   +0  -29                                        
MACLookup.o            42   10   +0  -32                                        
NmapOps.o              42   14   +0  -28                                        
NmapOutputTable.o      42   10   +0  -32                                        
Target.o               43   33   +0  -10                                        
TargetGroup.o          42   14   +0  -28                                        
charpool.o             41    7   +0  -34                                        
idle_scan.o            45   36   +0   -9                                        
main.o                 45   14   +0  -31                                        
nmap.o                 50   49   +0   -1                                        
nmap_dns.o             45   37   +0   -8                                        
nmap_error.o           42   13   +0  -29                                        
nmap_rpc.o             42   36   +0   -6                                        
nmap_tty.o             43   13   +0  -30                                        
nse_auxiliar.o         42    8   +0  -34                                        
nse_bitlib.o            2    2   +0   +0                                        
nse_debug.o             2    2   +0   +0                                        
nse_init.o             48   19   +0  -29
nse_main.o             50   40   +0  -10
nse_nmaplib.o          47   38   +0   -9
nse_nsock.o            48   18   +0  -30
nse_pcrelib.o           8    8   +0   +0
nse_string.o            6    6   +0   +0
osscan.o               44   37   +0   -7
osscan2.o              44   36   +0   -8
output.o               45   38   +0   -7
portlist.o             42   32   +0  -10
protocols.o            42   17   +0  -25
reason.o               42   31   +0  -11
scan_engine.o          44   37   +0   -7
service_scan.o         44   38   +0   -6
services.o             42   16   +0  -26
targets.o              46   39   +0   -7
tcpip.o                42   33   +0   -9
timing.o               42   15   +0  -27
traceroute.o           48   40   +0   -8
utils.o                42   14   +0  -28
                     1469  864   +0 -605

FingerPrintResults.h                    +0  -16
Target.h                                +0  -17
TargetGroup.h                           +0  -30
charpool.h                              +0  -26
global_structures.h                     +0   -1
idle_scan.h                             +0   -1
libdnet-stripped/include/dnet.h         +0  -16
libdnet-stripped/include/dnet/addr.h    +0  -16
libdnet-stripped/include/dnet/arp.h     +0  -16
libdnet-stripped/include/dnet/blob.h    +0  -16
libdnet-stripped/include/dnet/eth.h     +0  -16
libdnet-stripped/include/dnet/fw.h      +0  -16
libdnet-stripped/include/dnet/icmp.h    +0  -16
libdnet-stripped/include/dnet/intf.h    +0  -16
libdnet-stripped/include/dnet/ip.h      +0  -16
libdnet-stripped/include/dnet/ip6.h     +0  -16
libdnet-stripped/include/dnet/os.h      +0  -16
libdnet-stripped/include/dnet/rand.h    +0  -16                                 
libdnet-stripped/include/dnet/route.h   +0  -16                                 
libdnet-stripped/include/dnet/tcp.h     +0  -16                                 
libdnet-stripped/include/dnet/tun.h     +0  -16                                 
libdnet-stripped/include/dnet/udp.h     +0  -16                                 
libpcre/pcre.h                          +0  -31                                 
nmap.h                                  +0   -1                                 
nmap_error.h                            +0   -4                                 
nmap_rpc.h                              +0  -28                                 
nse_main.h                              +0   -4                                 
osscan.h                                +0   -6                                 
output.h                                +0   -4                                 
portlist.h                              +0   -4                                 
protocols.h                             +0  -29                                 
reason.h                                +0   -4                                 
scan_engine.h                           +0   -2                                 
service_scan.h                          +0  -31                                 
services.h                              +0  -29                                 
targets.h                               +0  -31                                 
tcpip.h                                 +0  -16                                 
timing.h                                +0  -21                                 
utils.h                                 +0  -13                                 
Page last modified on August 16, 2009, at 08:34 PM