155714Skris#!/usr/local/bin/perl 255714Skris# 355714Skris# used to generate the file MINFO for use by util/mk1mf.pl 455714Skris# It is basically a list of all variables from the passed makefile 555714Skris# 655714Skris 755714Skris$s=""; 855714Skriswhile (<>) 955714Skris { 1055714Skris chop; 1155714Skris s/#.*//; 1255714Skris if (/^(\S+)\s*=\s*(.*)$/) 1355714Skris { 1455714Skris $o=""; 1555714Skris ($s,$b)=($1,$2); 1655714Skris for (;;) 1755714Skris { 1855714Skris if ($b =~ /\\$/) 1955714Skris { 2055714Skris chop($b); 2155714Skris $o.=$b." "; 2255714Skris $b=<>; 2355714Skris chop($b); 2455714Skris } 2555714Skris else 2655714Skris { 2755714Skris $o.=$b." "; 2855714Skris last; 2955714Skris } 3055714Skris } 3155714Skris $o =~ s/^\s+//; 3255714Skris $o =~ s/\s+$//; 3355714Skris $o =~ s/\s+/ /g; 3455714Skris 3555714Skris $o =~ s/\$[({]([^)}]+)[)}]/$sym{$1}/g; 3655714Skris $sym{$s}=$o; 3755714Skris } 3855714Skris } 3955714Skris 4055714Skris$pwd=`pwd`; chop($pwd); 4155714Skris 4255714Skrisif ($sym{'TOP'} eq ".") 4355714Skris { 4455714Skris $n=0; 4555714Skris $dir="."; 4655714Skris } 4755714Skriselse { 4855714Skris $n=split(/\//,$sym{'TOP'}); 4955714Skris @_=split(/\//,$pwd); 5055714Skris $z=$#_-$n+1; 5155714Skris foreach $i ($z .. $#_) { $dir.=$_[$i]."/"; } 5255714Skris chop($dir); 5355714Skris } 5455714Skris 5555714Skrisprint "RELATIVE_DIRECTORY=$dir\n"; 5655714Skris 5755714Skrisforeach (sort keys %sym) 5855714Skris { 5955714Skris print "$_=$sym{$_}\n"; 6055714Skris } 6155714Skrisprint "RELATIVE_DIRECTORY=\n"; 62