]> git.dujemihanovic.xyz Git - nameless-os.git/blobdiff - boot/x86/Makefile
all: Export {C,LD,AS}FLAGS
[nameless-os.git] / boot / x86 / Makefile
index 0349d2ae8b9d5d1cacb1786f5543b4fcd9544ec3..89891a8a8f4b2ef4e55c750a68111cd66a8c73af 100644 (file)
@@ -1,25 +1,19 @@
-default: mbr vbr-fat32 LOADER.BIN
+BOOTLOADER_OBJ = mbr vbr-fat32
+ASFLAGS_BASE = -w-zeroing
 
-all: mbr vbr-fat32 LOADER.BIN disk.img
+default: $(BOOTLOADER_OBJ) stage3
 
-mbr: mbr.s
-       $(AS) $(ASFLAGS) -w-zeroing -o $@ $<
+stage3:
+       $(MAKE) -C stage3
 
-vbr-fat32: vbr-fat32.s fat32.s fat32-structs.s
-       $(AS) $(ASFLAGS) -o $@ $<
-
-LOADER.BIN: loader.s
-       $(AS) $(ASFLAGS) -o $@ $<
-
-disk.img: mbr vbr-fat32 LOADER.BIN disk.dump
-       truncate -s100M disk.img
-       sfdisk disk.img < disk.dump
-       mkfs.fat -F 32 --offset 2048 disk.img
-       dd if=mbr of=disk.img bs=440 count=1 conv=notrunc
-       dd if=vbr-fat32 of=disk.img bs=1 skip=90 seek=1048666 conv=notrunc
-       mcopy -i disk.img@@1M LOADER.BIN ::.
+vbr-fat32: vbr-fat32.s fat32/*.s
 
 clean:
-       -rm mbr vbr-fat32 LOADER.BIN disk.img
+       -rm mbr vbr-fat32 disk.img
+       $(MAKE) -C stage3 clean
+
+# Implicit rules
+%: %.s
+       $(AS) $(ASFLAGS_BASE) $(ASFLAGS) -f bin $< -o $@
 
-.PHONY : default all clean
+.PHONY : default clean stage3