mkfiles.pl revision 194206
155714Skris#!/usr/local/bin/perl 255714Skris# 355714Skris# This is a hacked version of files.pl for systems that can't do a 'make files'. 455714Skris# Do a perl util/mkminfo.pl >MINFO to build MINFO 555714Skris# Written by Steve Henson 1999. 655714Skris 755714Skris# List of directories to process 855714Skris 955714Skrismy @dirs = ( 1055714Skris".", 1155714Skris"crypto", 1255714Skris"crypto/md2", 1368651Skris"crypto/md4", 1455714Skris"crypto/md5", 1555714Skris"crypto/sha", 1655714Skris"crypto/mdc2", 1755714Skris"crypto/hmac", 1855714Skris"crypto/ripemd", 1955714Skris"crypto/des", 2055714Skris"crypto/rc2", 2155714Skris"crypto/rc4", 2255714Skris"crypto/rc5", 2355714Skris"crypto/idea", 2455714Skris"crypto/bf", 2555714Skris"crypto/cast", 26109998Smarkm"crypto/aes", 27162911Ssimon"crypto/camellia", 28194206Ssimon"crypto/seed", 2955714Skris"crypto/bn", 3055714Skris"crypto/rsa", 3155714Skris"crypto/dsa", 3268651Skris"crypto/dso", 3355714Skris"crypto/dh", 34109998Smarkm"crypto/ec", 35160814Ssimon"crypto/ecdh", 36160814Ssimon"crypto/ecdsa", 3755714Skris"crypto/buffer", 3855714Skris"crypto/bio", 3955714Skris"crypto/stack", 4055714Skris"crypto/lhash", 4155714Skris"crypto/rand", 4255714Skris"crypto/err", 4355714Skris"crypto/objects", 4455714Skris"crypto/evp", 4555714Skris"crypto/asn1", 4655714Skris"crypto/pem", 4755714Skris"crypto/x509", 4855714Skris"crypto/x509v3", 4955714Skris"crypto/conf", 50194206Ssimon"crypto/jpake", 5155714Skris"crypto/txt_db", 5255714Skris"crypto/pkcs7", 5355714Skris"crypto/pkcs12", 5455714Skris"crypto/comp", 55109998Smarkm"crypto/engine", 56109998Smarkm"crypto/ocsp", 57109998Smarkm"crypto/ui", 58109998Smarkm"crypto/krb5", 59160814Ssimon"crypto/store", 60160814Ssimon"crypto/pqueue", 61194206Ssimon"crypto/cms", 62194206Ssimon"fips", 63194206Ssimon"fips/aes", 64194206Ssimon"fips/des", 65194206Ssimon"fips/dsa", 66194206Ssimon"fips/dh", 67194206Ssimon"fips/hmac", 68194206Ssimon"fips/rand", 69194206Ssimon"fips/rsa", 70194206Ssimon"fips/sha", 7155714Skris"ssl", 7255714Skris"apps", 73160814Ssimon"engines", 7455714Skris"test", 7555714Skris"tools" 7655714Skris); 7755714Skris 7855714Skrisforeach (@dirs) { 79142425Snectar &files_dir ($_, "Makefile"); 8055714Skris} 8155714Skris 8255714Skrisexit(0); 8355714Skris 8455714Skrissub files_dir 8555714Skris{ 8655714Skrismy ($dir, $makefile) = @_; 8755714Skris 8855714Skrismy %sym; 8955714Skris 9055714Skrisopen (IN, "$dir/$makefile") || die "Can't open $dir/$makefile"; 9155714Skris 9255714Skrismy $s=""; 9355714Skris 9455714Skriswhile (<IN>) 9555714Skris { 9655714Skris chop; 9755714Skris s/#.*//; 9855714Skris if (/^(\S+)\s*=\s*(.*)$/) 9955714Skris { 10055714Skris $o=""; 10155714Skris ($s,$b)=($1,$2); 10255714Skris for (;;) 10355714Skris { 10455714Skris if ($b =~ /\\$/) 10555714Skris { 10655714Skris chop($b); 10755714Skris $o.=$b." "; 10855714Skris $b=<IN>; 10955714Skris chop($b); 11055714Skris } 11155714Skris else 11255714Skris { 11355714Skris $o.=$b." "; 11455714Skris last; 11555714Skris } 11655714Skris } 11755714Skris $o =~ s/^\s+//; 11855714Skris $o =~ s/\s+$//; 11955714Skris $o =~ s/\s+/ /g; 12055714Skris 12155714Skris $o =~ s/\$[({]([^)}]+)[)}]/$sym{$1}/g; 12255714Skris $sym{$s}=$o; 12355714Skris } 12455714Skris } 12555714Skris 12655714Skrisprint "RELATIVE_DIRECTORY=$dir\n"; 12755714Skris 12855714Skrisforeach (sort keys %sym) 12955714Skris { 13055714Skris print "$_=$sym{$_}\n"; 13155714Skris } 13255714Skrisprint "RELATIVE_DIRECTORY=\n"; 13355714Skris 13455714Skrisclose (IN); 13555714Skris} 136