#!/usr/local/bin/perl # -*- perl -*- ($dest, @src) = @ARGV; $f_regist = 0; open(FOUT, '>' . $dest); while ($infile = shift(@src)) { open(FIN, $infile); while () { if (/%EXPORT%/) { $f_regist = 1; next; } elsif (/%INTERNAL%/) { $f_regist = 0; next; } next unless $f_regist; next unless /^([A-Z]\w+)\s*=\s*(.*)$/; $values{$1} = $2; } close(FIN); } foreach $name (keys %values) { $value = $values{$name}; while ($value =~ /\$\(([^\)]+)\)/) { $value = $` . $values{$1} . $'; } if ($value =~ /^[0-9]/) { print FOUT "#define $name $value\n"; } else { print FOUT "#define $name \"$value\"\n"; } } close(FOUT);