summaryrefslogtreecommitdiff
path: root/tnslc/run.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tnslc/run.sh')
-rwxr-xr-xtnslc/run.sh25
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