Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- OBJECTS = loader.o kernel/main.o
- CC = gcc
- CFLAGS = -m64 -fno-stack-protector \
- -O2 -Wall -Wextra -Werror -c
- LDFLAGS = -T link.ld -m elf_x86_64
- AS = nasm
- ASFLAGS = -f elf64
- all: kernel.elf
- kernel.elf: $(OBJECTS)
- ld $(LDFLAGS) $(OBJECTS) -o kernel.elf -L/usr/lib/x86_64-linux-gnu -lc
- os.iso: kernel.elf
- cp kernel.elf iso/boot/kernel.elf
- genisoimage -R \
- -b boot/grub/stage2_eltorito \
- -no-emul-boot \
- -boot-load-size 4 \
- -A mdos \
- -input-charset utf8 \
- -quiet \
- -boot-info-table \
- -o os.iso \
- iso
- run: os.iso
- qemu-system-x86_64 -cdrom os.iso -m 512
- %.o: %.s
- $(AS) $(ASFLAGS) $< -o $@
- %.o: %.c
- $(CC) $(CFLAGS) $< -o $@
- clean:
- rm -rf *.o kernel/*.o kernel.elf os.iso
Add Comment
Please, Sign In to add comment