diff options
Diffstat (limited to 'fixpaths')
-rwxr-xr-x | fixpaths | 14 |
1 files changed, 9 insertions, 5 deletions
@@ -3,22 +3,26 @@ # fixpaths - substitute makefile variables into text files -$usage = "Usage: $0 [-D<variable>=<value>] [[infile] ...]\n"; +$usage = "Usage: $0 [-x<file dot-suffix>] [-Dstring=replacement] [[infile] ...]\n"; + +$ext="out"; if (!defined(@ARGV)) { die ("$usage"); } # read in the command line and get some definitions while ($_=$ARGV[0], /^-/) { - if (/^-D/) { + if (/^-[Dx]/) { # definition shift(@ARGV); if ( /-D(.*)=(.*)/ ) { $def{"$1"}=$2; + } elsif ( /-x\s*(\w+)/ ) { + $ext=$1; } else { die ("$usage$0: error in command line arguments.\n"); } } else { - &usage; die ("$usage$0: unknown option '-".$ARGV[0][1]."'\n"); + die ("$usage$0: unknown option '-".$ARGV[0][1]."'\n"); } } # while parsing arguments @@ -29,13 +33,13 @@ if (!defined(%def)) { for $f (@ARGV) { $f =~ /(.*\/)*(.*)$/; - $of = $2; $of =~ s/.in$//; + $of = $2.".$ext"; open(IN, "<$f") || die ("$0: input file $f missing!\n"); if (open(OUT, ">$of")) { while (<IN>) { for $s (keys(%def)) { - s#\@$s\@#$def{$s}#; + s#$s#$def{$s}#; } # for $s print OUT; } # while <IN> |