# 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");
+ @cmd = split(//, $ARGV[0]); $opt = $cmd[1];
+ die ("$usage$0: unknown option '-$opt'\n");
}
} # while parsing arguments
for $f (@ARGV) {
$f =~ /(.*\/)*(.*)$/;
- $of = $2; $of =~ s/.in$//;
-
- print("Making substitutions for $of\n");
+ $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}#;
- } # for $s
- print OUT;
- } # while <IN>
- } # if (outfile open)
+ open(OUT, ">$of") || die ("$0: cannot create output file $of: $!\n");
+ while (<IN>) {
+ for $s (keys(%def)) {
+ s#$s#$def{$s}#;
+ } # for $s
+ print OUT;
+ } # while <IN>
} # for $f
exit 0;