mkfiles.pl revision 109998
1142215Sglebius#!/usr/local/bin/perl 2142215Sglebius# 3142215Sglebius# This is a hacked version of files.pl for systems that can't do a 'make files'. 4142215Sglebius# Do a perl util/mkminfo.pl >MINFO to build MINFO 5142215Sglebius# Written by Steve Henson 1999. 6142215Sglebius 7142215Sglebius# List of directories to process 8142215Sglebius 9142215Sglebiusmy @dirs = ( 10142215Sglebius".", 11142215Sglebius"crypto", 12142215Sglebius"crypto/md2", 13142215Sglebius"crypto/md4", 14142215Sglebius"crypto/md5", 15142215Sglebius"crypto/sha", 16142215Sglebius"crypto/mdc2", 17142215Sglebius"crypto/hmac", 18142215Sglebius"crypto/ripemd", 19142215Sglebius"crypto/des", 20142215Sglebius"crypto/rc2", 21142215Sglebius"crypto/rc4", 22142215Sglebius"crypto/rc5", 23142215Sglebius"crypto/idea", 24142215Sglebius"crypto/bf", 25142215Sglebius"crypto/cast", 26142215Sglebius"crypto/aes", 27142215Sglebius"crypto/bn", 28142215Sglebius"crypto/rsa", 29142215Sglebius"crypto/dsa", 30142215Sglebius"crypto/dso", 31142215Sglebius"crypto/dh", 32142215Sglebius"crypto/ec", 33142215Sglebius"crypto/buffer", 34142215Sglebius"crypto/bio", 35142215Sglebius"crypto/stack", 36142215Sglebius"crypto/lhash", 37142215Sglebius"crypto/rand", 38142215Sglebius"crypto/err", 39142215Sglebius"crypto/objects", 40142215Sglebius"crypto/evp", 41142215Sglebius"crypto/asn1", 42142215Sglebius"crypto/pem", 43142215Sglebius"crypto/x509", 44142215Sglebius"crypto/x509v3", 45142215Sglebius"crypto/conf", 46142215Sglebius"crypto/txt_db", 47142215Sglebius"crypto/pkcs7", 48142215Sglebius"crypto/pkcs12", 49142215Sglebius"crypto/comp", 50142215Sglebius"crypto/engine", 51142215Sglebius"crypto/ocsp", 52142215Sglebius"crypto/ui", 53142215Sglebius"crypto/krb5", 54142215Sglebius"ssl", 55142215Sglebius"apps", 56142215Sglebius"test", 57142215Sglebius"tools" 58142215Sglebius); 59142215Sglebius 60142215Sglebiusforeach (@dirs) { 61142215Sglebius &files_dir ($_, "Makefile.ssl"); 62142215Sglebius} 63142215Sglebius 64142215Sglebiusexit(0); 65142215Sglebius 66142215Sglebiussub files_dir 67142215Sglebius{ 68142215Sglebiusmy ($dir, $makefile) = @_; 69142215Sglebius 70142215Sglebiusmy %sym; 71142215Sglebius 72142215Sglebiusopen (IN, "$dir/$makefile") || die "Can't open $dir/$makefile"; 73142215Sglebius 74142215Sglebiusmy $s=""; 75142215Sglebius 76142215Sglebiuswhile (<IN>) 77142215Sglebius { 78142215Sglebius chop; 79164808Simp s/#.*//; 80164808Simp if (/^(\S+)\s*=\s*(.*)$/) 81164808Simp { 82164808Simp $o=""; 83142215Sglebius ($s,$b)=($1,$2); 84142215Sglebius for (;;) 85142215Sglebius { 86142215Sglebius if ($b =~ /\\$/) 87142215Sglebius { 88142215Sglebius chop($b); 89142215Sglebius $o.=$b." "; 90142215Sglebius $b=<IN>; 91142215Sglebius chop($b); 92142215Sglebius } 93142215Sglebius else 94142215Sglebius { 95142215Sglebius $o.=$b." "; 96142215Sglebius last; 97142215Sglebius } 98142215Sglebius } 99142215Sglebius $o =~ s/^\s+//; 100142215Sglebius $o =~ s/\s+$//; 101142215Sglebius $o =~ s/\s+/ /g; 102142215Sglebius 103142215Sglebius $o =~ s/\$[({]([^)}]+)[)}]/$sym{$1}/g; 104142215Sglebius $sym{$s}=$o; 105142215Sglebius } 106142215Sglebius } 107142215Sglebius 108142215Sglebiusprint "RELATIVE_DIRECTORY=$dir\n"; 109142215Sglebius 110142215Sglebiusforeach (sort keys %sym) 111142215Sglebius { 112142215Sglebius print "$_=$sym{$_}\n"; 113142215Sglebius } 114142215Sglebiusprint "RELATIVE_DIRECTORY=\n"; 115142215Sglebius 116142215Sglebiusclose (IN); 117142215Sglebius} 118142215Sglebius