diff --git a/build_programs.sh b/build_programs.sh index ef3803a..48a8092 100755 --- a/build_programs.sh +++ b/build_programs.sh @@ -1,29 +1,17 @@ #!/bin/bash +TARGET_DIR="programs" -mkdir -p programs/lib -mkdir -p programs/bin +if [ ! -d "$TARGET_DIR" ]; then + exit 1 +fi -cp rocklibc/rlibc.a programs/lib - -cd programs - -cd rocksh -make clean -bear -- make -cp rocksh.elf ../bin -cd .. - -cd vga_text_term -make clean -bear -- make -cp vga_text_term.elf ../bin -cd .. - -cd test -make clean -bear -- make -cp test.elf ../bin -cd .. - -cd .. \ No newline at end of file +find "$TARGET_DIR" -type f \( -name "Makefile" -o -name "makefile" \) | while read -r makefile_path; do + dir_path=$(dirname "$makefile_path") + ( + cd "$dir_path" || exit + + make clean + make + ) +done \ No newline at end of file diff --git a/clean.sh b/clean.sh index ab73131..a3fc7ab 100755 --- a/clean.sh +++ b/clean.sh @@ -1,22 +1,23 @@ #!/bin/bash cd rocklibc -rm -rf *.o -rm -rf *.a -rm -rf *.json make clean cd .. cd programs -rm -rf *.elf -rm -rf *.o -rm -rf *.json -rm -rf *.a +find . -type f \( -name "Makefile" -o -name "makefile" \) | while read -r makefile_path; do + dir_path=$(dirname "$makefile_path") + ( + cd "$dir_path" || exit + + make clean + ) +done cd .. -make clean +make clean cd initrd rm -rf output -rm -rf *.elf +rm -f bin/*.elf cd .. \ No newline at end of file diff --git a/kernel/kmain.c b/kernel/kmain.c index 15d1c92..cf421c5 100644 --- a/kernel/kmain.c +++ b/kernel/kmain.c @@ -44,8 +44,6 @@ void parse_multiboot_modules(uint32_t mbi_vaddr) { uint32_t mod_count = mbi->mods_count; multiboot_module_t* mod = (multiboot_module_t*)((uint32_t)mbi->mods_addr + 0xC0000000); - kprintf("found %d mods starting @ [v]0x%x\n", mod_count, (uint32_t)mod); - for (uint32_t i = 0; i < mod_count; i++) { uint32_t start = mod[i].mod_start; uint32_t end = mod[i].mod_end; @@ -156,7 +154,6 @@ void kmain(multiboot_info* mbi) { vfs_node_t* vga_dev = devfs->create(devfs, "tvga"); vga_dev->write = vga_write; - vga_dev->seek = vga_seek; vfs_node_t* kbd_dev = devfs->create(devfs, "kbd"); kbd_dev->read = kbd_read; diff --git a/makefile b/makefile index 954aaf1..9906a6b 100644 --- a/makefile +++ b/makefile @@ -37,4 +37,5 @@ run: $(OSNAME).iso clean: @echo "Cleaning up build artifacts..." - rm -rf $(OSNAME).iso $(OSNAME).bin obj isodir compile_commands.json \ No newline at end of file + rm -rf $(OSNAME).iso $(OSNAME).bin obj isodir compile_commands.json *.img + rm -rf .cache/ \ No newline at end of file diff --git a/programs/rocksh/makefile b/programs/rocksh/makefile index 31e51e6..74e6577 100644 --- a/programs/rocksh/makefile +++ b/programs/rocksh/makefile @@ -18,6 +18,7 @@ $(TARGET): crt0.o main.o ../lib/rlibc.a $(LD) $(LDFLAGS) -T linker.ld crt0.o main.o ../lib/rlibc.a -o $(TARGET) clean: - rm -f *.o $(TARGET) + rm -f *.o $(TARGET) compile_commands.json + rm -rf .cache .PHONY: all clean test \ No newline at end of file diff --git a/programs/test/makefile b/programs/test/makefile index cca7c29..8a0d35a 100644 --- a/programs/test/makefile +++ b/programs/test/makefile @@ -18,6 +18,7 @@ $(TARGET): crt0.o main.o ../lib/rlibc.a $(LD) $(LDFLAGS) -T linker.ld crt0.o main.o ../lib/rlibc.a -o $(TARGET) clean: - rm -f *.o $(TARGET) + rm -f *.o $(TARGET) compile_commands.json + rm -rf .cache .PHONY: all clean test \ No newline at end of file diff --git a/programs/vga_text_term/makefile b/programs/vga_text_term/makefile index 3b8f645..cf3bc6b 100644 --- a/programs/vga_text_term/makefile +++ b/programs/vga_text_term/makefile @@ -18,6 +18,7 @@ $(TARGET): crt0.o main.o ../lib/rlibc.a $(LD) $(LDFLAGS) -T linker.ld crt0.o main.o ../lib/rlibc.a -o $(TARGET) clean: - rm -f *.o $(TARGET) + rm -f *.o $(TARGET) compile_commands.json + rm -rf .cache .PHONY: all clean test \ No newline at end of file