diff options
Diffstat (limited to 'tnslc/run.sh')
| -rwxr-xr-x | tnslc/run.sh | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/tnslc/run.sh b/tnslc/run.sh index 8010ab6..a8cf594 100755 --- a/tnslc/run.sh +++ b/tnslc/run.sh @@ -1,5 +1,26 @@ #!/bin/bash -DIR_L=$(pwd) +BUILD_DIR=./out/NEXT +ARTIFACT_DIR=$BUILD_DIR/artifacts + +mkdir -p $BUILD_DIR +mkdir -p $ARTIFACT_DIR +filename=$1 +filename="${filename%.*}" + +./out/tnslc $filename.tnsl + +if [ $? -ne 0 ]; then + exit $? +fi + +mv out.asm $ARTIFACT_DIR/$filename.asm + +nasm -g -f elf64 -o $ARTIFACT_DIR/$filename.o $ARTIFACT_DIR/$filename.asm + +if [ $? -ne 0 ]; then + exit $? +fi + +gcc -ggdb -o $BUILD_DIR/$filename $ARTIFACT_DIR/$filename.o -$DIR_L/out/tnslc $1 |