12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- #!/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
- #
- while ($ARGV[0] =~ /^(\S+)\s*=(.*)$/)
- {
- $sym{$1} = $2;
- shift;
- }
- $s="";
- while (<>)
- {
- chop;
- s/#.*//;
- if (/^(\S+)\s*=\s*(.*)$/)
- {
- $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;
- $sym{$s}=$o if !exists $sym{$s};
- }
- }
- $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";
|