123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- load("@//build/kernel/kleaf:hermetic_tools.bzl", "hermetic_genrule")
- cc_library(
- name = "libfdt",
- copts = [
- "-Werror",
- "-Wno-macro-redefined",
- "-Wno-sign-compare",
- ],
- includes = ["libfdt"],
- srcs = glob([
- "libfdt/*.h",
- "libfdt/*.c",
- ]),
- target_compatible_with = ["@platforms//os:linux"],
- visibility = ["//visibility:public"],
- )
- copts = [
- "-Wall",
- "-Werror",
- "-Wno-sign-compare",
- "-Wno-missing-field-initializers",
- "-Wno-unused-parameter",
- ]
- hermetic_genrule(
- name = "lexer",
- srcs = ["dtc-lexer.l"],
- outs = ["dtc-lexer.lex.c"],
- cmd = "flex -o$@ $(location dtc-lexer.l)"
- )
- hermetic_genrule(
- name = "parser",
- srcs = ["dtc-parser.y"],
- outs = ["dtc-parser.tab.c", "dtc-parser.tab.h"],
- cmd = """
- bison -b dtc-parser -d $(location dtc-parser.y)
- cp ./*.tab.c $(location dtc-parser.tab.c)
- cp ./*.tab.h $(location dtc-parser.tab.h)
- """,
- )
- cc_library(
- name = "dtc_gen",
- copts = copts,
- srcs = [
- ":lexer",
- ":parser",
- ] + glob(["*.h"]),
- includes = ["."],
- deps = [":libfdt"],
- target_compatible_with = ["@platforms//os:linux"],
- visibility = ["//visibility:public"],
- )
- cc_binary(
- name = "dtc",
- copts = copts,
- defines = ["NO_YAML"],
- srcs = [
- "checks.c",
- "data.c",
- "dtc.c",
- "flattree.c",
- "fstree.c",
- "livetree.c",
- "srcpos.c",
- "treesource.c",
- "util.c",
- ] + glob(["*.h"]),
- includes = ["."],
- deps = [":libfdt", ":dtc_gen"],
- target_compatible_with = ["@platforms//os:linux"],
- visibility = ["//visibility:public"],
- )
- cc_binary(
- name = "fdtget",
- copts = copts,
- defines = ["NO_YAML"],
- srcs = [
- "fdtget.c",
- "util.c",
- "util.h",
- "version_non_gen.h",
- ],
- deps = [":libfdt"],
- target_compatible_with = ["@platforms//os:linux"],
- visibility = ["//visibility:public"],
- )
- cc_binary(
- name = "fdtput",
- copts = copts,
- defines = ["NO_YAML"],
- srcs = [
- "fdtput.c",
- "util.c",
- "util.h",
- "version_non_gen.h",
- ],
- deps = [":libfdt"],
- target_compatible_with = ["@platforms//os:linux"],
- visibility = ["//visibility:public"],
- )
- cc_binary(
- name = "fdtdump",
- copts = copts,
- defines = ["NO_YAML"],
- srcs = [
- "fdtdump.c",
- "util.c",
- "util.h",
- "version_non_gen.h",
- ],
- deps = [":libfdt"],
- target_compatible_with = ["@platforms//os:linux"],
- visibility = ["//visibility:public"],
- )
- cc_binary(
- name = "fdtoverlay",
- copts = copts,
- defines = ["NO_YAML"],
- srcs = [
- "fdtoverlay.c",
- "util.c",
- "util.h",
- "version_non_gen.h",
- ],
- deps = [":libfdt"],
- target_compatible_with = ["@platforms//os:linux"],
- visibility = ["//visibility:public"],
- )
- cc_binary(
- name = "fdtoverlaymerge",
- copts = copts,
- defines = ["NO_YAML"],
- srcs = [
- "fdtoverlaymerge.c",
- "util.c",
- "util.h",
- "version_non_gen.h",
- ],
- deps = [":libfdt"],
- target_compatible_with = ["@platforms//os:linux"],
- visibility = ["//visibility:public"],
- )
- exports_files([
- "libfdt/fdt.h",
- "libfdt/libfdt.h",
- "libfdt/libfdt_env.h",
- ])
|