From 19d9a04e36e7fb96eebe89e24311408460c29a70 Mon Sep 17 00:00:00 2001 From: Clyne Sullivan Date: Mon, 30 Sep 2024 11:08:46 -0400 Subject: [PATCH] reorganize files --- .gitignore | 3 +- Makefile | 44 ++++++++------------ acpi.cpp => src/acpi.cpp | 0 acpi.hpp => src/acpi.hpp | 0 ata.cpp => src/ata.cpp | 0 ata.hpp => src/ata.hpp | 0 boot.cpp => src/boot.cpp | 0 circularbuffer.hpp => src/circularbuffer.hpp | 0 gdt.cpp => src/gdt.cpp | 0 gdt.hpp => src/gdt.hpp | 0 idt.cpp => src/idt.cpp | 0 idt.hpp => src/idt.hpp | 0 kernel.cpp => src/kernel.cpp | 0 keyboard.cpp => src/keyboard.cpp | 0 keyboard.hpp => src/keyboard.hpp | 0 memmove.cpp => src/memmove.cpp | 0 memory.cpp => src/memory.cpp | 0 memory.hpp => src/memory.hpp | 0 multiboot.cpp => src/multiboot.cpp | 0 multiboot.hpp => src/multiboot.hpp | 0 pic.cpp => src/pic.cpp | 0 pic.hpp => src/pic.hpp | 0 pit.cpp => src/pit.cpp | 0 pit.hpp => src/pit.hpp | 0 portio.hpp => src/portio.hpp | 0 tasking.cpp => src/tasking.cpp | 0 tasking.hpp => src/tasking.hpp | 0 textoutput.hpp => src/textoutput.hpp | 0 vgaterminal.cpp => src/vgaterminal.cpp | 0 vgaterminal.hpp => src/vgaterminal.hpp | 0 30 files changed, 19 insertions(+), 28 deletions(-) rename acpi.cpp => src/acpi.cpp (100%) rename acpi.hpp => src/acpi.hpp (100%) rename ata.cpp => src/ata.cpp (100%) rename ata.hpp => src/ata.hpp (100%) rename boot.cpp => src/boot.cpp (100%) rename circularbuffer.hpp => src/circularbuffer.hpp (100%) rename gdt.cpp => src/gdt.cpp (100%) rename gdt.hpp => src/gdt.hpp (100%) rename idt.cpp => src/idt.cpp (100%) rename idt.hpp => src/idt.hpp (100%) rename kernel.cpp => src/kernel.cpp (100%) rename keyboard.cpp => src/keyboard.cpp (100%) rename keyboard.hpp => src/keyboard.hpp (100%) rename memmove.cpp => src/memmove.cpp (100%) rename memory.cpp => src/memory.cpp (100%) rename memory.hpp => src/memory.hpp (100%) rename multiboot.cpp => src/multiboot.cpp (100%) rename multiboot.hpp => src/multiboot.hpp (100%) rename pic.cpp => src/pic.cpp (100%) rename pic.hpp => src/pic.hpp (100%) rename pit.cpp => src/pit.cpp (100%) rename pit.hpp => src/pit.hpp (100%) rename portio.hpp => src/portio.hpp (100%) rename tasking.cpp => src/tasking.cpp (100%) rename tasking.hpp => src/tasking.hpp (100%) rename textoutput.hpp => src/textoutput.hpp (100%) rename vgaterminal.cpp => src/vgaterminal.cpp (100%) rename vgaterminal.hpp => src/vgaterminal.hpp (100%) diff --git a/.gitignore b/.gitignore index 540202a..afda4de 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,4 @@ -*.bin *.iso -*.o *.sw* iso/boot/*.bin +out diff --git a/Makefile b/Makefile index 728ead6..2484913 100644 --- a/Makefile +++ b/Makefile @@ -2,43 +2,35 @@ CXXFLAGS := -m32 -ggdb -g3 -O1 -fno-pic -fno-rtti -fno-exceptions -std=c++23 \ -Wall -Wextra -pedantic -Werror LDFLAGS := $(CXXFLAGS) -T link.ld -static -nostdlib -fno-use-cxa-atexit -CXXFILES := acpi.cpp \ - ata.cpp \ - boot.cpp \ - gdt.cpp \ - idt.cpp \ - keyboard.cpp \ - memmove.cpp \ - memory.cpp \ - multiboot.cpp \ - pic.cpp \ - pit.cpp \ - tasking.cpp \ - vgaterminal.cpp \ - kernel.cpp - -OBJS := $(subst .cpp,.o,$(CXXFILES)) - -all: myos.iso - -myos.iso: myos.bin iso/boot/grub/grub.cfg +CXXFILES := $(wildcard src/*.cpp) + +PROJECT := myos +PRJISO := $(PROJECT).iso +PRJBIN := $(PROJECT).bin +OBJS := $(patsubst src/%.cpp,out/%.o,$(CXXFILES)) + +all: $(PRJISO) + +$(PRJISO): iso/boot/$(PRJBIN) iso/boot/grub/grub.cfg @echo " ISO " $@ - @cp myos.bin iso/boot/ - @grub-mkrescue -o myos.iso iso/ + @grub-mkrescue -o $@ iso/ -myos.bin: $(OBJS) link.ld +iso/boot/$(PRJBIN): $(OBJS) link.ld @echo " LD " $@ @g++ $(LDFLAGS) -o $@ $(OBJS) -%.o: %.cpp +out/: + @mkdir out + +out/%.o: src/%.cpp @echo " CXX " $< @g++ $(CXXFLAGS) -c $< -o $@ clean: @echo " CLEAN" - @rm -f $(OBJS) myos.bin myos.iso + @rm -f $(OBJS) $(PRJBIN) $(PRJISO) run: myos.iso @echo " QEMU" - @qemu-system-i386 -drive file=$<,index=2,media=cdrom -monitor stdio -no-reboot -s -S #-d int + @qemu-system-i386 -drive file=$<,index=2,media=cdrom -monitor stdio -no-reboot #-s -S #-d int diff --git a/acpi.cpp b/src/acpi.cpp similarity index 100% rename from acpi.cpp rename to src/acpi.cpp diff --git a/acpi.hpp b/src/acpi.hpp similarity index 100% rename from acpi.hpp rename to src/acpi.hpp diff --git a/ata.cpp b/src/ata.cpp similarity index 100% rename from ata.cpp rename to src/ata.cpp diff --git a/ata.hpp b/src/ata.hpp similarity index 100% rename from ata.hpp rename to src/ata.hpp diff --git a/boot.cpp b/src/boot.cpp similarity index 100% rename from boot.cpp rename to src/boot.cpp diff --git a/circularbuffer.hpp b/src/circularbuffer.hpp similarity index 100% rename from circularbuffer.hpp rename to src/circularbuffer.hpp diff --git a/gdt.cpp b/src/gdt.cpp similarity index 100% rename from gdt.cpp rename to src/gdt.cpp diff --git a/gdt.hpp b/src/gdt.hpp similarity index 100% rename from gdt.hpp rename to src/gdt.hpp diff --git a/idt.cpp b/src/idt.cpp similarity index 100% rename from idt.cpp rename to src/idt.cpp diff --git a/idt.hpp b/src/idt.hpp similarity index 100% rename from idt.hpp rename to src/idt.hpp diff --git a/kernel.cpp b/src/kernel.cpp similarity index 100% rename from kernel.cpp rename to src/kernel.cpp diff --git a/keyboard.cpp b/src/keyboard.cpp similarity index 100% rename from keyboard.cpp rename to src/keyboard.cpp diff --git a/keyboard.hpp b/src/keyboard.hpp similarity index 100% rename from keyboard.hpp rename to src/keyboard.hpp diff --git a/memmove.cpp b/src/memmove.cpp similarity index 100% rename from memmove.cpp rename to src/memmove.cpp diff --git a/memory.cpp b/src/memory.cpp similarity index 100% rename from memory.cpp rename to src/memory.cpp diff --git a/memory.hpp b/src/memory.hpp similarity index 100% rename from memory.hpp rename to src/memory.hpp diff --git a/multiboot.cpp b/src/multiboot.cpp similarity index 100% rename from multiboot.cpp rename to src/multiboot.cpp diff --git a/multiboot.hpp b/src/multiboot.hpp similarity index 100% rename from multiboot.hpp rename to src/multiboot.hpp diff --git a/pic.cpp b/src/pic.cpp similarity index 100% rename from pic.cpp rename to src/pic.cpp diff --git a/pic.hpp b/src/pic.hpp similarity index 100% rename from pic.hpp rename to src/pic.hpp diff --git a/pit.cpp b/src/pit.cpp similarity index 100% rename from pit.cpp rename to src/pit.cpp diff --git a/pit.hpp b/src/pit.hpp similarity index 100% rename from pit.hpp rename to src/pit.hpp diff --git a/portio.hpp b/src/portio.hpp similarity index 100% rename from portio.hpp rename to src/portio.hpp diff --git a/tasking.cpp b/src/tasking.cpp similarity index 100% rename from tasking.cpp rename to src/tasking.cpp diff --git a/tasking.hpp b/src/tasking.hpp similarity index 100% rename from tasking.hpp rename to src/tasking.hpp diff --git a/textoutput.hpp b/src/textoutput.hpp similarity index 100% rename from textoutput.hpp rename to src/textoutput.hpp diff --git a/vgaterminal.cpp b/src/vgaterminal.cpp similarity index 100% rename from vgaterminal.cpp rename to src/vgaterminal.cpp diff --git a/vgaterminal.hpp b/src/vgaterminal.hpp similarity index 100% rename from vgaterminal.hpp rename to src/vgaterminal.hpp