1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
|
use strict;
my @dirs =
(
"3dsparse",
"actions",
"common",
"coms",
"dialogs",
"engine",
"GLEXT",
"GLW",
"ode",
"landscape",
"client",
"server",
"tankgraph",
"sprites",
"tank",
"weapons"
);
my @stdinc =
(
"..\\include\\SDL",
"F:\\Microsoft Visual Studio .NET\\Vc7\\include",
"F:\\Microsoft Visual Studio .NET\\Vc7\\PlatformSDK\\Include"
);
my $dir;
my %allheaderfiles = ();
foreach $dir (@dirs)
{
opendir(IN, "..\\src\\$dir") || die "ERROR: DIR \"$dir\"";
my @headerfiles = grep { /\.h/ } readdir(IN);
closedir(IN);
my $file;
foreach $file (@headerfiles)
{
#print "$dir/$file\n";
$allheaderfiles{"$dir/$file"} = 1;
}
}
foreach $dir (@stdinc)
{
opendir(IN, "$dir") || die "ERROR: DIR \"$dir\"";
my @headerfiles = readdir(IN);
closedir(IN);
my $file;
foreach $file (@headerfiles)
{
$file = lc($file);
#print "$file\n";
$allheaderfiles{"$file"} = 1;
}
}
print "Not found headers......\n";
print "-----------------------\n";
foreach $dir (@dirs)
{
opendir(IN, "..\\src\\$dir") || die "ERROR: DIR \"$dir\"";
my @files = grep { /\.h/ || /\.cpp/ } readdir(IN);
closedir(IN);
my $file;
foreach $file (@files)
{
open (INFILE, "..\\src\\$dir\\$file") || die "ERROR: File \"..\\src\\$dir/$file\"";
my @filelines = <INFILE>;
close (INFILE);
for my $line (@filelines)
{
if ($line =~ /\#include\s+\<([^\>]+)\>/)
{
if (!exists $allheaderfiles{$1})
{
print "$dir/$file -> \"$1\"\n";
}
}
}
}
}
|