From a2a4a155c259d24101435771607b81f167b62cf3 Mon Sep 17 00:00:00 2001 From: Simponic Date: Sat, 20 Feb 2021 23:24:25 -0700 Subject: Changed to nasm --- makefile | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 makefile (limited to 'makefile') diff --git a/makefile b/makefile new file mode 100644 index 0000000..acda2c3 --- /dev/null +++ b/makefile @@ -0,0 +1,27 @@ +# vim: noexpandtab tabstop=4 shiftwidth=4 +CXX = i386-elf-gcc +CFLAGS = -std=gnu99 -ffreestanding -O2 -Wall -Wextra -nostdlib -Iinclude +ASM = nasm + +OBJECTS = gdt.o boot.o print.o kernel.o + +%.o : src/%.c + $(CXX) $(CFLAGS) -o $@ -c $< + +%.o : src/%.s + $(ASM) -felf32 $< -o $@ + +os.bin : $(OBJECTS) + $(CXX) -T linker.ld -o os.bin $(CFLAGS) $(OBJECTS) -lgcc + +os.iso : os.bin + mkdir -p isodir/boot/grub + mv os.bin isodir/boot/os.bin + echo "menuentry 'os' {" >> grub.cfg + echo " multiboot /boot/os.bin" >> grub.cfg + echo "}" >> grub.cfg + mv grub.cfg isodir/boot/grub/grub.cfg + grub-mkrescue -o os.iso isodir + +clean : + rm -rf *.o *.iso *.bin *.cfg isodir/ -- cgit v1.2.3-70-g09d2