]> git.dujemihanovic.xyz Git - nameless-os.git/blob - boot/x86/stage3/Makefile
c9622b20db8ba34c273c681b213404e64df3a94e
[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 LDFLAGS_BASE = -ffreestanding -nostdlib -g -lgcc -T stage3.ld
6
7 default: LOADER.BIN loader.elf
8
9 loader.elf: $(STAGE3_OBJ)
10 $(CC) $(LDFLAGS_BASE) $(LDFLAGS) -Wl,--oformat=elf32-i386 $^ -o $@
11
12 LOADER.BIN: $(STAGE3_OBJ)
13 $(CC) $(LDFLAGS_BASE) $(LDFLAGS) $^ -o $@
14
15 # Implicit rules
16 %.o: %.c
17 $(CC) $(CFLAGS_BASE) $(CFLAGS) -c $< -o $@
18
19 %.o: %.s
20 $(AS) $(ASFLAGS_BASE) $(ASFLAGS) $< -o $@
21
22 clean:
23 -rm -f $(STAGE3_OBJ) LOADER.BIN loader.elf
24
25 .PHONY: default clean