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