]> git.dujemihanovic.xyz Git - nameless-os.git/blob - boot/x86/stage3/Makefile
kernel: Huge refactoring of tty driver
[nameless-os.git] / boot / x86 / stage3 / Makefile
1 STAGE3_OBJ = loader.o elf.o paging.o prekernel.o
2
3 ASFLAGS_BASE = -f elf -g dwarf2 -DGIT_REVISION=\"$(GIT_REV)\"
4 CFLAGS_BASE = -ffreestanding -nostdlib -DGIT_REVISION=\"$(GIT_REV)\" -g \
5 -Og
6 LDFLAGS_BASE = -ffreestanding -nostdlib -g -lgcc -T stage3.ld -flto
7
8 default: LOADER.BIN loader.elf
9
10 loader.elf: $(STAGE3_OBJ)
11 $(REAL_CC) $(LDFLAGS_BASE) $(LDFLAGS) -Wl,--oformat=elf32-i386 $^ -o $@
12
13 LOADER.BIN: $(STAGE3_OBJ)
14 $(REAL_CC) $(LDFLAGS_BASE) $(LDFLAGS) $^ -o $@
15
16 # Implicit rules
17 %.o: %.c
18 $(REAL_CC) $(CFLAGS_BASE) $(CFLAGS) -c $< -o $@
19
20 %.o: %.s
21 $(AS) $(ASFLAGS_BASE) $(ASFLAGS) $< -o $@
22
23 clean:
24 -rm -f $(STAGE3_OBJ) LOADER.BIN loader.elf
25
26 .PHONY: default clean