From ba043ef31bfeb5352ad468acc239e1e46082e864 Mon Sep 17 00:00:00 2001 From: Nigel Date: Mon, 22 Nov 2021 20:01:12 +0100 Subject: [PATCH] Small improvements on Makefile, TODO.md has been renamed to features.md --- Makefile | 26 +++++++++++--------------- TODO.md => features.md | 14 +++++++------- todo.md | 0 3 files changed, 18 insertions(+), 22 deletions(-) rename TODO.md => features.md (80%) create mode 100644 todo.md diff --git a/Makefile b/Makefile index d983334..afa65c7 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,7 @@ CC = ${HOME}/opt/cross/bin/i686-elf-gcc CPP = ${HOME}/opt/cross/bin/i686-elf-g++ CFLAGS = -ffreestanding -O2 -Wall -Wextra -OFILES = $(BUILD_DIR)/boot.o $(BUILD_DIR)/kterm.o $(BUILD_DIR)/kernel.o $(BUILD_DIR)/PhysicalMemoryManager.o $(BUILD_DIR)/io.o $(BUILD_DIR)/PageDirectory.o $(BUILD_DIR)/gdtc.o $(BUILD_DIR)/idt.o $(BUILD_DIR)/pic.o $(BUILD_DIR)/string.o +OFILES = $(BUILD_DIR)/boot.o $(BUILD_DIR)/kterm.o $(BUILD_DIR)/kernel.o $(BUILD_DIR)/PhysicalMemoryManager.o $(BUILD_DIR)/io.o $(BUILD_DIR)/PageDirectory.o $(BUILD_DIR)/gdtc.o $(BUILD_DIR)/idt.o $(BUILD_DIR)/pic.o $(BUILD_DIR)/string.o SRC_DIR = src BUILD_DIR = build @@ -19,30 +19,26 @@ OBJ_LINK_LIST = $(CRTI_OBJ) $(CRTBEGIN_OBJ) $(OFILES) $(CRTEND_OBJ) $(CRTN_OBJ) INTERNAL_OBJS = $(CRTI_OBJ) $(OFILES) $(CRTN_OBJ) -all: clean build clean_up +all: clean build -build: build_kernel +build: build_kernel iso clean_iso: - if [[ -a isodir/* ]] ; then rm isodir/* -d ; fi - if [ -f barinkOS.iso ] ; then rm barinkOS.iso ; fi + if [[ -a isodir/boot ]] ; then rm root/boot -rd ; fi + if [ -f build/barinkOS.iso ] ; then rm build/barinkOS.iso ; fi -iso: clean_iso build - mkdir -p isodir/boot/grub - cp build/myos.bin isodir/boot/myos.bin - cp src/grub.cfg isodir/boot/grub/grub.cfg - grub-mkrescue -o barinkOS.iso isodir +iso: clean_iso clean build + mkdir -p root/boot/grub + cp build/myos.bin root/boot/myos.bin + cp src/grub.cfg root/boot/grub/grub.cfg + grub-mkrescue -o build/barinkOS.iso root -clean_up: - rm build/*.o - test: - $(EMULATOR) -kernel $(BUILD_DIR)/myos.bin -serial file:CON -vga std -monitor stdio -display gtk -m 2G -cpu core2duo + $(EMULATOR) -kernel $(BUILD_DIR)/myos.bin -serial stdio -vga std -monitor stdio -display gtk -m 2G -cpu core2duo build_kernel: $(OBJ_LINK_LIST) - $(CC) -T $(SRC_DIR)/kernel//linker.ld -o $(BUILD_DIR)/myos.bin \ -ffreestanding -O2 -nostdlib $(OBJ_LINK_LIST) -lgcc diff --git a/TODO.md b/features.md similarity index 80% rename from TODO.md rename to features.md index 5f9d63f..53b1cf0 100644 --- a/TODO.md +++ b/features.md @@ -12,7 +12,7 @@ Detect CPU speed \ Interrupt / exception system (API) \ - Plan your memory map (virtual, and physical) : decide where you want the data to be. \ + Plan your memory map (virtual, and physical) : decide where you want the data to be. \ The heap: allocating memory at runtime (malloc and free) is almost impossible to go without. \ Enable SIMD Extensions (SSE) @@ -23,13 +23,13 @@ ACPI support ( Or some other basic way to support shutdown, reboot and possibly hibernation ) \ ATAPI support \ Keyboard support ( P/S2 Keyboard) \ - Memory Management (MMU)\ - Preemptive multi tasking - Processes + Memory Management (MMU) + Preemptive multi tasking \ + Processes \ Threads Scheduling (SRV2 Unix OR Priority Based Round Robin) \ - System V ABI compliance (partially) - POSIX compliance (partially) + System V ABI compliance (partially) \ + POSIX compliance (partially) \ RPC - for interprocess communication \ Sync primitives - Semaphores, Mutexes, spinlocks et al. \ Basic Terminal \ @@ -37,4 +37,4 @@ Basic Window server/client \ ## Support for more filesystems if I like the challenge in writing these ... FAT Filesystem \ - EXT2 Filesystem \ + EXT2 Filesystem diff --git a/todo.md b/todo.md new file mode 100644 index 0000000..e69de29