aboutsummaryrefslogtreecommitdiff
path: root/build.ninja
blob: 77801bb5ce6c13a0f51c76ffa917a1460523e833 (plain)
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
ninja_required_version = 1.4

gnubuilddir = build
gnudefines = 
gnuincludes = -I.
gnucflags = -O2 -g
gnucxxflags = -O2 -g -pedantic -Wall -Wextra -Wcast-align -Wcast-qual $
    -Wctor-dtor-privacy -Wdisabled-optimization -Wformat=2 -Winit-self $
    -Wmissing-declarations -Wmissing-include-dirs -Wold-style-cast $
    -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-conversion $
    -Wsign-promo -Wstrict-overflow=5 -Wswitch-default -Wundef -Werror $
    -Wno-unused -fsanitize=address
gnuldflags = -fsanitize=address

pool link_pool
  depth = 1

rule gnucxx
  command = $gnucxx -MMD -MF $out.d $gnudefines $gnuincludes $gnucxxflags $
      -c $in -o $out
  description = CXX $out
  depfile = $out.d
  deps = gcc
rule gnucc
  command = $gnucc -MMD -MF $out.d $gnudefines $gnuincludes $gnucflags -c $
      $in -o $out
  description = CC $out
  depfile = $out.d
  deps = gcc
rule gnulink
  command = $gnuld -o $out $in $libs $gnuldflags
  description = LINK $out
  pool = link_pool
rule gnuar
  command = $gnuar rsc $out $in
  description = AR $out
  pool = link_pool
rule gnustamp
  command = touch $out
  description = STAMP $out

gnucxx = g++
gnucc = gcc
gnuld = $gnucxx
gnuar = ar

build loader_example.o: gnucxx loader_example.cc


build loader_example: gnulink loader_example.o
build all: phony loader_example

default all