diff options
Diffstat (limited to 'fixpaths')
-rwxr-xr-x | fixpaths | 12 |
1 files changed, 3 insertions, 9 deletions
@@ -3,21 +3,17 @@ | |||
3 | # fixpaths - substitute makefile variables into text files | 3 | # fixpaths - substitute makefile variables into text files |
4 | 4 | ||
5 | 5 | ||
6 | $usage = "Usage: $0 [-x<file dot-suffix>] [-Dstring=replacement] [[infile] ...]\n"; | 6 | $usage = "Usage: $0 [-Dstring=replacement] [[infile] ...]\n"; |
7 | |||
8 | $ext="out"; | ||
9 | 7 | ||
10 | if (!defined(@ARGV)) { die ("$usage"); } | 8 | if (!defined(@ARGV)) { die ("$usage"); } |
11 | 9 | ||
12 | # read in the command line and get some definitions | 10 | # read in the command line and get some definitions |
13 | while ($_=$ARGV[0], /^-/) { | 11 | while ($_=$ARGV[0], /^-/) { |
14 | if (/^-[Dx]/) { | 12 | if (/^-D/) { |
15 | # definition | 13 | # definition |
16 | shift(@ARGV); | 14 | shift(@ARGV); |
17 | if ( /-D(.*)=(.*)/ ) { | 15 | if ( /-D(.*)=(.*)/ ) { |
18 | $def{"$1"}=$2; | 16 | $def{"$1"}=$2; |
19 | } elsif ( /-x\s*(\w+)/ ) { | ||
20 | $ext=$1; | ||
21 | } else { | 17 | } else { |
22 | die ("$usage$0: error in command line arguments.\n"); | 18 | die ("$usage$0: error in command line arguments.\n"); |
23 | } | 19 | } |
@@ -34,15 +30,13 @@ if (!defined(%def)) { | |||
34 | for $f (@ARGV) { | 30 | for $f (@ARGV) { |
35 | 31 | ||
36 | $f =~ /(.*\/)*(.*)$/; | 32 | $f =~ /(.*\/)*(.*)$/; |
37 | $of = $2.".$ext"; | ||
38 | 33 | ||
39 | open(IN, "<$f") || die ("$0: input file $f missing!\n"); | 34 | open(IN, "<$f") || die ("$0: input file $f missing!\n"); |
40 | open(OUT, ">$of") || die ("$0: cannot create output file $of: $!\n"); | ||
41 | while (<IN>) { | 35 | while (<IN>) { |
42 | for $s (keys(%def)) { | 36 | for $s (keys(%def)) { |
43 | s#$s#$def{$s}#; | 37 | s#$s#$def{$s}#; |
44 | } # for $s | 38 | } # for $s |
45 | print OUT; | 39 | print; |
46 | } # while <IN> | 40 | } # while <IN> |
47 | } # for $f | 41 | } # for $f |
48 | 42 | ||