mkfiles.pl revision 55714
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",
1355714Skris"crypto/md5",
1455714Skris"crypto/sha",
1555714Skris"crypto/mdc2",
1655714Skris"crypto/hmac",
1755714Skris"crypto/ripemd",
1855714Skris"crypto/des",
1955714Skris"crypto/rc2",
2055714Skris"crypto/rc4",
2155714Skris"crypto/rc5",
2255714Skris"crypto/idea",
2355714Skris"crypto/bf",
2455714Skris"crypto/cast",
2555714Skris"crypto/bn",
2655714Skris"crypto/rsa",
2755714Skris"crypto/dsa",
2855714Skris"crypto/dh",
2955714Skris"crypto/buffer",
3055714Skris"crypto/bio",
3155714Skris"crypto/stack",
3255714Skris"crypto/lhash",
3355714Skris"crypto/rand",
3455714Skris"crypto/err",
3555714Skris"crypto/objects",
3655714Skris"crypto/evp",
3755714Skris"crypto/asn1",
3855714Skris"crypto/pem",
3955714Skris"crypto/x509",
4055714Skris"crypto/x509v3",
4155714Skris"crypto/conf",
4255714Skris"crypto/txt_db",
4355714Skris"crypto/pkcs7",
4455714Skris"crypto/pkcs12",
4555714Skris"crypto/comp",
4655714Skris"ssl",
4755714Skris"rsaref",
4855714Skris"apps",
4955714Skris"test",
5055714Skris"tools"
5155714Skris);
5255714Skris
5355714Skrisforeach (@dirs) {
5455714Skris	&files_dir ($_, "Makefile.ssl");
5555714Skris}
5655714Skris
5755714Skrisexit(0);
5855714Skris
5955714Skrissub files_dir
6055714Skris{
6155714Skrismy ($dir, $makefile) = @_;
6255714Skris
6355714Skrismy %sym;
6455714Skris
6555714Skrisopen (IN, "$dir/$makefile") || die "Can't open $dir/$makefile";
6655714Skris
6755714Skrismy $s="";
6855714Skris
6955714Skriswhile (<IN>)
7055714Skris	{
7155714Skris	chop;
7255714Skris	s/#.*//;
7355714Skris	if (/^(\S+)\s*=\s*(.*)$/)
7455714Skris		{
7555714Skris		$o="";
7655714Skris		($s,$b)=($1,$2);
7755714Skris		for (;;)
7855714Skris			{
7955714Skris			if ($b =~ /\\$/)
8055714Skris				{
8155714Skris				chop($b);
8255714Skris				$o.=$b." ";
8355714Skris				$b=<IN>;
8455714Skris				chop($b);
8555714Skris				}
8655714Skris			else
8755714Skris				{
8855714Skris				$o.=$b." ";
8955714Skris				last;
9055714Skris				}
9155714Skris			}
9255714Skris		$o =~ s/^\s+//;
9355714Skris		$o =~ s/\s+$//;
9455714Skris		$o =~ s/\s+/ /g;
9555714Skris
9655714Skris		$o =~ s/\$[({]([^)}]+)[)}]/$sym{$1}/g;
9755714Skris		$sym{$s}=$o;
9855714Skris		}
9955714Skris	}
10055714Skris
10155714Skrisprint "RELATIVE_DIRECTORY=$dir\n";
10255714Skris
10355714Skrisforeach (sort keys %sym)
10455714Skris	{
10555714Skris	print "$_=$sym{$_}\n";
10655714Skris	}
10755714Skrisprint "RELATIVE_DIRECTORY=\n";
10855714Skris
10955714Skrisclose (IN);
11055714Skris}
111