X-Git-Url: http://git.dujemihanovic.xyz/%7B%7B?a=blobdiff_plain;f=boot%2Fx86%2FMakefile;h=e75e8dc23573c664b7cbeb8de2ab66ae69720b39;hb=da4e7bf5dd2b9448b638255a20ee503b0641e495;hp=1de8199c99b304f2de447804485c5f1b14867932;hpb=ee5194ad075743971dc98d67f4abba8c118df976;p=nameless-os.git diff --git a/boot/x86/Makefile b/boot/x86/Makefile index 1de8199..e75e8dc 100644 --- a/boot/x86/Makefile +++ b/boot/x86/Makefile @@ -1,4 +1,10 @@ -default: mbr vbr-fat32 stage3/LOADER.BIN +default: mbr vbr-fat32 stage3/LOADER.BIN stage3/loader.elf + +CFLAGS=-g -ffreestanding -Istage3 +LD=i686-elf-gcc +LDFLAGS=-T stage3/stage3.ld -ffreestanding -nostdlib -g + +STAGE3_OBJ=stage3/loader.o stage3/paging.o stage3/elf.o stage3/prekernel.o mbr: mbr.s $(AS) $(ASFLAGS) -w-zeroing -o $@ $< @@ -6,10 +12,16 @@ mbr: mbr.s 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.elf: $(STAGE3_OBJ) + $(CC) $(LDFLAGS) -o $@ $^ -lgcc -Wl,--oformat=elf32-i386 + +stage3/LOADER.BIN: $(STAGE3_OBJ) + $(CC) $(LDFLAGS) -o $@ $^ -lgcc + +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/loader.elf $(STAGE3_OBJ) disk.img .PHONY : default clean