diff options
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..dee9099 --- /dev/null +++ b/Makefile @@ -0,0 +1,27 @@ +CC = i686-elf-gcc +AS = nasm +CFLAGS = -std=gnu99 -ffreestanding -O2 -Wall -Wextra + +SRCS = src/kernel.c +OBJS = src/boot.o src/kernel.o + +all: FrenchToastOS.iso + +src/boot.o: src/boot.asm + $(AS) -f elf32 src/boot.asm -o src/boot.o + +src/kernel.o: src/kernel.c + $(CC) $(CFLAGS) -c src/kernel.c -o src/kernel.o + +FrenchToastOS.bin: $(OBJS) + $(CC) -T linker.ld -o FrenchToastOS.bin -ffreestanding -O2 -nostdlib $(OBJS) -lgcc + +FrenchToastOS.iso: FrenchToastOS.bin + mkdir -p isodir/boot/grub + cp FrenchToastOS.bin isodir/boot/ + cp boot/grub.cfg isodir/boot/grub/ + grub-mkrescue -o FrenchToastOS.iso isodir + +clean: + rm -f $(OBJS) FrenchToastOS.bin FrenchToastOS.iso + rm -rf isodir |
