summaryrefslogtreecommitdiff
path: root/Makefile
blob: 8bb5127cbafb7a0ca929bff373402e0c4ab765ae (plain) (blame)
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
nasm=nasm -f elf -g
TARGET=kernel

all: $(TARGET)

boot.o: boot.asm
	$(nasm) -o boot.o boot.asm

io.o: io.asm
	$(nasm) -o io.o  io.asm

irq.o: irq.asm
	$(nasm) -o irq.o irq.asm

kernel.o: kernel.asm
	$(nasm) -o kernel.o kernel.asm

$(TARGET): irq.o io.o kernel.o boot.o
	ld -g -m elf_i386 -T link.ld -o $(TARGET) boot.o io.o irq.o kernel.o

run: $(TARGET)
	qemu-system-i386 -m 2M -kernel $(TARGET)

debug: $(TARGET)
	qemu-system-i386 -d int,guest_errors -no-reboot -s -S -m 8M -kernel $(TARGET) &
	gdb -ex 'kdev' \
		-ex 'continue' \
		$(TARGET)

clean:
	rm -f kernel
	rm *.o