]>
Commit | Line | Data |
---|---|---|
d2dcff5f | 1 | #!/usr/bin/perl -w |
2 | # | |
3 | # fixpaths - substitute makefile variables into text files | |
4 | ||
5 | ||
5f4fdfae | 6 | $usage = "Usage: $0 [-x<file dot-suffix>] [-Dstring=replacement] [[infile] ...]\n"; |
7 | ||
8 | $ext="out"; | |
d2dcff5f | 9 | |
10 | if (!defined(@ARGV)) { die ("$usage"); } | |
11 | ||
12 | # read in the command line and get some definitions | |
13 | while ($_=$ARGV[0], /^-/) { | |
5f4fdfae | 14 | if (/^-[Dx]/) { |
d2dcff5f | 15 | # definition |
16 | shift(@ARGV); | |
17 | if ( /-D(.*)=(.*)/ ) { | |
18 | $def{"$1"}=$2; | |
5f4fdfae | 19 | } elsif ( /-x\s*(\w+)/ ) { |
20 | $ext=$1; | |
d2dcff5f | 21 | } else { |
22 | die ("$usage$0: error in command line arguments.\n"); | |
23 | } | |
24 | } else { | |
e1b37056 | 25 | @cmd = split(//, $ARGV[0]); $opt = $cmd[1]; |
26 | die ("$usage$0: unknown option '-$opt'\n"); | |
d2dcff5f | 27 | } |
28 | } # while parsing arguments | |
29 | ||
30 | if (!defined(%def)) { | |
31 | die ("$0: nothing to do - no substitutions listed!\n"); | |
32 | } | |
33 | ||
34 | for $f (@ARGV) { | |
35 | ||
36 | $f =~ /(.*\/)*(.*)$/; | |
5f4fdfae | 37 | $of = $2.".$ext"; |
d2dcff5f | 38 | |
d2dcff5f | 39 | open(IN, "<$f") || die ("$0: input file $f missing!\n"); |
e506ee73 | 40 | open(OUT, ">$of") || die ("$0: cannot create output file $of: $!\n"); |
41 | while (<IN>) { | |
42 | for $s (keys(%def)) { | |
43 | s#$s#$def{$s}#; | |
44 | } # for $s | |
45 | print OUT; | |
46 | } # while <IN> | |
d2dcff5f | 47 | } # for $f |
48 | ||
49 | exit 0; |