mirror of https://github.com/garritfra/ditto-os
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
891 B
37 lines
891 B
OBJECTS = io.o loader.o kmain.o fb.o serial.o std.o |
|
CC = gcc |
|
CFLAGS = -m32 -nostdlib -nostdinc -fno-builtin -fno-stack-protector \ |
|
-nostartfiles -nodefaultlibs -Wall -Wextra -Werror -c |
|
LDFLAGS = -T link.ld -melf_i386 |
|
AS = nasm |
|
ASFLAGS = -f elf |
|
|
|
all: kernel.elf |
|
|
|
kernel.elf: $(OBJECTS) |
|
ld $(LDFLAGS) $(OBJECTS) -o kernel.elf |
|
|
|
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 os \ |
|
-input-charset utf8 \ |
|
-quiet \ |
|
-boot-info-table \ |
|
-o os.iso \ |
|
iso |
|
|
|
run: os.iso |
|
bochs -f bochsrc.txt -q |
|
|
|
%.o: %.c |
|
$(CC) $(CFLAGS) $< -o $@ |
|
|
|
%.o: %.s |
|
$(AS) $(ASFLAGS) $< -o $@ |
|
|
|
clean: |
|
rm -rf *.o kernel.elf os.iso
|