| #!/usr/bin/perl -w | 
 | # | 
 | # fixpaths  - substitute makefile variables into text files | 
 |  | 
 |  | 
 | $usage = "Usage: $0 [-Dstring=replacement] [[infile] ...]\n"; | 
 |  | 
 | if (!defined(@ARGV)) { die ("$usage"); } | 
 |  | 
 | # read in the command line and get some definitions | 
 | while ($_=$ARGV[0], /^-/) { | 
 |   if (/^-D/) { | 
 |     # definition | 
 |     shift(@ARGV); | 
 |     if ( /-D(.*)=(.*)/ ) { | 
 |       $def{"$1"}=$2; | 
 |     } else { | 
 |       die ("$usage$0: error in command line arguments.\n"); | 
 |     } | 
 |   } else { | 
 |     @cmd = split(//, $ARGV[0]); $opt = $cmd[1]; | 
 |     die ("$usage$0: unknown option '-$opt'\n"); | 
 |   } | 
 | } # while parsing arguments | 
 |  | 
 | if (!defined(%def)) { | 
 |   die ("$0: nothing to do - no substitutions listed!\n"); | 
 | } | 
 |  | 
 | for $f (@ARGV) { | 
 |  | 
 |   $f =~ /(.*\/)*(.*)$/; | 
 |  | 
 |   open(IN, "<$f")          || die ("$0: input file $f missing!\n"); | 
 |   while (<IN>) { | 
 |     for $s (keys(%def)) { | 
 |       s#$s#$def{$s}#; | 
 |     } # for $s | 
 |     print; | 
 |   } # while <IN> | 
 | } # for $f | 
 |  | 
 | exit 0; |