4,23 → 4,31 |
|
INCLUDE = include/ |
|
DEFS = -DUSE_SMP |
DEFS = -DUSE_SMP -DCONFIG_DEBUG |
|
CFLAGS = -c -O2 -DCONFIG_DEBUG -I $(INCLUDE) -fomit-frame-pointer -fno-builtin-printf -masm=intel |
CFLAGS = -c -O2 -I $(INCLUDE) -fomit-frame-pointer -fno-builtin-printf -masm=intel |
LDFLAGS = -shared -s -Map kernel.map --image-base 0x100000 --file-alignment 32 |
|
|
KERNEL_SRC:= \ |
kernel.asm \ |
core/memory.inc \ |
core/heap.inc \ |
core/taskman.inc \ |
core/sys32.inc \ |
core/dll.inc |
|
PE_SRC:= \ |
init.c \ |
mm.c \ |
slab.c \ |
heap.c \ |
spinlock.c \ |
boot/boot.asm \ |
boot/start.asm |
|
|
KERNEL_OBJS = $(patsubst %.s, bin/%.obj, $(patsubst %.asm, bin/%.obj,\ |
$(patsubst %.c, bin/%.obj, $(KERNEL_SRC)))) |
PE_OBJS = $(patsubst %.s, bin/%.obj, $(patsubst %.asm, bin/%.obj,\ |
$(patsubst %.c, bin/%.obj, $(PE_SRC)))) |
|
|
all: kernel.gz |
28,8 → 36,8 |
kernel.gz :kernel.mnt |
7z a -tgzip kernel.gz kernel.mnt |
|
kernel.mnt: $(KERNEL_OBJS) Makefile ld.x |
ld $(LDFLAGS) -T ld.x -o $@ $(KERNEL_OBJS) |
kernel.mnt: kernel.obj $(PE_OBJS) Makefile ld.x |
ld $(LDFLAGS) -T ld.x -o $@ kernel.obj $(PE_OBJS) |
|
bin/%.obj : core/%.c Makefile |
$(CC) $(CFLAGS) -o $@ $< |
37,6 → 45,9 |
bin/%.obj: %.asm |
$(FASM) $< $@ |
|
kernel.obj: $(KERNEL_SRC) |
$(FASM) kernel.asm |
|
all: $(SUBDIRS) |
|
.PHONY: all |