2017-11-01 04:53:54 +00:00
|
|
|
CCPREFIX = i686-elf-
|
|
|
|
|
|
|
|
AS = $(CCPREFIX)as
|
|
|
|
CC = $(CCPREFIX)gcc
|
|
|
|
|
2017-11-03 02:22:19 +00:00
|
|
|
OBJS = boot.s.o main.c.o
|
|
|
|
OBJS += logger.c.o console.c.o
|
|
|
|
OBJS += multiboot.c.o
|
2017-11-03 02:51:24 +00:00
|
|
|
|
2017-11-03 02:22:19 +00:00
|
|
|
OBJS += protected.c.o protected.asm.cpp.o
|
2017-11-03 02:27:21 +00:00
|
|
|
OBJS += exception.c.o exception.asm.cpp.o
|
2017-11-03 02:51:24 +00:00
|
|
|
OBJS += hwint.c.o hwint.asm.cpp.o
|
2017-11-01 09:20:44 +00:00
|
|
|
|
2017-11-01 04:53:54 +00:00
|
|
|
all: kernel
|
|
|
|
|
|
|
|
clean:
|
2017-11-01 05:01:29 +00:00
|
|
|
rm -f kernel $(OBJS)
|
2017-11-01 04:53:54 +00:00
|
|
|
|
|
|
|
kernel: $(OBJS)
|
2017-11-01 06:42:30 +00:00
|
|
|
$(CC) -T linker.ld -o $@ -ffreestanding -nostdlib -lgcc $(OBJS)
|
2017-11-01 08:53:27 +00:00
|
|
|
grub-file --is-x86-multiboot2 $@
|
2017-11-01 04:53:54 +00:00
|
|
|
|
|
|
|
%.c.o: %.c
|
2017-11-03 01:59:18 +00:00
|
|
|
$(CC) -c $< -o $@ -std=gnu99 -ffreestanding -nostdinc -fno-builtin -fno-stack-protector -Wall -Wextra
|
2017-11-01 04:53:54 +00:00
|
|
|
|
|
|
|
%.s.o: %.s
|
|
|
|
$(AS) $< -o $@
|
2017-11-01 05:26:22 +00:00
|
|
|
|
2017-11-02 16:01:00 +00:00
|
|
|
%.asm.cpp.o: %.asm.cpp
|
|
|
|
nasm -felf -o $@ $<
|
|
|
|
|
|
|
|
%.asm.cpp: %.asm
|
|
|
|
cpp -P $< $@
|