1 KERNEL_OBJ
= kernel.o entry.o
3 include drivers
/Makefile
4 include arch
/x86
/Makefile
6 ASFLAGS_BASE
= -f elf
-g dwarf2
7 CFLAGS_BASE
= -fgnu89-inline
-ffreestanding
-nostdlib
-Iinclude \
8 -Iinclude
/arch
/x86
-g
-DGIT_COMMIT
=\"$(GIT_REV
)\" \
10 LDFLAGS_BASE
= -ffreestanding
-nostdlib
-lgcc
-g
-flto
12 kernel.elf kernel.dbg
: $(KERNEL_OBJ
)
13 $(REAL_CC
) $(LDFLAGS_BASE
) $(LDFLAGS
) -T linker.
ld $^
-o
$@
14 $(CROSS_COMPILE
)objcopy
--only-keep-debug kernel.elf kernel.dbg
15 $(CROSS_COMPILE
)objcopy
--add-gnu-debuglink
=kernel.dbg kernel.elf
16 $(CROSS_COMPILE
)strip --strip-unneeded kernel.elf
19 -rm $(KERNEL_OBJ
) kernel.elf kernel.dbg
23 $(REAL_CC
) $(CFLAGS_BASE
) $(CFLAGS
) -c
$< -o
$@
26 $(AS
) $(ASFLAGS_BASE
) $(ASFLAGS
) $< -o
$@