diff options
author | Steven Le Rouzic <steven.lerouzic@gmail.com> | 2024-05-12 11:43:32 +0200 |
---|---|---|
committer | Steven Le Rouzic <steven.lerouzic@gmail.com> | 2024-05-12 11:43:32 +0200 |
commit | 49b39288133272578b8be86e3ced4468927fce5b (patch) | |
tree | 8d6e45289d6fd4de480c252255c4f93c211c6731 | |
parent | 40b4d52e905227849785f6520d0381f19657820a (diff) |
Cleanup build
-rw-r--r-- | .gitignore | 3 | ||||
-rw-r--r-- | build.bat | 19 | ||||
-rw-r--r-- | emulator/hart_test.c | 2 | ||||
-rw-r--r-- | emulator/lib.c | 3 | ||||
-rw-r--r-- | emulator/main.c | 4 |
5 files changed, 20 insertions, 11 deletions
@@ -1,2 +1 @@ -*.exe
-*.bin
+build
@@ -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
diff --git a/emulator/hart_test.c b/emulator/hart_test.c index 5509dab..5f2549b 100644 --- a/emulator/hart_test.c +++ b/emulator/hart_test.c @@ -247,5 +247,3 @@ int main(int argc, char* argv[]) test();
return EXIT_SUCCESS;
}
-
-#include "emulator/hart.c"
diff --git a/emulator/lib.c b/emulator/lib.c new file mode 100644 index 0000000..453a3f9 --- /dev/null +++ b/emulator/lib.c @@ -0,0 +1,3 @@ +#include "hart.c"
+#include "elf.c"
+
diff --git a/emulator/main.c b/emulator/main.c index a00a717..4bf99a3 100644 --- a/emulator/main.c +++ b/emulator/main.c @@ -31,7 +31,3 @@ int main(int argc, char* argv[]) return EXIT_SUCCESS;
}
-
-#include "emulator/hart.c"
-#include "emulator/elf.c"
-
|