1998-12-21 18:52:47 +08:00
|
|
|
#!/usr/local/bin/perl
|
|
|
|
#
|
|
|
|
# used to generate the file MINFO for use by util/mk1mf.pl
|
|
|
|
# It is basically a list of all variables from the passed makefile
|
|
|
|
#
|
|
|
|
|
2014-06-24 12:39:33 +08:00
|
|
|
while ($ARGV[0] =~ /^([^\s=]+)\s*=\s*(.*)$/)
|
2013-03-04 22:08:23 +08:00
|
|
|
{
|
|
|
|
$sym{$1} = $2;
|
|
|
|
shift;
|
|
|
|
}
|
|
|
|
|
1998-12-21 18:52:47 +08:00
|
|
|
$s="";
|
|
|
|
while (<>)
|
|
|
|
{
|
|
|
|
chop;
|
|
|
|
s/#.*//;
|
2014-06-24 12:39:33 +08:00
|
|
|
if (/^([^\s=]+)\s*=\s*(.*)$/)
|
1998-12-21 18:52:47 +08:00
|
|
|
{
|
|
|
|
$o="";
|
|
|
|
($s,$b)=($1,$2);
|
|
|
|
for (;;)
|
|
|
|
{
|
|
|
|
if ($b =~ /\\$/)
|
|
|
|
{
|
|
|
|
chop($b);
|
|
|
|
$o.=$b." ";
|
|
|
|
$b=<>;
|
|
|
|
chop($b);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
$o.=$b." ";
|
|
|
|
last;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$o =~ s/^\s+//;
|
|
|
|
$o =~ s/\s+$//;
|
|
|
|
$o =~ s/\s+/ /g;
|
|
|
|
|
|
|
|
$o =~ s/\$[({]([^)}]+)[)}]/$sym{$1}/g;
|
2013-03-04 22:08:23 +08:00
|
|
|
$sym{$s}=$o if !exists $sym{$s};
|
1998-12-21 18:52:47 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
$pwd=`pwd`; chop($pwd);
|
|
|
|
|
|
|
|
if ($sym{'TOP'} eq ".")
|
|
|
|
{
|
|
|
|
$n=0;
|
|
|
|
$dir=".";
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
$n=split(/\//,$sym{'TOP'});
|
|
|
|
@_=split(/\//,$pwd);
|
|
|
|
$z=$#_-$n+1;
|
|
|
|
foreach $i ($z .. $#_) { $dir.=$_[$i]."/"; }
|
|
|
|
chop($dir);
|
|
|
|
}
|
|
|
|
|
|
|
|
print "RELATIVE_DIRECTORY=$dir\n";
|
|
|
|
|
|
|
|
foreach (sort keys %sym)
|
|
|
|
{
|
|
|
|
print "$_=$sym{$_}\n";
|
|
|
|
}
|
|
|
|
print "RELATIVE_DIRECTORY=\n";
|