#!/usr/local/bin/perl
# -*- perl -*-

($dest, @src) = @ARGV;

$f_regist = 0;

open(FOUT, '>' . $dest);
while ($infile = shift(@src)) {
    open(FIN, $infile);
    while (<FIN>) {
	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);
