aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorArslaan Pathan <[email protected]>2026-03-17 19:44:27 +1300
committerArslaan Pathan <[email protected]>2026-03-17 19:44:27 +1300
commit6135c121ced6d4879a30cc7a6a5bed1a2d0975cd (patch)
tree1e064acabc73596ca96400d80b1ea97489b7f803 /Makefile
parentd0526ce2d7702f19f90d143be9441ee51b838be9 (diff)
downloadFrenchToastOS-6135c121ced6d4879a30cc7a6a5bed1a2d0975cd.tar.xz
FrenchToastOS-6135c121ced6d4879a30cc7a6a5bed1a2d0975cd.zip
Create Makefile (yes i know it doesnt work yet) and boot.s
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile27
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