2 # FIX: Should use perl from path
3 # genrecord: make a Mage genfile
4 # { gcc prog.c -o prog.tmp; echo $?; } 2>&1 | genrecord prog 'gcc prog.c -o prog.tmp'
12 sub fmtMakeAssignment($$) {
15 return "$n:=\$(empty)$v";
18 my ($target, $cmd) = @ARGV;
20 my @errorLines = <STDIN>;
22 if ($errorLines[$#errorLines] =~ /^(\d+)$/) {
23 chomp($exitCode = pop @errorLines);
25 my $errorText = join '', @errorLines;
27 my $genfileText = fmtMakeAssignment("cmd-$target", $cmd) . "\n";
28 . fmtMakeAssignment("errors-$target", $errorText) . "\n"
29 . fmtMakeAssignment("exitcode-$target", $exitCode) . "\n";
31 open GENFILE, '>', "$target.g.tmp" and print GENFILE $genfileText and close GENFILE or die;