This repository has been archived by the owner on Sep 25, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.ninja
111 lines (77 loc) · 3.02 KB
/
build.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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
rule strip
command = strip -o $out $in
rule gcc
command = gcc -Os -o $out $in
rule gcc.nostdlib
command = gcc -Os -nostdlib -o $out $in
rule gxx
command = g++ -Os -o $out $in
rule clang
command = clang -Os -o $out $in
rule clang.nostdlib
command = clang -Os -nostdlib -o $out $in
rule tcc
command = tcc -o $out $in
rule go
command = go build -compiler gc -o $out $in
pool crystal_pool
depth = 1
rule crystal
command = crystal build --release -o $out $in
pool = crystal_pool
rule crystal.static
command = crystal build --release --static -o $out $in
pool = crystal_pool
rule rustc.o3
command = rustc -C debuginfo=0 -C opt-level=3 -o $out $in
# requires nightly rust
#rule rustc.os
# command = rustc -C debuginfo=0 -C opt-level=s -o $out $in
rule ghc
command = ghc -O -o $out $in
rule ocaml
command = ocamlopt.opt -O2 -o $out $in
rule llc
command = llc -O3 -x86-asm-syntax=intel -o $out $in
rule gas
command = as -o $out $in
rule nasm
command = nasm -f elf64 -Ox -o $out $in
rule ld
command = ld -s -S -o $out $in
build bin/false-main.c-gcc.os: gcc src/main.c
build bin/false-main.c-gcc.os-strip: strip bin/false-main.c-gcc.os
build bin/false-asm.c-gcc.nostdlib: gcc.nostdlib src/asm.c
build bin/false-asm.c-gcc.nostdlib-strip: strip bin/false-asm.c-gcc.nostdlib
build bin/false-main.c-clang.os: clang src/main.c
build bin/false-main.c-clang.os-strip: strip bin/false-main.c-clang.os
build bin/false-asm.c-clang.nostdlib: clang.nostdlib src/asm.c
build bin/false-asm.c-clang.nostdlib-strip: strip bin/false-asm.c-clang.nostdlib
build bin/false-main.c-tcc: tcc src/main.c
build bin/false-main.c-tcc-strip: strip bin/false-main.c-tcc
build bin/false-main.go-gc: go src/main.go
build bin/false-main.go-gc-strip: strip bin/false-main.go-gc
build bin/false-main.cr-simple: crystal src/main.cr
build bin/false-main.cr-simple-strip: strip bin/false-main.cr-simple
build bin/false-main.cr-static: crystal.static src/main.cr
build bin/false-main.cr-static-strip: strip bin/false-main.cr-static
build bin/false-main.rs-o3: rustc.o3 src/main.rs
build bin/false-main.rs-o3-strip: strip bin/false-main.rs-o3
#build bin/false-main.rs-os: rustc.os src/main.rs
#build bin/false-main.rs-os-strip: strip bin/false-main.rs-os
build bin/false-main.c-gxx.os: gxx src/main.cpp
build bin/false-main.c-gxx.os-strip: strip bin/false-main.c-gxx.os
build bin/false-main.hs: ghc src/main.hs
build bin/false-main.hs-strip: strip bin/false-main.hs
build bin/false-main.ml: ocaml src/main.ml
build bin/false-main.ml-strip: strip bin/false-main.ml
build tmp/false-main.ll.s: llc src/main.ll
build tmp/false-main.ll-gas: gas tmp/false-main.ll.s
build bin/false-main.ll-gas: ld tmp/false-main.ll-gas
build bin/false-main.ll-gas-strip: strip bin/false-main.ll-gas
build tmp/false-main.nasm: nasm src/main.nasm
build bin/false-main.nasm: ld tmp/false-main.nasm
build bin/false-main.nasm-strip: strip bin/false-main.nasm
build tmp/false-main.s: gas src/main.s
build bin/false-main.s: ld tmp/false-main.s
build bin/false-main.s-strip: strip bin/false-main.s