]> git.dujemihanovic.xyz Git - nameless-os.git/blob - boot/x86/Makefile
Load ELF kernel instead of flat binary
[nameless-os.git] / boot / x86 / Makefile
1 default: mbr vbr-fat32 stage3/LOADER.BIN stage3/loader.elf
2
3 CFLAGS=-g -ffreestanding -Istage3
4 LD=i686-elf-gcc
5 LDFLAGS=-T stage3/stage3.ld -ffreestanding -nostdlib -g
6
7 STAGE3_OBJ=stage3/loader.o stage3/paging.o stage3/elf.o stage3/prekernel.o
8
9 mbr: mbr.s
10 $(AS) $(ASFLAGS) -w-zeroing -o $@ $<
11
12 vbr-fat32: vbr-fat32.s fat32/*.s
13 $(AS) $(ASFLAGS) -o $@ $<
14
15 stage3/loader.elf: $(STAGE3_OBJ)
16 $(CC) $(LDFLAGS) -o $@ $^ -lgcc -Wl,--oformat=elf32-i386
17
18 stage3/LOADER.BIN: $(STAGE3_OBJ)
19 $(CC) $(LDFLAGS) -o $@ $^ -lgcc
20
21 stage3/loader.o: stage3/loader.s stage3/*.s
22 $(AS) $(ASFLAGS) -f elf -g dwarf2 -DGIT_REVISION=\"$(GIT_REV)\" -o $@ $<
23
24 clean:
25 -rm mbr vbr-fat32 stage3/LOADER.BIN stage3/loader.elf $(STAGE3_OBJ) disk.img
26
27 .PHONY : default clean