-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
38 lines (32 loc) · 1.3 KB
/
Makefile
File metadata and controls
38 lines (32 loc) · 1.3 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
UNAME := $(shell uname)
ifeq ($(UNAME), Linux)
CC = gcc
SOURCES=./src/boot.o ./src/monitor.o ./src/common.o ./src/kmain.o ./src/descriptor_tables.o ./src/descriptor_tables_asm.o ./src/isr.o ./src/interrupt.o ./src/keyboard.o ./src/timer.o ./src/kheap.o ./src/paging.o ./src/ordered_array.o ./src/fs.o ./src/initrd.o
CFLAGS=-m32 -nostdlib -nostdinc -fno-builtin -fno-stack-protector
LDFLAGS=-m elf_i386 -T ./src/link.ld
ASFLAGS=-f elf32
all: $(SOURCES) link
$(shell cp kernel isodir/boot/kernel)
$(shell grub-mkrescue -o mx_kernel.iso isodir)
clean:
-rm ./src/*.o kernel ./isodir/boot/kernel core.iso
link:
ld $(LDFLAGS) -o kernel $(SOURCES)
.s.o:
nasm $(ASFLAGS) $<
else
CC = i386-elf-gcc
SOURCES=./src/boot.o ./src/monitor.o ./src/common.o ./src/kmain.o ./src/descriptor_tables.o ./src/descriptor_tables_asm.o ./src/isr.o ./src/interrupt.o ./src/keyboard.o ./src/timer.o ./src/kheap.o ./src/paging.o ./src/ordered_array.o ./src/fs.o ./src/initrd.o
CFLAGS=-m32 -nostdlib -nostdinc -fno-builtin -fno-stack-protector
LDFLAGS=-m elf_i386 -T ./src/link.ld
ASFLAGS=-f elf32
all: $(SOURCES) link
$(shell cp kernel isodir/boot/kernel)
$(shell grub-mkrescue -o core.iso isodir)
clean:
-rm ./src/*.o kernel ./isodir/boot/kernel core.iso
link:
i386-elf-ld $(LDFLAGS) -o kernel $(SOURCES)
.s.o:
nasm $(ASFLAGS) $<
endif