-
Notifications
You must be signed in to change notification settings - Fork 1
/
build.ninja
90 lines (73 loc) · 6.33 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
outputDirname = output
hostOutputDirname = $outputDirname/host
embeddedOutputDirname = $outputDirname/embedded
# embeddedPrefix = /Users/daniel/Projects/Tools/gcc-arm-none-eabi-10.3-2021.10/bin/arm-none-eabi-
include local.ninja
rule compileHost
command = rm -f $$(dirname $out)/$$(basename $out .o).{gcda,gcno} && ccache clang -Wall -Werror -Wpedantic -fsanitize=undefined,address -Iinclude -O0 -g3 --coverage -DRESOLVBUS_DEBUG=1 -DRESOLVBUS_DEBUG_BACKTRACELENGTH=16384 -MD -MF $out.d -c -o $out $in
depfile = $out.d
rule archiveHost
command = rm -f $out && ccache ar rcs $out $in
rule linkHost
command = ccache clang -Wall -Werror -fsanitize=undefined,address --coverage -o $out $in
rule compileEmbedded
command = ccache ${embeddedPrefix}gcc -Wall -Werror -Iinclude -O3 -MD -MF $out.d -c -o $out $in
depfile = $out.d
rule archiveEmbedded
command = rm -f $out && ccache ${embeddedPrefix}ar rcs $out $in
build $hostOutputDirname/tmp/src/ResolVBusBase.o: compileHost src/ResolVBusBase.c
build $hostOutputDirname/tmp/src/ResolVBusDebug.o: compileHost src/ResolVBusDebug.c
build $hostOutputDirname/tmp/src/ResolVBusLiveDecoder.o: compileHost src/ResolVBusLiveDecoder.c
build $hostOutputDirname/tmp/src/ResolVBusLiveEncoder.o: compileHost src/ResolVBusLiveEncoder.c
build $hostOutputDirname/tmp/src/ResolVBusLiveTransceiver.o: compileHost src/ResolVBusLiveTransceiver.c
build $hostOutputDirname/tmp/test/BaseTestSuite.o: compileHost test/BaseTestSuite.c
build $hostOutputDirname/tmp/test/DebugTestSuite.o: compileHost test/DebugTestSuite.c
build $hostOutputDirname/tmp/test/LiveDecoderTestSuite.o: compileHost test/LiveDecoderTestSuite.c
build $hostOutputDirname/tmp/test/LiveEncoderTestSuite.o: compileHost test/LiveEncoderTestSuite.c
build $hostOutputDirname/tmp/test/LiveTransceiverTestSuite.o: compileHost test/LiveTransceiverTestSuite.c
build $hostOutputDirname/tmp/test/AccessoryBridgeExampleTest.o: compileHost test/AccessoryBridgeExampleTest.c
build $hostOutputDirname/tmp/test/MasterExampleTest.o: compileHost test/MasterExampleTest.c
build $hostOutputDirname/tmp/test/MinionExampleTest.o: compileHost test/MinionExampleTest.c
build $hostOutputDirname/tmp/test/ParameterizationExampleTest.o: compileHost test/ParameterizationExampleTest.c
build $hostOutputDirname/tmp/test/TestData.o: compileHost test/TestData.c
build $hostOutputDirname/tmp/test/TestMain.o: compileHost test/TestMain.c
build $hostOutputDirname/lib/libResolVBus.a: archiveHost $hostOutputDirname/tmp/src/ResolVBusBase.o $
$hostOutputDirname/tmp/src/ResolVBusDebug.o $
$hostOutputDirname/tmp/src/ResolVBusLiveDecoder.o $
$hostOutputDirname/tmp/src/ResolVBusLiveEncoder.o $
$hostOutputDirname/tmp/src/ResolVBusLiveTransceiver.o $
build $hostOutputDirname/bin/ResolVBusTest: linkHost $hostOutputDirname/tmp/src/ResolVBusBase.o $
$hostOutputDirname/tmp/src/ResolVBusDebug.o $
$hostOutputDirname/tmp/src/ResolVBusLiveDecoder.o $
$hostOutputDirname/tmp/src/ResolVBusLiveEncoder.o $
$hostOutputDirname/tmp/src/ResolVBusLiveTransceiver.o $
$
$hostOutputDirname/tmp/test/BaseTestSuite.o $
$hostOutputDirname/tmp/test/DebugTestSuite.o $
$hostOutputDirname/tmp/test/LiveDecoderTestSuite.o $
$hostOutputDirname/tmp/test/LiveEncoderTestSuite.o $
$hostOutputDirname/tmp/test/LiveTransceiverTestSuite.o $
$hostOutputDirname/tmp/test/AccessoryBridgeExampleTest.o $
$hostOutputDirname/tmp/test/MasterExampleTest.o $
$hostOutputDirname/tmp/test/MinionExampleTest.o $
$hostOutputDirname/tmp/test/ParameterizationExampleTest.o $
$hostOutputDirname/tmp/test/TestData.o $
$hostOutputDirname/tmp/test/TestMain.o $
build hostTests: phony $hostOutputDirname/bin/ResolVBusTest
build $embeddedOutputDirname/tmp/src/ResolVBusBase.o: compileEmbedded src/ResolVBusBase.c
build $embeddedOutputDirname/tmp/src/ResolVBusLiveDecoder.o: compileEmbedded src/ResolVBusLiveDecoder.c
build $embeddedOutputDirname/tmp/src/ResolVBusLiveEncoder.o: compileEmbedded src/ResolVBusLiveEncoder.c
build $embeddedOutputDirname/tmp/src/ResolVBusLiveTransceiver.o: compileEmbedded src/ResolVBusLiveTransceiver.c
build $embeddedOutputDirname/lib/libResolVBus.a: archiveEmbedded $embeddedOutputDirname/tmp/src/ResolVBusBase.o $
$embeddedOutputDirname/tmp/src/ResolVBusLiveDecoder.o $
$embeddedOutputDirname/tmp/src/ResolVBusLiveEncoder.o $
$embeddedOutputDirname/tmp/src/ResolVBusLiveTransceiver.o $
build $embeddedOutputDirname/tmp/examples/AccessoryBridge.o: compileEmbedded examples/AccessoryBridge.c
build $embeddedOutputDirname/tmp/examples/Master.o: compileEmbedded examples/Master.c
build $embeddedOutputDirname/tmp/examples/Minion.o: compileEmbedded examples/Minion.c
build $embeddedOutputDirname/tmp/examples/Parameterization.o: compileEmbedded examples/Parameterization.c
build embeddedExamples: phony $embeddedOutputDirname/tmp/examples/AccessoryBridge.o $
$embeddedOutputDirname/tmp/examples/Master.o $
$embeddedOutputDirname/tmp/examples/Minion.o $
$embeddedOutputDirname/tmp/examples/Parameterization.o $
default $hostOutputDirname/lib/libResolVBus.a $hostOutputDirname/bin/ResolVBusTest $embeddedOutputDirname/lib/libResolVBus.a embeddedExamples