8 open (LOG, '<', "LOG");
9 open (INDEX, '>','index.html');
10 open (LOG_HTML, '>', "log.html");
15 <link rel="stylesheet" href="build.css">
23 <link rel="stylesheet" href="build.css">
27 print LOG_HTML "<pre>";
32 if (open (VARS, "<", $file)) {
35 my ($key, $value) = /^([^=]+)=(.*)/ or next;
43 my (%vars) = read_vars ('VARS');
44 print INDEX "<h2>Build Properties</h2>\n";
45 print INDEX "<table>\n";
46 print INDEX "<tr><th>Name</th><th>Value</th></tr>\n";
47 foreach my $key (sort (keys (%vars))) {
49 print INDEX "<td>", encode_entities ($key), "</td>";
50 print INDEX "<td>", encode_entities ($vars{$key}), "</td>";
51 print INDEX "</tr>\n";
53 print INDEX "</table>\n";
55 print INDEX "<h2>Build Summary</h2>\n";
67 print LOG_HTML "</pre><hr><pre>\n";
75 if (my ($product) = /^Saving (.*)$/) {
76 print INDEX "\n <ul>\n" if !$n_products++;
77 my $href = "$product/index.html";
78 $href = $product if ! -e $href;
79 print INDEX " <li><a href=\"", encode_entities ($href), "\">";
80 print INDEX encode_entities ($product), "</a>";
81 print INDEX " <small><a href=\"log.html#$ln\">(log)</a></small>";
82 print INDEX "</li>\n";
84 print INDEX "</ul>" if !$n_steps;
85 print INDEX "<li>", encode_entities ($_);
86 print INDEX " <small><a href=\"log.html#$ln\">(log)</a></small>";
90 if (my ($diagnostic) = /(error|warning):/) {
92 print INDEX " </ul>\n";
95 print INDEX "<p class=\"$diagnostic\">";
96 print INDEX "<a href=\"log.html#$ln\">";
97 print INDEX encode_entities ($_);
98 print INDEX "</a></p>\n";
99 $log_class = "$diagnostic";
102 printf LOG_HTML "<a name=\"%d\"><tt>%4d</tt></a> ", $ln, $ln;
103 if (defined ($log_class)) {
104 print LOG_HTML "<span class=\"$log_class\">", encode_entities ($_), "</span>\n";
106 print LOG_HTML encode_entities ($_), "\n";
109 print INDEX " </ul>\n" if $n_products;
110 print INDEX "</li>\n" if $n_steps;
117 print LOG_HTML <<EOF;
123 open (CSS, '>', "build.css");
128 padding: 0em 12em 0em 3em;
132 margin: 0pt 0pt 0pt 0em
154 H1, H2, H3, H4, H5, H6 {
155 font-family: sans-serif;
164 text-decoration: none;
168 text-decoration: none;
172 text-decoration: none;
175 text-decoration: underline