]> git.dujemihanovic.xyz Git - nameless-os.git/blobdiff - boot/x86/Makefile
Compile stage3 in ELF format
[nameless-os.git] / boot / x86 / Makefile
index 1de8199c99b304f2de447804485c5f1b14867932..0e5ac00e050076b8f09aaa7ccc74eeb6ab313691 100644 (file)
@@ -1,15 +1,23 @@
 default: mbr vbr-fat32 stage3/LOADER.BIN
 
+LD=i686-elf-gcc
+LDFLAGS=-T stage3/stage3.ld -nostdlib
+
+STAGE3_OBJ=stage3/loader.o
+
 mbr: mbr.s
        $(AS) $(ASFLAGS) -w-zeroing -o $@ $<
 
 vbr-fat32: vbr-fat32.s fat32/*.s
        $(AS) $(ASFLAGS) -o $@ $<
 
-stage3/LOADER.BIN: stage3/loader.s stage3/*.s
-       $(AS) $(ASFLAGS) -DGIT_REVISION=\"$(GIT_REV)\" -o $@ $<
+stage3/LOADER.BIN: $(STAGE3_OBJ)
+       $(LD) $(LDFLAGS) -o $@ $<
+
+stage3/loader.o: stage3/loader.s stage3/*.s
+       $(AS) $(ASFLAGS) -f elf -g dwarf2 -DGIT_REVISION=\"$(GIT_REV)\" -o $@ $<
 
 clean:
-       -rm mbr vbr-fat32 stage3/LOADER.BIN disk.img
+       -rm mbr vbr-fat32 stage3/LOADER.BIN $(STAGE3_OBJ) disk.img
 
 .PHONY : default clean