mkfiles.pl revision 238405
121673Sjkh#!/usr/local/bin/perl
216359Sasami#
316359Sasami# This is a hacked version of files.pl for systems that can't do a 'make files'.
416359Sasami# Do a perl util/mkminfo.pl >MINFO to build MINFO
516359Sasami# Written by Steve Henson 1999.
616359Sasami
716359Sasami# List of directories to process
816359Sasami
916359Sasamimy @dirs = (
1016359Sasami".",
1116359Sasami"crypto",
1216359Sasami"crypto/md2",
1316359Sasami"crypto/md4",
1416359Sasami"crypto/md5",
1516359Sasami"crypto/sha",
1616359Sasami"crypto/mdc2",
1716359Sasami"crypto/hmac",
1819248Sasami"crypto/cmac",
1919248Sasami"crypto/ripemd",
2019326Sasami"crypto/des",
2116359Sasami"crypto/rc2",
2216359Sasami"crypto/rc4",
2316359Sasami"crypto/rc5",
2419122Sasami"crypto/idea",
2519122Sasami"crypto/bf",
2616359Sasami"crypto/cast",
2716359Sasami"crypto/aes",
2816359Sasami"crypto/camellia",
2916359Sasami"crypto/seed",
3017256Sasami"crypto/modes",
3118846Sasami"crypto/bn",
3218846Sasami"crypto/rsa",
3320129Sasami"crypto/dsa",
3419269Sasami"crypto/dso",
3518846Sasami"crypto/dh",
3617256Sasami"crypto/ec",
3717256Sasami"crypto/ecdh",
3817256Sasami"crypto/ecdsa",
3918208Sasami"crypto/buffer",
4019122Sasami"crypto/bio",
4119122Sasami"crypto/stack",
4219122Sasami"crypto/lhash",
4319122Sasami"crypto/rand",
4419122Sasami"crypto/err",
4518846Sasami"crypto/objects",
4618265Sasami"crypto/evp",
4718265Sasami"crypto/asn1",
4818208Sasami"crypto/pem",
4921773Skato"crypto/x509",
5021773Skato"crypto/x509v3",
5121773Skato"crypto/cms",
5221773Skato"crypto/conf",
5321773Skato"crypto/jpake",
5421773Skato"crypto/txt_db",
5521773Skato"crypto/pkcs7",
5621773Skato"crypto/pkcs12",
5721773Skato"crypto/comp",
5818208Sasami"crypto/engine",
5918208Sasami"crypto/ocsp",
6018265Sasami"crypto/ui",
6118265Sasami"crypto/krb5",
6218265Sasami#"crypto/store",
6318846Sasami"crypto/pqueue",
64"crypto/whrlpool",
65"crypto/ts",
66"crypto/srp",
67"ssl",
68"apps",
69"engines",
70"engines/ccgost",
71"test",
72"tools"
73);
74
75%top;
76
77foreach (@dirs) {
78	&files_dir ($_, "Makefile");
79}
80
81exit(0);
82
83sub files_dir
84{
85my ($dir, $makefile) = @_;
86
87my %sym;
88
89open (IN, "$dir/$makefile") || die "Can't open $dir/$makefile";
90
91my $s="";
92
93while (<IN>)
94	{
95	chop;
96	s/#.*//;
97	if (/^(\S+)\s*=\s*(.*)$/)
98		{
99		$o="";
100		($s,$b)=($1,$2);
101		for (;;)
102			{
103			if ($b =~ /\\$/)
104				{
105				chop($b);
106				$o.=$b." ";
107				$b=<IN>;
108				chop($b);
109				}
110			else
111				{
112				$o.=$b." ";
113				last;
114				}
115			}
116		$o =~ s/^\s+//;
117		$o =~ s/\s+$//;
118		$o =~ s/\s+/ /g;
119
120		$o =~ s/\$[({]([^)}]+)[)}]/$top{$1} or $sym{$1}/ge;
121		$sym{$s}=($top{$s} or $o);
122		}
123	}
124
125print "RELATIVE_DIRECTORY=$dir\n";
126
127foreach (sort keys %sym)
128	{
129	print "$_=$sym{$_}\n";
130	}
131if ($dir eq "." && defined($sym{"BUILDENV"}))
132	{
133	foreach (split(' ',$sym{"BUILDENV"}))
134		{
135		/^(.+)=/;
136		$top{$1}=$sym{$1};
137		}
138	}
139
140print "RELATIVE_DIRECTORY=\n";
141
142close (IN);
143}
144