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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
cc_library(
name = "libfdt",
srcs = glob([
"libfdt/*.h",
"libfdt/*.c",
]),
copts = [
"-Werror",
"-Wno-macro-redefined",
"-Wno-sign-compare",
],
includes = ["libfdt"],
)
COPTS = [
"-Wall",
"-Werror",
"-Wno-macro-redefined",
"-Wno-sign-compare",
"-Wno-missing-field-initializers",
"-Wno-unused-parameter",
]
genrule(
name = "lexer",
srcs = [
"dtc-lexer.l",
":parser",
],
outs = ["dtc-lexer.lex.c"],
cmd = "lex -o$@ $(location dtc-lexer.l)",
)
genrule(
name = "parser",
srcs = ["dtc-parser.y"],
outs = [
"dtc-parser.c",
"dtc-parser.h",
],
cmd = """
bison -b dtc-parser -d $(location dtc-parser.y)
cp ./*.c $(location dtc-parser.c)
cp ./*.h $(location dtc-parser.h)
""",
)
cc_library(
name = "dtc_gen",
srcs = [
":lexer",
":parser",
],
hdrs = glob(["*.h"]),
copts = COPTS,
deps = [":libfdt"],
)
cc_binary(
name = "dtc",
srcs = [
"checks.c",
"data.c",
"dtc.c",
"flattree.c",
"fstree.c",
"livetree.c",
"srcpos.c",
"treesource.c",
"util.c",
],
copts = COPTS,
defines = ["NO_YAML"],
deps = [
":dtc_gen",
":libfdt",
],
)
cc_binary(
name = "fdtget",
srcs = [
"fdtget.c",
"util.c",
"util.h",
"version_non_gen.h",
],
copts = COPTS,
defines = ["NO_YAML"],
deps = [":libfdt"],
)
cc_binary(
name = "fdtput",
srcs = [
"fdtput.c",
"util.c",
"util.h",
"version_non_gen.h",
],
copts = COPTS,
defines = ["NO_YAML"],
deps = [":libfdt"],
)
cc_binary(
name = "fdtdump",
srcs = [
"fdtdump.c",
"util.c",
"util.h",
"version_non_gen.h",
],
copts = COPTS,
defines = ["NO_YAML"],
deps = [":libfdt"],
)
cc_binary(
name = "fdtoverlay",
srcs = [
"fdtoverlay.c",
"util.c",
"util.h",
"version_non_gen.h",
],
copts = COPTS,
defines = ["NO_YAML"],
deps = [":libfdt"],
)
|