-rwxr-xr-x | scripts/makecfg.pl | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/scripts/makecfg.pl b/scripts/makecfg.pl index 20c23f5..5dd66a4 100755 --- a/scripts/makecfg.pl +++ b/scripts/makecfg.pl @@ -5,18 +5,22 @@ if 0; #$running_under_some_shell use strict; use File::Find; my $packages=""; open(FILE, "<./packages"); while(<FILE>){$packages.=$_;} close(FILE); -my ($dirname,$dir,$cfg,$filename,$tagname,$name,$caps,$pre,$post,$sources,@dupecheck); -$cfg = shift || die; +my ($dirname,$dir,$file,@files,$filename,$tagname,$name,$caps,$pre,$post,$sources,@dupecheck); +$file = shift || die; +push(@files, $file); + +foreach(@files){ +my $cfg=$_; ($dirname=$cfg)=~s,(.*)/(.*),$1,; ($filename=$cfg)=~s,(.*/)(.*),$2,; ($tagname=$dirname)=~s,.*/,,; ($caps=$tagname)=~tr/[a-z]/[A-Z]/; #print "cfg is $cfg\n"; #print "dir is $dirname\n"; #print "filename is $filename\n"; sub wanted; @@ -40,17 +44,17 @@ if(-e "$dirname/config.in.in"){ open(CFG, ">$cfg") || die "Unable to open $cfg for writing\n"; select(CFG); print $pre; @dupecheck=(); File::Find::find({wanted => \&wanted}, $dirname); print $post; select(STDOUT); close(CFG); - +} exit; open(FILE,">$dir/config.in"); select(FILE); print "menu \"$name\"\n"; print "\n"; my @subdirs=(); my @dirs; @@ -77,17 +81,17 @@ foreach(grep(/^$dir/, @dirs)){ } use vars qw/*name *dir *prune/; *name = *File::Find::name; *dir = *File::Find::dir; *prune = *File::Find::prune; sub wanted { - if( /config.in/s ) { + if( /config.in$/s ) { if(grep(/^$File::Find::dir\/config.in$/, @dupecheck)){ return; } my $nslashes = $File::Find::dir =~ tr!/!!; my $dirnslashes = $dirname =~ tr!/!!; $dirnslashes++; # print STDERR "dirnslashes is $dirnslashes\n"; # print STDERR "nslashes is $nslashes\n"; |