--- /dev/null
+#! /usr/bin/perl -w
+
+use strict;
+
+my (@tests);
+
+open (TESTS, "<Make.tests") or die;
+while (<TESTS>) {
+ chomp;
+ /^#/ || /^\s+$/ and next;
+ s/\s//g;
+ push (@tests, $_);
+}
+close (TESTS);
+
+open (MAKEBASE, "<Make.base") or die;
+open (MAKEFILE, ">Makefile") or die;
+print MAKEFILE <<EOF;
+# This file is automatically generated from Make.base and Make.tests
+# by mkmf. Do not modify!
+
+EOF
+print MAKEFILE "TESTS =";
+my ($n) = 65;
+for my $test (@tests) {
+ if ($n + 1 + length ($test) > 65) {
+ print MAKEFILE " \\\n\t$test";
+ $n = length ($test);
+ } else {
+ print MAKEFILE " $test";
+ $n += 1 + length ($test);
+ }
+}
+print MAKEFILE "\n";
+
+for my $test (@tests) {
+ my ($test_id) = $test;
+ $test_id =~ tr/-/_/;
+
+ print MAKEFILE "${test_id}_SRC = ${test}.c\n";
+}
+print MAKEFILE "\n";
+
+while (<MAKEBASE>) {
+ print MAKEFILE $_;
+}
+close (MAKEBASE);
+