gdt working
This commit is contained in:
@@ -1,23 +1,14 @@
|
||||
|
||||
OSNAME = CustomOS
|
||||
|
||||
GNUEFI = ../gnu-efi
|
||||
OVMFDIR = ../OVMFbin
|
||||
LDS = kernel.ld
|
||||
CC = gcc
|
||||
ASMC = nasm
|
||||
LD = ld
|
||||
|
||||
CFLAGS = -ffreestanding -fshort-wchar
|
||||
LDFLAGS = -T $(LDS) -static -Bsymbolic -nostdlib
|
||||
OSNAME = CustomOS
|
||||
|
||||
GNUEFI = ../gnu-efi
|
||||
OVMFDIR = ../OVMFbin
|
||||
LDS = kernel.ld
|
||||
CC = gcc
|
||||
LD = ld
|
||||
|
||||
CFLAGS = -ffreestanding -fshort-wchar
|
||||
ASMFLAGS =
|
||||
LDFLAGS = -T $(LDS) -static -Bsymbolic -nostdlib
|
||||
|
||||
SRCDIR := src
|
||||
@@ -27,8 +18,10 @@ BOOTEFI := $(GNUEFI)/x86_64/bootloader/main.efi
|
||||
|
||||
rwildcard=$(foreach d,$(wildcard $(1:=/*)),$(call rwildcard,$d,$2) $(filter $(subst *,%,$2),$d))
|
||||
|
||||
SRC = $(call rwildcard,$(SRCDIR),*.cpp)
|
||||
SRC = $(call rwildcard,$(SRCDIR),*.cpp)
|
||||
ASMSRC = $(call rwildcard,$(SRCDIR),*.asm)
|
||||
OBJS = $(patsubst $(SRCDIR)/%.cpp, $(OBJDIR)/%.o, $(SRC))
|
||||
OBJS += $(patsubst $(SRCDIR)/%.asm, $(OBJDIR)/%_asm.o, $(ASMSRC))
|
||||
DIRS = $(wildcard $(SRCDIR)/*)
|
||||
|
||||
kernel: $(OBJS) link
|
||||
@@ -38,9 +31,13 @@ $(OBJDIR)/%.o: $(SRCDIR)/%.cpp
|
||||
@ mkdir -p $(@D)
|
||||
$(CC) $(CFLAGS) -c $^ -o $@
|
||||
|
||||
$(OBJDIR)/%_asm.o: $(SRCDIR)/%.asm
|
||||
@ echo !==== ASSEMBLING $^
|
||||
@ mkdir -p $(@D)
|
||||
$(ASMC) $(ASMFLAGS) $^ -f elf64 -o $@
|
||||
|
||||
link:
|
||||
@ echo !==== LINKING
|
||||
@echo $(OBJS)
|
||||
$(LD) $(LDFLAGS) -o $(BUILDDIR)/kernel.elf $(OBJS)
|
||||
|
||||
setup:
|
||||
|
||||
Reference in New Issue
Block a user