]>
git.dujemihanovic.xyz Git - nameless-os.git/blob - Makefile
5 GIT_REV
= $(shell git rev-parse
--short HEAD
)
7 CFLAGS
= -std
=gnu89
-g
-Iinclude
/arch
/x86
-ffreestanding
-DGIT_COMMIT
=\"$(GIT_REV
)\"
9 KERNEL_OBJ
= kernel
/entry.o kernel
/arch
/x86
/tty
/tty.o kernel
/drivers
/irq
/i8259a.o kernel
/arch
/x86
/irq
/idt.o kernel
/arch
/x86
/irq
/sample_handler.o kernel
/kernel.o
11 all: boot.img kernel
/kernel.elf
13 boot.img
: boot
/x86
/boot kernel
/kernel.bin
14 cat boot
/x86
/boot kernel
/kernel.bin
> $@
17 boot
/x86
/boot
: boot
/x86
/boot.s boot
/x86
/a20.s boot
/x86
/protected.s boot
/x86
/print.s
18 $(AS
) -f bin boot
/x86
/boot.s
-o
$@
20 kernel
/kernel.bin
: ${KERNEL_OBJ}
21 $(LD
) -o
$@
-T kernel
/linker.
ld ${KERNEL_OBJ}
23 kernel
/entry.o
: kernel
/entry.s
24 $(AS
) -f elf kernel
/entry.s
-o
$@
26 kernel
/arch
/x86
/tty
/tty.o
: kernel
/arch
/x86
/tty
/tty.c
28 kernel
/drivers
/irq
/i8259a.o
: kernel
/drivers
/irq
/i8259a.c
30 kernel
/arch
/x86
/irq
/idt.o
: kernel
/arch
/x86
/irq
/idt.c
32 kernel
/arch
/x86
/irq
/sample_handler.o
: kernel
/arch
/x86
/irq
/sample_handler.c
33 $(CC
) $(CFLAGS
) -mgeneral-regs-only
-c kernel
/arch
/x86
/irq
/sample_handler.c
-o
$@
35 kernel
/kernel.o
: kernel
/kernel.c
37 kernel
/kernel.elf
: kernel
/kernel.bin
38 $(LD
) -o
$@
-T kernel
/linker.
ld ${KERNEL_OBJ} --oformat
=elf32-i386
41 rm boot
/x86
/boot kernel
/kernel.bin kernel
/kernel.elf
${KERNEL_OBJ} boot.img