And so it begins...
[openssl.git] / util / mkfiles.pl
index 6fa424bd1903e8d0af102ade96f7866e538f4bff..823676c60bf9809e16593833d1b4ceaba140be29 100755 (executable)
@@ -10,6 +10,7 @@ my @dirs = (
 ".",
 "crypto",
 "crypto/md2",
+"crypto/md4",
 "crypto/md5",
 "crypto/sha",
 "crypto/mdc2",
@@ -22,10 +23,17 @@ my @dirs = (
 "crypto/idea",
 "crypto/bf",
 "crypto/cast",
+"crypto/aes",
+"crypto/camellia",
+"crypto/seed",
 "crypto/bn",
 "crypto/rsa",
 "crypto/dsa",
+"crypto/dso",
 "crypto/dh",
+"crypto/ec",
+"crypto/ecdh",
+"crypto/ecdsa",
 "crypto/buffer",
 "crypto/bio",
 "crypto/stack",
@@ -43,15 +51,26 @@ my @dirs = (
 "crypto/pkcs7",
 "crypto/pkcs12",
 "crypto/comp",
+"crypto/engine",
+"crypto/ocsp",
+"crypto/ui",
+"crypto/krb5",
+"crypto/store",
+"crypto/pqueue",
+"crypto/whrlpool",
+"crypto/ts",
 "ssl",
-"rsaref",
 "apps",
+"engines",
+"engines/ccgost",
 "test",
 "tools"
 );
 
+%top;
+
 foreach (@dirs) {
-       &files_dir ($_, "Makefile.ssl");
+       &files_dir ($_, "Makefile");
 }
 
 exit(0);
@@ -93,8 +112,8 @@ while (<IN>)
                $o =~ s/\s+$//;
                $o =~ s/\s+/ /g;
 
-               $o =~ s/\$[({]([^)}]+)[)}]/$sym{$1}/g;
-               $sym{$s}=$o;
+               $o =~ s/\$[({]([^)}]+)[)}]/$top{$1} or $sym{$1}/ge;
+               $sym{$s}=($top{$s} or $o);
                }
        }
 
@@ -104,6 +123,15 @@ foreach (sort keys %sym)
        {
        print "$_=$sym{$_}\n";
        }
+if ($dir eq "." && defined($sym{"BUILDENV"}))
+       {
+       foreach (split(' ',$sym{"BUILDENV"}))
+               {
+               /^(.+)=/;
+               $top{$1}=$sym{$1};
+               }
+       }
+
 print "RELATIVE_DIRECTORY=\n";
 
 close (IN);