Allow variables to be overridden on the command line.
authorBen Laurie <ben@links.org>
Mon, 4 Mar 2013 14:08:23 +0000 (14:08 +0000)
committerBen Laurie <ben@links.org>
Mon, 4 Mar 2013 14:31:18 +0000 (14:31 +0000)
util/files.pl

index 41f033e3b9aa409dba89c65bc9481e6be5d0a8ae..b15407f0c90562bff4b11ad40cb8d610178e0c99 100755 (executable)
@@ -4,6 +4,12 @@
 # It is basically a list of all variables from the passed makefile
 #
 
 # It is basically a list of all variables from the passed makefile
 #
 
+while ($ARGV[0] =~ /^(\S+)\s*=(.*)$/)
+       {
+       $sym{$1} = $2;
+       shift;
+       }
+
 $s="";
 while (<>)
        {
 $s="";
 while (<>)
        {
@@ -33,7 +39,7 @@ while (<>)
                $o =~ s/\s+/ /g;
 
                $o =~ s/\$[({]([^)}]+)[)}]/$sym{$1}/g;
                $o =~ s/\s+/ /g;
 
                $o =~ s/\$[({]([^)}]+)[)}]/$sym{$1}/g;
-               $sym{$s}=$o;
+               $sym{$s}=$o if !exists $sym{$s};
                }
        }
 
                }
        }