summaryrefslogtreecommitdiff
path: root/build.bat
diff options
context:
space:
mode:
Diffstat (limited to 'build.bat')
-rw-r--r--build.bat19
1 files changed, 16 insertions, 3 deletions
diff --git a/build.bat b/build.bat
index c9da4e4..d7c7ea7 100644
--- a/build.bat
+++ b/build.bat
@@ -1,5 +1,18 @@
-clang emulator/main.c -o emulator.exe -std=c11 -D_CRT_SECURE_NO_WARNINGS -I.
-clang emulator/hart_test.c -o hart_test.exe -std=c11 -D_CRT_SECURE_NO_WARNINGS -I.
+@echo off
-clang --target=riscv32 -march=rv32i -e _main -nostdlib main.asm -o main.bin
+SET BUILD_OPTS= -std=c11 -D_CRT_SECURE_NO_WARNINGS -I.
+
+IF NOT EXIST build mkdir build
+
+echo emulator.lib
+clang emulator/lib.c -o build/emulator.lib %BUILD_OPTS% -fuse-ld=llvm-lib
+
+echo emulator.exe
+clang emulator/main.c build/emulator.lib -o build/emulator.exe %BUILD_OPTS%
+
+echo hart_test.exe
+clang emulator/hart_test.c build/emulator.lib -o build/hart_test.exe %BUILD_OPTS%
+
+echo main.bin
+clang --target=riscv32 -march=rv32i -e _main -nostdlib main.asm -o build/main.bin