mkfiles.pl revision 194206
1#!/usr/local/bin/perl 2# 3# This is a hacked version of files.pl for systems that can't do a 'make files'. 4# Do a perl util/mkminfo.pl >MINFO to build MINFO 5# Written by Steve Henson 1999. 6 7# List of directories to process 8 9my @dirs = ( 10".", 11"crypto", 12"crypto/md2", 13"crypto/md4", 14"crypto/md5", 15"crypto/sha", 16"crypto/mdc2", 17"crypto/hmac", 18"crypto/ripemd", 19"crypto/des", 20"crypto/rc2", 21"crypto/rc4", 22"crypto/rc5", 23"crypto/idea", 24"crypto/bf", 25"crypto/cast", 26"crypto/aes", 27"crypto/camellia", 28"crypto/seed", 29"crypto/bn", 30"crypto/rsa", 31"crypto/dsa", 32"crypto/dso", 33"crypto/dh", 34"crypto/ec", 35"crypto/ecdh", 36"crypto/ecdsa", 37"crypto/buffer", 38"crypto/bio", 39"crypto/stack", 40"crypto/lhash", 41"crypto/rand", 42"crypto/err", 43"crypto/objects", 44"crypto/evp", 45"crypto/asn1", 46"crypto/pem", 47"crypto/x509", 48"crypto/x509v3", 49"crypto/conf", 50"crypto/jpake", 51"crypto/txt_db", 52"crypto/pkcs7", 53"crypto/pkcs12", 54"crypto/comp", 55"crypto/engine", 56"crypto/ocsp", 57"crypto/ui", 58"crypto/krb5", 59"crypto/store", 60"crypto/pqueue", 61"crypto/cms", 62"fips", 63"fips/aes", 64"fips/des", 65"fips/dsa", 66"fips/dh", 67"fips/hmac", 68"fips/rand", 69"fips/rsa", 70"fips/sha", 71"ssl", 72"apps", 73"engines", 74"test", 75"tools" 76); 77 78foreach (@dirs) { 79 &files_dir ($_, "Makefile"); 80} 81 82exit(0); 83 84sub files_dir 85{ 86my ($dir, $makefile) = @_; 87 88my %sym; 89 90open (IN, "$dir/$makefile") || die "Can't open $dir/$makefile"; 91 92my $s=""; 93 94while (<IN>) 95 { 96 chop; 97 s/#.*//; 98 if (/^(\S+)\s*=\s*(.*)$/) 99 { 100 $o=""; 101 ($s,$b)=($1,$2); 102 for (;;) 103 { 104 if ($b =~ /\\$/) 105 { 106 chop($b); 107 $o.=$b." "; 108 $b=<IN>; 109 chop($b); 110 } 111 else 112 { 113 $o.=$b." "; 114 last; 115 } 116 } 117 $o =~ s/^\s+//; 118 $o =~ s/\s+$//; 119 $o =~ s/\s+/ /g; 120 121 $o =~ s/\$[({]([^)}]+)[)}]/$sym{$1}/g; 122 $sym{$s}=$o; 123 } 124 } 125 126print "RELATIVE_DIRECTORY=$dir\n"; 127 128foreach (sort keys %sym) 129 { 130 print "$_=$sym{$_}\n"; 131 } 132print "RELATIVE_DIRECTORY=\n"; 133 134close (IN); 135} 136