From e478fd64815fd83596d69d17129e37ff65dc4ac6 Mon Sep 17 00:00:00 2001
From: "Hazal2.Veziroglu@live.uwe.ac.uk" <hazal2.veziroglu@live.uwe.ac.uk>
Date: Fri, 6 Dec 2024 10:10:17 +0000
Subject: [PATCH] Update file Makefile

---
 tiny-os/Makefile | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)
 create mode 100644 tiny-os/Makefile

diff --git a/tiny-os/Makefile b/tiny-os/Makefile
new file mode 100644
index 0000000..2423b88
--- /dev/null
+++ b/tiny-os/Makefile
@@ -0,0 +1,36 @@
+AS = nasm
+CC = x86_64-elf-gcc
+LD = /usr/local/bin/x86_64-elf-ld
+CFLAGS = -ffreestanding -m32 -Iinclude
+LDFLAGS = -melf_i386
+
+ISO_DIR = iso/boot/grub
+
+all: os.iso
+
+kernel.elf: source/loader.o source/kernel.o source/fb.o source/io.o
+	$(LD) -T source/link.ld $(LDFLAGS) source/loader.o source/kernel.o source/fb.o source/io.o -o kernel.elf
+
+source/loader.o: source/loader.asm
+	$(AS) -f elf source/loader.asm -o source/loader.o
+
+source/kernel.o: source/kernel.c
+	$(CC) -c source/kernel.c -o source/kernel.o $(CFLAGS)
+
+source/fb.o: source/fb.c
+	$(CC) -c source/fb.c -o source/fb.o $(CFLAGS)
+
+source/io.o: source/io.c
+	$(CC) -c source/io.c -o source/io.o $(CFLAGS)
+
+os.iso: kernel.elf
+	mkdir -p $(ISO_DIR)
+	cp kernel.elf iso/boot/
+	cp /Users/hazalveziroglu/OperatingSystem/tiny-os/iso/boot/grub/stage2_eltorito iso/boot/grub/
+	echo "default=0\ntimeout=0\ntitle Tiny OS\nkernel /boot/kernel.elf" > $(ISO_DIR)/menu.lst
+	mkisofs -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
+
+clean:
+	rm -f source/*.o kernel.elf os.iso
-- 
GitLab