]> git.dujemihanovic.xyz Git - nameless-os.git/blob - Makefile
7001c99b6359d03cd4b26c934e903e2b0079e473
[nameless-os.git] / Makefile
1 AS = yasm
2 LD = i686-elf-ld
3 CC = i686-elf-gcc
4
5 all: boot.img
6
7 boot.img: boot kernel/kernel.bin
8 cat boot kernel/kernel.bin > $@
9 truncate -s1440K $@
10
11 boot: boot.s
12 $(AS) -f bin boot.s -o $@
13
14 kernel/kernel.bin: kernel/entry.o kernel/kernel.o
15 $(LD) -o $@ -Ttext 0x1000 kernel/entry.o kernel/kernel.o --oformat=binary
16
17 kernel/entry.o: kernel/entry.s
18 $(AS) -f elf kernel/entry.s -o $@
19
20 kernel/kernel.o: kernel/kernel.c
21 $(CC) -o $@ -ffreestanding -c kernel/kernel.c
22
23 clean:
24 rm boot kernel/kernel.bin kernel/entry.o kernel/kernel.o boot.img
25
26 .PHONY: all clean