-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathrules.ninja
27 lines (26 loc) · 870 Bytes
/
rules.ninja
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
NASMARGS = -f elf32
LDARGS = -m elf_i386 -T ./src/arch/i386/linker.ld -nostdlib -z noexecstack
CCARGS = -m32 -std=gnu99 -ffreestanding -fcompare-debug -Wall -Wextra -Wno-implicit-function-declaration -fno-diagnostics-show-caret -c
CCINCLUDES = -L./libs -lc -I ./src/arch/i386/kernel/include
ARARGS = -rcs
rule HELP
command = ninja -t targets
description = targets available:
rule CLEAN
command = ninja -t clean
description = cleaning built files
rule ar
command = ar $ARARGS $out $in
description = --AR archiving $in
rule gcc
command = gcc $CCINCLUDES $CCARGS $in -o $out
description = --GCC compiling $in
rule nasm
command = nasm $NASMARGS -o $out $in
description = --NASM compiling $in
rule ld
command = ld $LDARGS -o $out $in
description = --LD linking $in
rule iso
command = grub-mkrescue -o $out $in
description = creating fgOS iso