From 8bfe30ce966a17a3f1dc855f8f7866b595f4ad68 Mon Sep 17 00:00:00 2001 From: Braiden Vasco Date: Thu, 9 Nov 2017 15:52:58 +0000 Subject: [PATCH] Move "arch" to "." --- Makefile | 66 +++++++++++++++++++++++------ arch/Makefile | 56 ------------------------ arch/asm.h => asm.h | 0 arch/config.h => config.h | 0 arch/console.c => console.c | 0 arch/console.h => console.h | 0 arch/exception.c => exception.c | 0 arch/hwint.c => hwint.c | 0 arch/hwint.h => hwint.h | 0 arch/info.c => info.c | 0 arch/init.c => init.c | 0 arch/interrupt.asm => interrupt.asm | 0 arch/interrupt.h => interrupt.h | 0 arch/itoa.c => itoa.c | 0 arch/keyboard.c => keyboard.c | 0 arch/keyboard.h => keyboard.h | 0 arch/linker.ld => linker.ld | 0 arch/logger.c => logger.c | 0 arch/logger.h => logger.h | 0 arch/main.c => main.c | 0 arch/memset.c => memset.c | 0 arch/multiboot.c => multiboot.c | 0 arch/multiboot.h => multiboot.h | 0 arch/pagedir.c => pagedir.c | 0 arch/pagedir.h => pagedir.h | 0 arch/paging.asm => paging.asm | 0 arch/paging.c => paging.c | 0 arch/paging.h => paging.h | 0 arch/panic.asm => panic.asm | 0 arch/panic.c => panic.c | 0 arch/panic.h => panic.h | 0 arch/pfa.c => pfa.c | 0 arch/pfa.h => pfa.h | 0 arch/pic.c => pic.c | 0 arch/pic.h => pic.h | 0 arch/protected.asm => protected.asm | 0 arch/protected.c => protected.c | 0 arch/protected.h => protected.h | 0 arch/start.s => start.s | 0 arch/strlen.c => strlen.c | 0 arch/strncpy.c => strncpy.c | 0 arch/syscall.c => syscall.c | 0 arch/tasks.asm => tasks.asm | 0 arch/tasks.h => tasks.h | 0 arch/timer.c => timer.c | 0 arch/timer.h => timer.h | 0 arch/tss.asm => tss.asm | 0 arch/tss.c => tss.c | 0 arch/tss.h => tss.h | 0 49 files changed, 53 insertions(+), 69 deletions(-) delete mode 100644 arch/Makefile rename arch/asm.h => asm.h (100%) rename arch/config.h => config.h (100%) rename arch/console.c => console.c (100%) rename arch/console.h => console.h (100%) rename arch/exception.c => exception.c (100%) rename arch/hwint.c => hwint.c (100%) rename arch/hwint.h => hwint.h (100%) rename arch/info.c => info.c (100%) rename arch/init.c => init.c (100%) rename arch/interrupt.asm => interrupt.asm (100%) rename arch/interrupt.h => interrupt.h (100%) rename arch/itoa.c => itoa.c (100%) rename arch/keyboard.c => keyboard.c (100%) rename arch/keyboard.h => keyboard.h (100%) rename arch/linker.ld => linker.ld (100%) rename arch/logger.c => logger.c (100%) rename arch/logger.h => logger.h (100%) rename arch/main.c => main.c (100%) rename arch/memset.c => memset.c (100%) rename arch/multiboot.c => multiboot.c (100%) rename arch/multiboot.h => multiboot.h (100%) rename arch/pagedir.c => pagedir.c (100%) rename arch/pagedir.h => pagedir.h (100%) rename arch/paging.asm => paging.asm (100%) rename arch/paging.c => paging.c (100%) rename arch/paging.h => paging.h (100%) rename arch/panic.asm => panic.asm (100%) rename arch/panic.c => panic.c (100%) rename arch/panic.h => panic.h (100%) rename arch/pfa.c => pfa.c (100%) rename arch/pfa.h => pfa.h (100%) rename arch/pic.c => pic.c (100%) rename arch/pic.h => pic.h (100%) rename arch/protected.asm => protected.asm (100%) rename arch/protected.c => protected.c (100%) rename arch/protected.h => protected.h (100%) rename arch/start.s => start.s (100%) rename arch/strlen.c => strlen.c (100%) rename arch/strncpy.c => strncpy.c (100%) rename arch/syscall.c => syscall.c (100%) rename arch/tasks.asm => tasks.asm (100%) rename arch/tasks.h => tasks.h (100%) rename arch/timer.c => timer.c (100%) rename arch/timer.h => timer.h (100%) rename arch/tss.asm => tss.asm (100%) rename arch/tss.c => tss.c (100%) rename arch/tss.h => tss.h (100%) diff --git a/Makefile b/Makefile index bfd7dc6..dcc13d9 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,3 @@ -export ARCH = x86 export CCPREFIX = i686-elf- export AR = $(CCPREFIX)ar @@ -10,27 +9,68 @@ export KERNEL = $(shell pwd)/rootfs/boot/kernelmq.multiboot2 export CFLAGS = -std=gnu99 -ffreestanding -nostdinc -fno-builtin -fno-stack-protector -Wall -Wextra -I $(INCLUDE) -SUBDIRS = arch - IMAGE = $(shell pwd)/image.iso -run: all-arch +# Architecture-dependent +OBJS = start.s.o +OBJS += main.c.o +OBJS += init.c.o +OBJS += multiboot.c.o +OBJS += panic.c.o panic.asm.cpp.o +OBJS += pfa.c.o +OBJS += paging.c.o paging.asm.cpp.o +OBJS += pagedir.c.o + +# Architecture-independent +OBJS += info.c.o +OBJS += memset.c.o +OBJS += strlen.c.o +OBJS += itoa.c.o +OBJS += strncpy.c.o + +# Built-in drivers +OBJS += console.c.o +OBJS += pic.c.o +OBJS += timer.c.o +OBJS += keyboard.c.o + +# For debugging +OBJS += logger.c.o + +OBJS += protected.c.o protected.asm.cpp.o + +OBJS += tss.c.o tss.asm.cpp.o +OBJS += tasks.asm.cpp.o + +OBJS += interrupt.asm.cpp.o + +OBJS += exception.c.o +OBJS += hwint.c.o +OBJS += syscall.c.o + +run: $(KERNEL) grub-file --is-x86-multiboot2 $(KERNEL) grub-mkrescue rootfs -o $(IMAGE) qemu-system-i386 -cdrom $(IMAGE) -all: all-arch +all: $(KERNEL) -clean: $(addprefix clean-, $(SUBDIRS)) +clean: + rm -f $(OBJS) rm -f $(IMAGE) rm -f $(KERNEL) -######## -# arch # -######## +$(KERNEL): $(OBJS) + $(CC) -T linker.ld -o $(KERNEL) -ffreestanding -nostdlib -lgcc $(OBJS) -all-arch: - make all -C arch +%.c.o: %.c + $(CC) -c $< -o $@ $(CFLAGS) -clean-arch: - make clean -C arch +%.s.o: %.s + $(AS) $< -o $@ + +%.asm.cpp.o: %.asm.cpp + nasm -felf32 -o $@ $< + +%.asm.cpp: %.asm + cpp -P $< $@ diff --git a/arch/Makefile b/arch/Makefile deleted file mode 100644 index 438c281..0000000 --- a/arch/Makefile +++ /dev/null @@ -1,56 +0,0 @@ -# Architecture-dependent -OBJS = start.s.o -OBJS += main.c.o -OBJS += init.c.o -OBJS += multiboot.c.o -OBJS += panic.c.o panic.asm.cpp.o -OBJS += pfa.c.o -OBJS += paging.c.o paging.asm.cpp.o -OBJS += pagedir.c.o - -# Architecture-independent -OBJS += info.c.o -OBJS += memset.c.o -OBJS += strlen.c.o -OBJS += itoa.c.o -OBJS += strncpy.c.o - -# Built-in drivers -OBJS += console.c.o -OBJS += pic.c.o -OBJS += timer.c.o -OBJS += keyboard.c.o - -# For debugging -OBJS += logger.c.o - -OBJS += protected.c.o protected.asm.cpp.o - -OBJS += tss.c.o tss.asm.cpp.o -OBJS += tasks.asm.cpp.o - -OBJS += interrupt.asm.cpp.o - -OBJS += exception.c.o -OBJS += hwint.c.o -OBJS += syscall.c.o - -all: $(KERNEL) - -clean: - rm -f $(OBJS) - -$(KERNEL): $(OBJS) - $(CC) -T linker.ld -o $(KERNEL) -ffreestanding -nostdlib -lgcc $(OBJS) - -%.c.o: %.c - $(CC) -c $< -o $@ $(CFLAGS) - -%.s.o: %.s - $(AS) $< -o $@ - -%.asm.cpp.o: %.asm.cpp - nasm -felf32 -o $@ $< - -%.asm.cpp: %.asm - cpp -P $< $@ diff --git a/arch/asm.h b/asm.h similarity index 100% rename from arch/asm.h rename to asm.h diff --git a/arch/config.h b/config.h similarity index 100% rename from arch/config.h rename to config.h diff --git a/arch/console.c b/console.c similarity index 100% rename from arch/console.c rename to console.c diff --git a/arch/console.h b/console.h similarity index 100% rename from arch/console.h rename to console.h diff --git a/arch/exception.c b/exception.c similarity index 100% rename from arch/exception.c rename to exception.c diff --git a/arch/hwint.c b/hwint.c similarity index 100% rename from arch/hwint.c rename to hwint.c diff --git a/arch/hwint.h b/hwint.h similarity index 100% rename from arch/hwint.h rename to hwint.h diff --git a/arch/info.c b/info.c similarity index 100% rename from arch/info.c rename to info.c diff --git a/arch/init.c b/init.c similarity index 100% rename from arch/init.c rename to init.c diff --git a/arch/interrupt.asm b/interrupt.asm similarity index 100% rename from arch/interrupt.asm rename to interrupt.asm diff --git a/arch/interrupt.h b/interrupt.h similarity index 100% rename from arch/interrupt.h rename to interrupt.h diff --git a/arch/itoa.c b/itoa.c similarity index 100% rename from arch/itoa.c rename to itoa.c diff --git a/arch/keyboard.c b/keyboard.c similarity index 100% rename from arch/keyboard.c rename to keyboard.c diff --git a/arch/keyboard.h b/keyboard.h similarity index 100% rename from arch/keyboard.h rename to keyboard.h diff --git a/arch/linker.ld b/linker.ld similarity index 100% rename from arch/linker.ld rename to linker.ld diff --git a/arch/logger.c b/logger.c similarity index 100% rename from arch/logger.c rename to logger.c diff --git a/arch/logger.h b/logger.h similarity index 100% rename from arch/logger.h rename to logger.h diff --git a/arch/main.c b/main.c similarity index 100% rename from arch/main.c rename to main.c diff --git a/arch/memset.c b/memset.c similarity index 100% rename from arch/memset.c rename to memset.c diff --git a/arch/multiboot.c b/multiboot.c similarity index 100% rename from arch/multiboot.c rename to multiboot.c diff --git a/arch/multiboot.h b/multiboot.h similarity index 100% rename from arch/multiboot.h rename to multiboot.h diff --git a/arch/pagedir.c b/pagedir.c similarity index 100% rename from arch/pagedir.c rename to pagedir.c diff --git a/arch/pagedir.h b/pagedir.h similarity index 100% rename from arch/pagedir.h rename to pagedir.h diff --git a/arch/paging.asm b/paging.asm similarity index 100% rename from arch/paging.asm rename to paging.asm diff --git a/arch/paging.c b/paging.c similarity index 100% rename from arch/paging.c rename to paging.c diff --git a/arch/paging.h b/paging.h similarity index 100% rename from arch/paging.h rename to paging.h diff --git a/arch/panic.asm b/panic.asm similarity index 100% rename from arch/panic.asm rename to panic.asm diff --git a/arch/panic.c b/panic.c similarity index 100% rename from arch/panic.c rename to panic.c diff --git a/arch/panic.h b/panic.h similarity index 100% rename from arch/panic.h rename to panic.h diff --git a/arch/pfa.c b/pfa.c similarity index 100% rename from arch/pfa.c rename to pfa.c diff --git a/arch/pfa.h b/pfa.h similarity index 100% rename from arch/pfa.h rename to pfa.h diff --git a/arch/pic.c b/pic.c similarity index 100% rename from arch/pic.c rename to pic.c diff --git a/arch/pic.h b/pic.h similarity index 100% rename from arch/pic.h rename to pic.h diff --git a/arch/protected.asm b/protected.asm similarity index 100% rename from arch/protected.asm rename to protected.asm diff --git a/arch/protected.c b/protected.c similarity index 100% rename from arch/protected.c rename to protected.c diff --git a/arch/protected.h b/protected.h similarity index 100% rename from arch/protected.h rename to protected.h diff --git a/arch/start.s b/start.s similarity index 100% rename from arch/start.s rename to start.s diff --git a/arch/strlen.c b/strlen.c similarity index 100% rename from arch/strlen.c rename to strlen.c diff --git a/arch/strncpy.c b/strncpy.c similarity index 100% rename from arch/strncpy.c rename to strncpy.c diff --git a/arch/syscall.c b/syscall.c similarity index 100% rename from arch/syscall.c rename to syscall.c diff --git a/arch/tasks.asm b/tasks.asm similarity index 100% rename from arch/tasks.asm rename to tasks.asm diff --git a/arch/tasks.h b/tasks.h similarity index 100% rename from arch/tasks.h rename to tasks.h diff --git a/arch/timer.c b/timer.c similarity index 100% rename from arch/timer.c rename to timer.c diff --git a/arch/timer.h b/timer.h similarity index 100% rename from arch/timer.h rename to timer.h diff --git a/arch/tss.asm b/tss.asm similarity index 100% rename from arch/tss.asm rename to tss.asm diff --git a/arch/tss.c b/tss.c similarity index 100% rename from arch/tss.c rename to tss.c diff --git a/arch/tss.h b/tss.h similarity index 100% rename from arch/tss.h rename to tss.h