#!/usr/local/bin/perl # # This is a hacked version of files.pl for systems that can't do a 'make files'. # Do a perl util/mkminfo.pl >MINFO to build MINFO # Written by Steve Henson 1999. # List of directories to process my @dirs = ( ".", "crypto", "crypto/md2", "crypto/md4", "crypto/md5", "crypto/sha", "crypto/mdc2", "crypto/hmac", "crypto/ripemd", "crypto/des", "crypto/rc2", "crypto/rc4", "crypto/rc5", "crypto/idea", "crypto/bf", "crypto/cast", "crypto/aes", "crypto/bn", "crypto/rsa", "crypto/dsa", "crypto/dso", "crypto/dh", "crypto/ec", "crypto/buffer", "crypto/bio", "crypto/stack", "crypto/lhash", "crypto/rand", "crypto/err", "crypto/objects", "crypto/evp", "crypto/asn1", "crypto/pem", "crypto/x509", "crypto/x509v3", "crypto/conf", "crypto/txt_db", "crypto/pkcs7", "crypto/pkcs12", "crypto/comp", "crypto/engine", "crypto/ocsp", "crypto/ui", "crypto/krb5", "fips", "fips/aes", "fips/dh", "fips/des", "fips/dsa", "fips/dh", "fips/rand", "fips/rsa", "fips/sha1", "ssl", "apps", "test", "tools" ); foreach (@dirs) { &files_dir ($_, "Makefile"); } exit(0); sub files_dir { my ($dir, $makefile) = @_; my %sym; open (IN, "$dir/$makefile") || die "Can't open $dir/$makefile"; my $s=""; while () { chop; s/#.*//; if (/^(\S+)\s*=\s*(.*)$/) { $o=""; ($s,$b)=($1,$2); for (;;) { if ($b =~ /\\$/) { chop($b); $o.=$b." "; $b=; chop($b); } else { $o.=$b." "; last; } } $o =~ s/^\s+//; $o =~ s/\s+$//; $o =~ s/\s+/ /g; $o =~ s/\$[({]([^)}]+)[)}]/$sym{$1}/g; $sym{$s}=$o; } } print "RELATIVE_DIRECTORY=$dir\n"; foreach (sort keys %sym) { print "$_=$sym{$_}\n"; } print "RELATIVE_DIRECTORY=\n"; close (IN); }