blob: 83fa8a4f4ed8682e8f1738bd40fb5f998755c8f7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
OBJ = drivers/tty.o kernel/main.o boot/head.o kernel/io.o kernel/gdt-as.o kernel/gdt.o libc/stdio.o libc/string.o kernel/idt.o kernel/idt-as.o kernel/isr.o kernel/irq-as.o kernel/isr-as.o kernel/irq.o kernel/panic.o
CC = gcc
LD = ld
INCLUDES = -Idrivers -Ikernel/include -Ilibc/include
CFLAGS = -std=gnu99 -ffreestanding -fno-stack-protector -nostdlib -Wall -Wextra -m32 $(INCLUDES) -g
AS = as
ASFLAGS=-march=i686 --32
all: kappa.bin
test: iso
qemu-system-i386 kappa.iso
iso: kappa.bin
mkdir -p isodir
mkdir -p isodir/boot
cp kappa.bin isodir/efi.img
cp kappa.bin isodir/boot/kappa.bin
mkdir -p isodir/boot/grub
cp cdrom/grub.cfg isodir/boot/grub
grub-mkrescue -o kappa.iso isodir
kappa.bin: $(OBJ) $(SOURCES) Makefile
$(LD) -T kernel/linker.ld -o kappa.bin -melf_i386 $(OBJ)
%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@
%.o: %.S
$(AS) $(ASFLAGS) -c $< -o $@
clean:
rm -f $(OBJ) kappa.iso kappa.bin
|