1COPTS = [ 2 "-Wall", 3 "-Werror", 4 "-Wno-macro-redefined", 5 "-Wno-missing-field-initializers", 6 "-Wno-sign-compare", 7 "-Wno-unused-parameter", 8] 9 10cc_library( 11 name = "libfdt", 12 srcs = glob([ 13 "libfdt/*.h", 14 "libfdt/*.c", 15 ]), 16 copts = COPTS, 17 includes = ["libfdt"], 18) 19 20genrule( 21 name = "dtc_lexer_srcs", 22 srcs = ["dtc-lexer.l"], 23 outs = ["dtc-lexer.lex.c"], 24 cmd = "lex -o $@ $<", 25) 26 27genrule( 28 name = "dtc_parser_srcs", 29 srcs = ["dtc-parser.y"], 30 outs = [ 31 "dtc-parser.c", 32 "dtc-parser.h", 33 ], 34 cmd = "bison -d -o $(location dtc-parser.c) $(location dtc-parser.y)", 35) 36 37UTILS = [ 38 "util.c", 39 "util.h", 40 ":version_gen_header", 41] 42 43genrule( 44 name = "version_gen_header", 45 outs = ["version_gen.h"], 46 srcs = [ 47 "METADATA", 48 "METADATA_version.sed", 49 "version_gen.h.in", 50 ], 51 cmd = """ 52 version="$$(sed -f $(location METADATA_version.sed) -n $(location METADATA))-Android-build" 53 sed s/@VCS_TAG@/$${version}/ $(location version_gen.h.in) > $@ 54 """, 55) 56 57cc_binary( 58 name = "dtc", 59 srcs = UTILS + [ 60 ":dtc_lexer_srcs", 61 ":dtc_parser_srcs", 62 "checks.c", 63 "data.c", 64 "dtc.c", 65 "dtc.h", 66 "flattree.c", 67 "fstree.c", 68 "livetree.c", 69 "srcpos.c", 70 "srcpos.h", 71 "treesource.c", 72 ], 73 copts = COPTS, 74 defines = ["NO_YAML"], 75 deps = [":libfdt"], 76) 77 78cc_binary( 79 name = "fdtget", 80 srcs = UTILS + [ 81 "fdtget.c", 82 ], 83 copts = COPTS, 84 defines = ["NO_YAML"], 85 deps = [":libfdt"], 86) 87 88cc_binary( 89 name = "fdtput", 90 srcs = UTILS + [ 91 "fdtput.c", 92 ], 93 copts = COPTS, 94 defines = ["NO_YAML"], 95 deps = [":libfdt"], 96) 97 98cc_binary( 99 name = "fdtdump", 100 srcs = UTILS + [ 101 "fdtdump.c", 102 ], 103 copts = COPTS, 104 defines = ["NO_YAML"], 105 deps = [":libfdt"], 106) 107 108cc_binary( 109 name = "fdtoverlay", 110 srcs = UTILS + [ 111 "fdtoverlay.c", 112 ], 113 copts = COPTS, 114 defines = ["NO_YAML"], 115 deps = [":libfdt"], 116) 117