【发布时间】:2019-12-23 11:29:14
【问题描述】:
我想将“foo.c”构建为一个库,然后在生成的 .so 而不是“.a”上执行“readelf”,如何在 bazel 中编写它?
以下 BUILD.bazel 文件不起作用:
cc_library(
name = "foo",
srcs = ["foo.c"],
)
genrule(
name = "readelf_foo",
srcs = ["libfoo.so"],
outs = ["readelf_foo.txt"],
cmd = "readelf -a $(SRCS) > $@",
)
错误是“缺少输入文件'//:libfoo.so'”。
将 genrule 的 srcs 属性更改为 ":foo" 会将 ".a" 和 ".so" 文件都传递给 readelf,这不是我需要的。
有没有办法指定 ":foo" 的哪个输出传递给 genrule?
【问题讨论】:
标签: bazel