mkfiles.pl revision 160814
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", 2755714Skris"crypto/bn", 2855714Skris"crypto/rsa", 2955714Skris"crypto/dsa", 3068651Skris"crypto/dso", 3155714Skris"crypto/dh", 32109998Smarkm"crypto/ec", 33160814Ssimon"crypto/ecdh", 34160814Ssimon"crypto/ecdsa", 3555714Skris"crypto/buffer", 3655714Skris"crypto/bio", 3755714Skris"crypto/stack", 3855714Skris"crypto/lhash", 3955714Skris"crypto/rand", 4055714Skris"crypto/err", 4155714Skris"crypto/objects", 4255714Skris"crypto/evp", 4355714Skris"crypto/asn1", 4455714Skris"crypto/pem", 4555714Skris"crypto/x509", 4655714Skris"crypto/x509v3", 4755714Skris"crypto/conf", 4855714Skris"crypto/txt_db", 4955714Skris"crypto/pkcs7", 5055714Skris"crypto/pkcs12", 5155714Skris"crypto/comp", 52109998Smarkm"crypto/engine", 53109998Smarkm"crypto/ocsp", 54109998Smarkm"crypto/ui", 55109998Smarkm"crypto/krb5", 56160814Ssimon"crypto/store", 57160814Ssimon"crypto/pqueue", 5855714Skris"ssl", 5955714Skris"apps", 60160814Ssimon"engines", 6155714Skris"test", 6255714Skris"tools" 6355714Skris); 6455714Skris 6555714Skrisforeach (@dirs) { 66142425Snectar &files_dir ($_, "Makefile"); 6755714Skris} 6855714Skris 6955714Skrisexit(0); 7055714Skris 7155714Skrissub files_dir 7255714Skris{ 7355714Skrismy ($dir, $makefile) = @_; 7455714Skris 7555714Skrismy %sym; 7655714Skris 7755714Skrisopen (IN, "$dir/$makefile") || die "Can't open $dir/$makefile"; 7855714Skris 7955714Skrismy $s=""; 8055714Skris 8155714Skriswhile (<IN>) 8255714Skris { 8355714Skris chop; 8455714Skris s/#.*//; 8555714Skris if (/^(\S+)\s*=\s*(.*)$/) 8655714Skris { 8755714Skris $o=""; 8855714Skris ($s,$b)=($1,$2); 8955714Skris for (;;) 9055714Skris { 9155714Skris if ($b =~ /\\$/) 9255714Skris { 9355714Skris chop($b); 9455714Skris $o.=$b." "; 9555714Skris $b=<IN>; 9655714Skris chop($b); 9755714Skris } 9855714Skris else 9955714Skris { 10055714Skris $o.=$b." "; 10155714Skris last; 10255714Skris } 10355714Skris } 10455714Skris $o =~ s/^\s+//; 10555714Skris $o =~ s/\s+$//; 10655714Skris $o =~ s/\s+/ /g; 10755714Skris 10855714Skris $o =~ s/\$[({]([^)}]+)[)}]/$sym{$1}/g; 10955714Skris $sym{$s}=$o; 11055714Skris } 11155714Skris } 11255714Skris 11355714Skrisprint "RELATIVE_DIRECTORY=$dir\n"; 11455714Skris 11555714Skrisforeach (sort keys %sym) 11655714Skris { 11755714Skris print "$_=$sym{$_}\n"; 11855714Skris } 11955714Skrisprint "RELATIVE_DIRECTORY=\n"; 12055714Skris 12155714Skrisclose (IN); 12255714Skris} 123