]>
Commit | Line | Data |
---|---|---|
8039257d BL |
1 | #!/usr/local/bin/perl -w |
2 | # Clean the dependency list in a makefile of standard includes... | |
3 | # Written by Ben Laurie <ben@algroup.co.uk> 19 Jan 1999 | |
4 | ||
5 | use strict; | |
6 | ||
7 | while(<STDIN>) { | |
8 | print; | |
9 | last if /^# DO NOT DELETE THIS LINE/; | |
10 | } | |
11 | ||
12 | my %files; | |
13 | ||
87b79c3e | 14 | my $thisfile=""; |
8039257d | 15 | while(<STDIN>) { |
87b79c3e | 16 | my ($dummy, $file,$deps)=/^((.*):)? (.*)$/; |
6da980e2 | 17 | my $origfile=""; |
87b79c3e | 18 | $thisfile=$file if defined $file; |
8039257d | 19 | next if !defined $deps; |
6da980e2 RL |
20 | $origfile=$thisfile; |
21 | $origfile=~s/\.o$/.c/; | |
8039257d | 22 | my @deps=split ' ',$deps; |
3b4cfea6 | 23 | @deps=grep(!/^\//,@deps); |
87b79c3e | 24 | @deps=grep(!/^\\$/,@deps); |
6da980e2 | 25 | @deps=grep(!/^$origfile$/,@deps); |
75e98d05 BL |
26 | # pull out the kludged kerberos header (if present). |
27 | @deps=grep(!/^[.\/]+\/krb5.h/,@deps); | |
87b79c3e | 28 | push @{$files{$thisfile}},@deps; |
8039257d BL |
29 | } |
30 | ||
637691e6 RE |
31 | my $file; |
32 | foreach $file (sort keys %files) { | |
6f935399 | 33 | my $len=0; |
637691e6 | 34 | my $dep; |
6da980e2 RL |
35 | my $origfile=$file; |
36 | $origfile=~s/\.o$/.c/; | |
3009e9f9 | 37 | $file=~s/^\.\///; |
6da980e2 | 38 | push @{$files{$file}},$origfile; |
cb40bdaf | 39 | my $prevdep=""; |
637691e6 | 40 | foreach $dep (sort @{$files{$file}}) { |
3009e9f9 | 41 | $dep=~s/^\.\///; |
cb40bdaf RL |
42 | next if $prevdep eq $dep; # to exterminate duplicates... |
43 | $prevdep = $dep; | |
8039257d BL |
44 | $len=0 if $len+length($dep)+1 >= 80; |
45 | if($len == 0) { | |
46 | print "\n$file:"; | |
47 | $len=length($file)+1; | |
48 | } | |
49 | print " $dep"; | |
50 | $len+=length($dep)+1; | |
51 | } | |
52 | } | |
53 | ||
54 | print "\n"; |