c8d1d863ab
Simplify the build file as - dtc_gen creates an unnecessarily broad (and confusing) dependency list by using glob([".h"]) as its header list. Instead, dtc now lists explicitly the few headers it actually needs; - generating dtc-lexer.lex.c does not require dtc-parser.{c,h}; - Bison can be told to directly create dtc-parser.{c,h} so no need for an unnecessarily broad copying of *.[ch] to move some intermediate results. As a result, we get two genrule() wrapping the source files respectively generated through lex and bison, which can be listed as srcs of dtc. Test: bazel build //:all Change-Id: I238d963af8a338c46f39c8ba9e4314fe536948cf
105 lines
1.7 KiB
Python
105 lines
1.7 KiB
Python
cc_library(
|
|
name = "libfdt",
|
|
srcs = glob([
|
|
"libfdt/*.h",
|
|
"libfdt/*.c",
|
|
]),
|
|
copts = [
|
|
"-Werror",
|
|
"-Wno-macro-redefined",
|
|
"-Wno-sign-compare",
|
|
],
|
|
includes = ["libfdt"],
|
|
)
|
|
|
|
COPTS = [
|
|
"-Wall",
|
|
"-Werror",
|
|
"-Wno-sign-compare",
|
|
"-Wno-missing-field-initializers",
|
|
"-Wno-unused-parameter",
|
|
]
|
|
|
|
genrule(
|
|
name = "dtc_lexer_srcs",
|
|
srcs = ["dtc-lexer.l"],
|
|
outs = ["dtc-lexer.lex.c"],
|
|
cmd = "lex -o $@ $<",
|
|
)
|
|
|
|
genrule(
|
|
name = "dtc_parser_srcs",
|
|
srcs = ["dtc-parser.y"],
|
|
outs = [
|
|
"dtc-parser.c",
|
|
"dtc-parser.h",
|
|
],
|
|
cmd = "bison -d -o $(location dtc-parser.c) $(location dtc-parser.y)",
|
|
)
|
|
|
|
UTILS = [
|
|
"util.c",
|
|
"util.h",
|
|
"version_non_gen.h",
|
|
]
|
|
|
|
cc_binary(
|
|
name = "dtc",
|
|
srcs = UTILS + [
|
|
":dtc_lexer_srcs",
|
|
":dtc_parser_srcs",
|
|
"checks.c",
|
|
"data.c",
|
|
"dtc.c",
|
|
"dtc.h",
|
|
"flattree.c",
|
|
"fstree.c",
|
|
"livetree.c",
|
|
"srcpos.c",
|
|
"srcpos.h",
|
|
"treesource.c",
|
|
],
|
|
copts = COPTS,
|
|
defines = ["NO_YAML"],
|
|
deps = [":libfdt"],
|
|
)
|
|
|
|
cc_binary(
|
|
name = "fdtget",
|
|
srcs = UTILS + [
|
|
"fdtget.c",
|
|
],
|
|
copts = COPTS,
|
|
defines = ["NO_YAML"],
|
|
deps = [":libfdt"],
|
|
)
|
|
|
|
cc_binary(
|
|
name = "fdtput",
|
|
srcs = UTILS + [
|
|
"fdtput.c",
|
|
],
|
|
copts = COPTS,
|
|
defines = ["NO_YAML"],
|
|
deps = [":libfdt"],
|
|
)
|
|
|
|
cc_binary(
|
|
name = "fdtdump",
|
|
srcs = UTILS + [
|
|
"fdtdump.c",
|
|
],
|
|
copts = COPTS,
|
|
defines = ["NO_YAML"],
|
|
deps = [":libfdt"],
|
|
)
|
|
|
|
cc_binary(
|
|
name = "fdtoverlay",
|
|
srcs = UTILS + [
|
|
"fdtoverlay.c",
|
|
],
|
|
copts = COPTS,
|
|
defines = ["NO_YAML"],
|
|
deps = [":libfdt"],
|
|
)
|