-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
43 lines (34 loc) · 1.02 KB
/
Copy pathMakefile
File metadata and controls
43 lines (34 loc) · 1.02 KB
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
35
36
37
38
39
40
41
42
43
all: os-image
os-image: boot/bootloader kernel/kernel
cat boot/bootloader kernel/kernel > os-image
boot/bootloader: boot/boot.asm
nasm -f bin boot/boot.asm -o boot/bootloader
kernel/kernel: \
kernel/kernel_entry.o \
kernel/kernel.o \
kernel/display.o \
kernel/lowlevel.o
ld -m elf_i386 \
-Ttext 0x1000 \
-o kernel/kernel \
kernel/kernel_entry.o \
kernel/kernel.o \
kernel/display.o \
kernel/lowlevel.o \
--oformat binary
kernel/kernel_entry.o: kernel/kernel_entry.asm
nasm -f elf32 kernel/kernel_entry.asm -o kernel/kernel_entry.o
kernel/kernel.o: kernel/kernel.c
gcc -m32 -ffreestanding -fno-pie -fno-pic -c kernel/kernel.c -o kernel/kernel.o
kernel/display.o: kernel/display.c
gcc -m32 -ffreestanding -fno-pie -fno-pic -c kernel/display.c -o kernel/display.o
kernel/lowlevel.o: kernel/lowlevel.c
gcc -m32 -ffreestanding -fno-pic -fno-pic -c kernel/lowlevel.c -o kernel/lowlevel.o
start: os-image
qemu-system-x86_64 os-image
clean:
rm -f \
boot/bootloader \
os-image \
kernel/kernel \
kernel/*.o