platform_external_dtc/BUILD.bazel
John Moon b148d78706 build: Add BUILD.bazel file
Currently, the dtc project builds with Make.

As some consumers of this project use Bazel, and eventually all of
AOSP will need to move to Bazel anyway, add a a Bazel build
definition.

Bug: 251879933
Change-Id: I62ea59ee306eda58b764df2a9e5f2f33778e4b5c
Signed-off-by: John Moon <quic_johmoo@quicinc.com>
2023-04-28 09:19:45 -07:00

129 lines
2.1 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 = "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"],
)