mkfiles.pl revision 142425
1300313Ssjg#!/usr/local/bin/perl 2246149Ssjg# 3246149Ssjg# This is a hacked version of files.pl for systems that can't do a 'make files'. 4246149Ssjg# Do a perl util/mkminfo.pl >MINFO to build MINFO 5246149Ssjg# Written by Steve Henson 1999. 6246149Ssjg 7246149Ssjg# List of directories to process 8246149Ssjg 9246149Ssjgmy @dirs = ( 10246149Ssjg".", 11246149Ssjg"crypto", 12246149Ssjg"crypto/md2", 13246149Ssjg"crypto/md4", 14246149Ssjg"crypto/md5", 15300313Ssjg"crypto/sha", 16246149Ssjg"crypto/mdc2", 17246149Ssjg"crypto/hmac", 18246149Ssjg"crypto/ripemd", 19246149Ssjg"crypto/des", 20246149Ssjg"crypto/rc2", 21246149Ssjg"crypto/rc4", 22246149Ssjg"crypto/rc5", 23246149Ssjg"crypto/idea", 24246149Ssjg"crypto/bf", 25246149Ssjg"crypto/cast", 26246149Ssjg"crypto/aes", 27246149Ssjg"crypto/bn", 28246149Ssjg"crypto/rsa", 29246149Ssjg"crypto/dsa", 30246149Ssjg"crypto/dso", 31246149Ssjg"crypto/dh", 32246149Ssjg"crypto/ec", 33246149Ssjg"crypto/buffer", 34246149Ssjg"crypto/bio", 35246149Ssjg"crypto/stack", 36246149Ssjg"crypto/lhash", 37246149Ssjg"crypto/rand", 38246149Ssjg"crypto/err", 39246149Ssjg"crypto/objects", 40246149Ssjg"crypto/evp", 41246149Ssjg"crypto/asn1", 42246149Ssjg"crypto/pem", 43246149Ssjg"crypto/x509", 44246149Ssjg"crypto/x509v3", 45246149Ssjg"crypto/conf", 46246149Ssjg"crypto/txt_db", 47246149Ssjg"crypto/pkcs7", 48246149Ssjg"crypto/pkcs12", 49246149Ssjg"crypto/comp", 50246149Ssjg"crypto/engine", 51246149Ssjg"crypto/ocsp", 52246149Ssjg"crypto/ui", 53246149Ssjg"crypto/krb5", 54246149Ssjg"fips", 55246149Ssjg"fips/aes", 56246149Ssjg"fips/des", 57246149Ssjg"fips/dsa", 58246149Ssjg"fips/rand", 59246149Ssjg"fips/rsa", 60246149Ssjg"fips/sha1", 61246149Ssjg"ssl", 62246149Ssjg"apps", 63246149Ssjg"test", 64246149Ssjg"tools" 65246149Ssjg); 66246149Ssjg 67246149Ssjgforeach (@dirs) { 68246149Ssjg &files_dir ($_, "Makefile"); 69246149Ssjg} 70246149Ssjg 71246149Ssjgexit(0); 72246149Ssjg 73246149Ssjgsub files_dir 74246149Ssjg{ 75246149Ssjgmy ($dir, $makefile) = @_; 76246149Ssjg 77246149Ssjgmy %sym; 78246149Ssjg 79246149Ssjgopen (IN, "$dir/$makefile") || die "Can't open $dir/$makefile"; 80246149Ssjg 81246149Ssjgmy $s=""; 82246149Ssjg 83246149Ssjgwhile (<IN>) 84246149Ssjg { 85246149Ssjg chop; 86246149Ssjg s/#.*//; 87246149Ssjg if (/^(\S+)\s*=\s*(.*)$/) 88246149Ssjg { 89246149Ssjg $o=""; 90246149Ssjg ($s,$b)=($1,$2); 91246149Ssjg for (;;) 92246149Ssjg { 93246149Ssjg if ($b =~ /\\$/) 94246149Ssjg { 95246149Ssjg chop($b); 96246149Ssjg $o.=$b." "; 97246149Ssjg $b=<IN>; 98246149Ssjg chop($b); 99246149Ssjg } 100246149Ssjg else 101246149Ssjg { 102246149Ssjg $o.=$b." "; 103246149Ssjg last; 104246149Ssjg } 105246149Ssjg } 106246149Ssjg $o =~ s/^\s+//; 107246149Ssjg $o =~ s/\s+$//; 108246149Ssjg $o =~ s/\s+/ /g; 109246149Ssjg 110246149Ssjg $o =~ s/\$[({]([^)}]+)[)}]/$sym{$1}/g; 111246149Ssjg $sym{$s}=$o; 112246149Ssjg } 113246149Ssjg } 114246149Ssjg 115246149Ssjgprint "RELATIVE_DIRECTORY=$dir\n"; 116246149Ssjg 117246149Ssjgforeach (sort keys %sym) 118246149Ssjg { 119246149Ssjg print "$_=$sym{$_}\n"; 120246149Ssjg } 121246149Ssjgprint "RELATIVE_DIRECTORY=\n"; 122246149Ssjg 123246149Ssjgclose (IN); 124246149Ssjg} 125246149Ssjg