Apple2GSBuildPipeline/make/merlin-asm

39 lines
702 B
Bash
Executable File

#!/bin/bash
ERROUTPUT=/tmp/merlin-err.$$
LINKSCRIPT="$1"
shift
OUTFILE="$1"
shift
TARGETOUTPUT="$1"
shift
cleanup()
{
rm -r error_output.txt
rm -f _FileInformation.txt
rm -f _Output.txt
rm -f "$ERROUTPUT"
}
"$MERLIN_BIN" -V "$MERLIN_LIB" "$LINKSCRIPT" 2>&1 | tee "$ERROUTPUT"
if [ ! -f "$OUTFILE" ]
then
cat error_output.txt
tr "'" '"' < "$ERROUTPUT" |
grep '\[Error\]' |
sed 's!^.*\[Error\] \(.*file "\([^"]*\.s\)".*line \([1-9][0-9]*\).*\)$!'`pwd`'/\2:\3:0: error: \1!' |
sed 's!^.*\[Error\] \(.*line \([1-9][0-9]*\).*file "\([^"]*\.s\)".*\)$!'`pwd`'/\3:\2:0: error: \1!'
cleanup
exit 1
fi
mv "$OUTFILE" "$TARGETOUTPUT"
cleanup
exit 0