From 21ed31f8dac885de17011cb1843105a1c90f852d Mon Sep 17 00:00:00 2001 From: Kevin Lange Date: Mon, 17 Jan 2011 13:58:31 -0600 Subject: [PATCH] [make] Restructure directories. --- Makefile | 18 +++++++++++++----- Makefile.inc | 5 +++++ core/Makefile | 10 ++++++++++ gdt.c => core/gdt.c | 0 idt.c => core/idt.c | 0 irq.c => core/irq.c | 0 isrs.c => core/isrs.c | 0 kbd.c => core/kbd.c | 0 kprintf.c => core/kprintf.c | 0 timer.c => core/timer.c | 0 vga.c => core/vga.c | 0 11 files changed, 28 insertions(+), 5 deletions(-) create mode 100644 Makefile.inc create mode 100644 core/Makefile rename gdt.c => core/gdt.c (100%) rename idt.c => core/idt.c (100%) rename irq.c => core/irq.c (100%) rename isrs.c => core/isrs.c (100%) rename kbd.c => core/kbd.c (100%) rename kprintf.c => core/kprintf.c (100%) rename timer.c => core/timer.c (100%) rename vga.c => core/vga.c (100%) diff --git a/Makefile b/Makefile index 77d45476..86e0b7a4 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,8 @@ -.PHONY: all clean install +include Makefile.inc + +DIRS = core + +.PHONY: all clean install core all: kernel @@ -8,14 +12,18 @@ install: kernel umount /mnt cp kernel /boot/toaruos-kernel -kernel: start.o link.ld main.o vga.o gdt.o idt.o isrs.o irq.o timer.o kbd.o kprintf.o - ld -m elf_i386 -T link.ld -o kernel *.o +kernel: start.o link.ld main.o core + ${LD} -T link.ld -o kernel *.o core/*.o %.o: %.c - gcc -Wall -m32 -O0 -fstrength-reduce -fomit-frame-pointer -finline-functions -nostdinc -fno-builtin -I./include -c -o $@ $< + ${CC} ${CFLAGS} -I./include -c -o $@ $< + +core: + cd core; ${MAKE} ${MFLAGS} start.o: start.asm nasm -f elf -o start.o start.asm clean: - rm -f *.o kernel + -rm -f *.o kernel + -for d in ${DIRS}; do (cd $$d; ${MAKE} clean); done diff --git a/Makefile.inc b/Makefile.inc new file mode 100644 index 00000000..e18d7f77 --- /dev/null +++ b/Makefile.inc @@ -0,0 +1,5 @@ +CC = gcc +LD = ld -m elf_i386 +CFLAGS = -Wall -m32 -O0 -fstrength-reduce -fomit-frame-pointer -finline-functions -nostdinc -fno-builtin +NASM = nasm -f elf + diff --git a/core/Makefile b/core/Makefile new file mode 100644 index 00000000..7e033dfa --- /dev/null +++ b/core/Makefile @@ -0,0 +1,10 @@ +include ../Makefile.inc +.PHONY: all clean install core + +all: gdt.o idt.o irq.o isrs.o kbd.o kprintf.o timer.o vga.o + +%.o: %.c + ${CC} ${CFLAGS} -I../include -c -o $@ $< + +clean: + -rm -f *.o diff --git a/gdt.c b/core/gdt.c similarity index 100% rename from gdt.c rename to core/gdt.c diff --git a/idt.c b/core/idt.c similarity index 100% rename from idt.c rename to core/idt.c diff --git a/irq.c b/core/irq.c similarity index 100% rename from irq.c rename to core/irq.c diff --git a/isrs.c b/core/isrs.c similarity index 100% rename from isrs.c rename to core/isrs.c diff --git a/kbd.c b/core/kbd.c similarity index 100% rename from kbd.c rename to core/kbd.c diff --git a/kprintf.c b/core/kprintf.c similarity index 100% rename from kprintf.c rename to core/kprintf.c diff --git a/timer.c b/core/timer.c similarity index 100% rename from timer.c rename to core/timer.c diff --git a/vga.c b/core/vga.c similarity index 100% rename from vga.c rename to core/vga.c