summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile23
1 files changed, 13 insertions, 10 deletions
diff --git a/Makefile b/Makefile
index dd02b46..e99a6a6 100644
--- a/Makefile
+++ b/Makefile
@@ -10,10 +10,12 @@ CP=cp
QEMU=qemu-system-x86_64
SOURCE_DIR=src
+BUILD_DIR=${CURDIR}/build
+ISO_DIR=isodir
AS_SOURCE_DIR=$(SOURCE_DIR)/as
C_SOURCE_DIR=$(SOURCE_DIR)/c
-export BUILD_DIR=${CURDIR}/build
-ISO_DIR=isodir
+export AS_OBJECT_DIR=$(BUILD_DIR)/as
+export C_OBJECT_DIR=$(BUILD_DIR)/c
TARGET=myos
BINARY=$(BUILD_DIR)/$(TARGET).bin
@@ -21,19 +23,19 @@ ISO=$(TARGET).iso
CRTI_SOURCE=crti.s
CRTN_SOURCE=crtn.s
-AS_SOURCE=boot.s irq.s
-C_SOURCES=gdt.c heap.c idt.c kernel.c keyboard.c keymap.c stdio.c string.c tty.c vga.c irq_handler.c stack_protector.c timer.c
+AS_SOURCE=boot.s irq.s paging.s
+C_SOURCES=gdt.c heap.c idt.c kernel.c keyboard.c keymap.c stdio.c string.c tty.c vga.c irq.c stack_protector.c timer.c paging.c
C_SOURCE_FILES=$(patsubst %,$(C_SOURCE_DIR)/%,$(C_SOURCES))
-export C_OBJECTS=$(patsubst %,$(BUILD_DIR)/%,$(C_SOURCES:c=o))
+export C_OBJECTS=$(patsubst %,$(C_OBJECT_DIR)/%,$(C_SOURCES:c=o))
-AS_OBJECT=$(patsubst %,$(BUILD_DIR)/%,$(AS_SOURCE:s=o))
-CRTI_OBJECT=$(patsubst %,$(BUILD_DIR)/%,$(CRTI_SOURCE:s=o))
-CRTN_OBJECT=$(patsubst %,$(BUILD_DIR)/%,$(CRTN_SOURCE:s=o))
+AS_OBJECT=$(patsubst %,$(AS_OBJECT_DIR)/%,$(AS_SOURCE:s=o))
+CRTI_OBJECT=$(patsubst %,$(AS_OBJECT_DIR)/%,$(CRTI_SOURCE:s=o))
+CRTN_OBJECT=$(patsubst %,$(AS_OBJECT_DIR)/%,$(CRTN_SOURCE:s=o))
AS_SOURCES=$(AS_SOURCE) $(CRTI_SOURCE) $(CRTN_SOURCE)
AS_SOURCE_FILES=$(patsubst %,$(AS_SOURCE_DIR)/%,$(AS_SOURCES))
-export AS_OBJECTS=$(patsubst %,$(BUILD_DIR)/%,$(AS_SOURCES:s=o))
+export AS_OBJECTS=$(patsubst %,$(AS_OBJECT_DIR)/%,$(AS_SOURCES:s=o))
CRTBEGIN_OBJ=$(shell $(CC) -print-file-name=crtbegin.o)
CRTEND_OBJ=$(shell $(CC) -print-file-name=crtend.o)
@@ -48,7 +50,8 @@ $(BINARY): $(OBJ)
$(CC) -T $(SOURCE_DIR)/linker.ld -o $(BINARY) $(CFLAGS) -nostdlib -lgcc $(OBJ)
compile: $(AS_SOURCE_FILES) $(C_SOURCE_FILES)
- $(MKDIR) $(BUILD_DIR)
+ $(MKDIR) $(AS_OBJECT_DIR)
+ $(MKDIR) $(C_OBJECT_DIR)
$(MAKE) --directory $(AS_SOURCE_DIR)
$(MAKE) --directory $(C_SOURCE_DIR)
$(MAKE) $(BINARY)